{ "id": "148707", "key": "TIMOB-19006", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "16925", "description": "WatchKit Support--all going into 5.0 now", "name": "Release 5.0.0", "archived": true, "released": true, "releaseDate": "2015-09-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-08-17T03:39:59.000+0000", "created": "2015-06-11T21:51:08.000+0000", "epic": { "id": 149396, "key": "TIMOB-19145", "name": "iOS: iOS 9 Updates", "summary": "iOS: iOS9 Updates", "color": { "key": "color_1" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [ "IOS9", "search", "spotlight" ], "versions": [], "issuelinks": [ { "id": "48795", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "150733", "key": "TIMOB-19415", "fields": { "summary": "iOS9: Expose UTType constants for SearchableItemAttributeSet", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-21T18:36:21.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Implement NSUserActivity to enable Core Spotlight access.\r\n\r\nThe following snippet from Apple shows this could be a straightforward Ti API.\r\n\r\n{code}\r\n// Create an attribute set that specifies a related unique ID for a Core Spotlight item.\r\n\r\nCSSearchableItemAttributeSet *attributes = [[CSSearchableItemAttributeSet alloc] initWithItemContentType:@\"public.image\"];\r\n\r\nattributes.relatedUniqueIdentifier = coreSpotlightUniqueIdentifier;\r\n\r\n// Use the attribute set to create an NSUserActivity that's related to a Core Spotlight item.\r\nNSUserActivity *userActivity = [[NSUserActivity alloc]\r\n initWithActivityType:@“com.mycompany.viewing-message”];\r\n\r\nuserActivity.contentAttributeSet = attributes;\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "iOS9: Implement NSUserActivity Core Spotlight", "creator": { "name": "ben.bahrenburg@gmail.com", "key": "ben.bahrenburg@gmail.com", "displayName": "Ben Bahrenburg", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ben.bahrenburg@gmail.com", "key": "ben.bahrenburg@gmail.com", "displayName": "Ben Bahrenburg", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 451, "state": "closed", "name": "2015 Sprint 16 SDK", "startDate": "2015-08-01T00:30:05.052Z", "endDate": "2015-08-15T00:30:00.000Z", "completeDate": "2015-08-17T05:55:00.386Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "356744", "author": { "name": "ben.bahrenburg@gmail.com", "key": "ben.bahrenburg@gmail.com", "displayName": "Ben Bahrenburg", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Ti.CoreSpotLight created with a proxy for SearchItem. Apple in the latest beta added a few additional methods which need to be refactored into the Ti.CoreSpotlight module methods", "updateAuthor": { "name": "ben.bahrenburg@gmail.com", "key": "ben.bahrenburg@gmail.com", "displayName": "Ben Bahrenburg", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-02T16:19:48.000+0000", "updated": "2015-07-02T16:19:48.000+0000" }, { "id": "358260", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "new doc reference: https://developer.apple.com/library/prerelease/ios/documentation/CoreSpotlight/Reference/CoreSpotlight_Framework/index.html#//apple_ref/doc/uid/TP40016250", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-07-24T16:43:34.000+0000", "updated": "2015-07-24T16:43:34.000+0000" }, { "id": "359986", "author": { "name": "ben.bahrenburg@gmail.com", "key": "ben.bahrenburg@gmail.com", "displayName": "Ben Bahrenburg", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR added https://github.com/appcelerator/titanium_mobile/pull/7029\r\n\r\nIt is saying that the PR needs to be manually merged due to conflicts.", "updateAuthor": { "name": "ben.bahrenburg@gmail.com", "key": "ben.bahrenburg@gmail.com", "displayName": "Ben Bahrenburg", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-08-16T11:24:20.000+0000", "updated": "2015-08-16T11:24:20.000+0000" }, { "id": "360000", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closed Ben's PR in favour of https://github.com/appcelerator/titanium_mobile/pull/7034, which contains Ben's commits as well as some additional doc and code fixes.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-08-17T03:05:15.000+0000", "updated": "2015-08-17T03:05:15.000+0000" }, { "id": "360004", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "CR and FT passed. PR merged.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-08-17T03:39:48.000+0000", "updated": "2015-08-17T03:39:48.000+0000" }, { "id": "361024", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR here to fix *keyWord* to *keyword*. https://github.com/appcelerator/titanium_mobile/pull/7066\r\nPR Merged.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-08-25T03:51:18.000+0000", "updated": "2015-08-25T04:07:32.000+0000" }, { "id": "361535", "author": { "name": "rblalock", "key": "rblalock", "displayName": "Rick Blalock", "active": false, "timeZone": "America/Havana" }, "body": "I can get this to index most the time. Sometimes it crashes. Here is the info I have:\r\n\r\n{code}\r\n[TRACE] [Fish Rules App] 1 0x10af8714b TiBindingEventProcess\r\n[TRACE] [Fish Rules App] 2 0x10af87598 -[TiBindingCallbackInvoke invoke:]\r\n[TRACE] [Fish Rules App] 3 0x10ad53bef -[KrollContext invoke:]\r\n[TRACE] [Fish Rules App] 4 0x10ad53caa __24-[KrollContext enqueue:]_block_invoke\r\n[TRACE] [Fish Rules App] 5 0x1143caea9 _dispatch_call_block_and_release\r\n[TRACE] [Fish Rules App] 6 0x1143e64c7 _dispatch_client_callout\r\n[TRACE] [Fish Rules App] 7 0x1143d107d _dispatch_main_queue_callback_4CF\r\n[TRACE] [Fish Rules App] 8 0x110872e69 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__\r\n[TRACE] [Fish Rules App] 9 0x1108343b9 __CFRunLoopRun\r\n[TRACE] [Fish Rules App] 10 0x110833918 CFRunLoopRunSpecific\r\n[TRACE] [Fish Rules App] 11 0x1115d1ad2 GSEventRunModal\r\n[TRACE] [Fish Rules App] 12 0x10d21b99e UIApplicationMain\r\n[TRACE] [Fish Rules App] 13 0x10ad35d26 main\r\n[TRACE] [Fish Rules App] 14 0x11441692d start\r\n{code}\r\n\r\n{code}\r\nThread 0 Crashed:: Dispatch queue: com.apple.main-thread\r\n0 com.fishrulesapp.fishrules \t0x000000010b2f3b0e Ti_WTFCrash + 62\r\n1 com.fishrulesapp.fishrules \t0x000000010b16b7ed TiObjectSetProperty + 685\r\n2 com.fishrulesapp.fishrules \t0x000000010af8714b TiBindingEventProcess + 539\r\n3 com.fishrulesapp.fishrules \t0x000000010af87598 -[TiBindingCallbackInvoke invoke:] + 56\r\n4 com.fishrulesapp.fishrules \t0x000000010ad53bef -[KrollContext invoke:] + 159\r\n5 com.fishrulesapp.fishrules \t0x000000010ad53caa __24-[KrollContext enqueue:]_block_invoke + 42\r\n6 libdispatch.dylib \t0x00000001143caea9 _dispatch_call_block_and_release + 12\r\n7 libdispatch.dylib \t0x00000001143e64c7 _dispatch_client_callout + 8\r\n8 libdispatch.dylib \t0x00000001143d107d _dispatch_main_queue_callback_4CF + 714\r\n9 com.apple.CoreFoundation \t0x0000000110872e69 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9\r\n10 com.apple.CoreFoundation \t0x00000001108343b9 __CFRunLoopRun + 2073\r\n11 com.apple.CoreFoundation \t0x0000000110833918 CFRunLoopRunSpecific + 488\r\n12 com.apple.GraphicsServices \t0x00000001115d1ad2 GSEventRunModal + 161\r\n13 com.apple.UIKit \t0x000000010d21b99e UIApplicationMain + 171\r\n14 com.fishrulesapp.fishrules \t0x000000010ad35d26 main + 310\r\n15 libdyld.dylib \t0x000000011441692d start + 1\r\n{code}\r\n\r\nHere's the items I'm indexing:\r\n\r\n{code}\r\n\t\tif (App.Device.versionMajor >= 9) {\r\n\t\t\tvar searchItems = [];\r\n\t\t\tdata.forEach(function (_row) {\r\n\t\t\t\tvar itemAttr = Ti.App.iOS.createSearchableItemAttributeSet({\r\n\t\t\t\t itemContentType: \"public.content\",\r\n\t\t\t\t title: _row.specie_name,\r\n\t\t\t\t\tcontentDescription: \"fishing regulation\",\r\n\t\t\t\t keywords: [_row.specie_name]\r\n\t\t\t\t});\r\n\r\n\t\t\t\tvar item = Ti.App.iOS.createSearchableItem({\r\n\t\t\t\t identifier: \"fishrules_\" + _row.specie_fish_id,\r\n\t\t\t\t domainIdentifier: \"com.fishrulesapp.fishrules\",\r\n\t\t\t\t attributeSet: itemAttr\r\n\t\t\t\t});\r\n\t\t\t\tsearchItems.push(item);\r\n\t\t\t});\r\n\r\n\t\t\tvar indexer = Ti.App.iOS.createSearchableIndex();\r\n\t\t\tindexer.addToDefaultSearchableIndex(searchItems, function(e) {});\r\n\t\t}\r\n{code}", "updateAuthor": { "name": "rblalock", "key": "rblalock", "displayName": "Rick Blalock", "active": false, "timeZone": "America/Havana" }, "created": "2015-08-28T01:29:45.000+0000", "updated": "2015-08-28T01:29:45.000+0000" }, { "id": "361713", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR here for missing imageData property and fix for URL: https://github.com/appcelerator/titanium_mobile/pull/7096\r\nApproved and merged.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-08-31T07:35:14.000+0000", "updated": "2015-08-31T07:47:35.000+0000" }, { "id": "361865", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "PR here to implement thread-safe methods which will solve Rick's issues:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/7104\r\nApproved and merged.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-09-01T02:32:53.000+0000", "updated": "2015-09-01T03:09:46.000+0000" }, { "id": "414293", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-21T18:36:21.000+0000", "updated": "2017-03-21T18:36:21.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }