{ "id": "132012", "key": "AC-1407", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2014-06-26T21:51:29.000+0000", "created": "2014-06-19T23:16:28.000+0000", "labels": [ "ble", "bluetooth", "ibeacon", "ios" ], "versions": [], "issuelinks": [ { "id": "39377", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "133794", "key": "TIMOB-17473", "fields": { "summary": "iOS: Bluetooth LE state restoration callbacks are blocked in Titanium", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "updated": "2016-03-08T07:37:49.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "The following 2 callbacks never get called in Titanium when adding handling for the callback in a module.\r\n\r\n- (void)centralManager:(CBCentralManager *)central willRestoreState:(NSDictionary *)dict\r\n- (void)peripheralManager:(CBPeripheralManager *)peripheral willRestoreState:(NSDictionary *)dict\r\n\r\nThe code for handling the callbacks works as expected in a native app. \r\nThe same code can be inserted into Titanium module and tested in a Titanium app and you will notice that the the app does restore itself to the background however the callback handlers never fire. \r\n\r\nThe callbacks are supposed to be called only when the app was previously in the background, then was killed off by iOS, \r\nand then some bluetooth activity for the app comes in.\r\n\r\nSimilarly, the situation occurs for the following iBeacon related callbacks when the app has been killed off.\r\n\r\n- (void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region\r\n- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region\r\n- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region\r\n\r\nThe above iBeacon related functions are being called under normal circumstances, just not when the app was killed off as they are in a native app.\r\n", "attachment": [], "flagged": false, "summary": "Bluetooth LE state restoration callbacks are blocked in Titanium", "creator": { "name": "patakijv", "key": "patakijv", "displayName": "John V Pataki", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "patakijv", "key": "patakijv", "displayName": "John V Pataki", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "310135", "author": { "name": "herpgps", "key": "herpgps", "displayName": "Gary Paul Smith", "active": true, "timeZone": "Europe/Berlin" }, "body": "Monitoring your environment while your App is not running is very important, even more so than ranging, I cannot stress how HUGE a problem this is and it should be fixed as quickly as possible. \r\n\r\nThis means that the platform currently cannot support any real world iBeacon solutions in its current state. \r\n\r\nIf you think about developing Retail App's (use cases) then this bug closers the door on developing any solution's, in this area.\r\n\r\nMonitoring is more important than ranging as this is the feature which makes your App context aware to its surroundings, this is the entry point. \r\n\r\nThis is the feature that allows you to tell your user or backend that the user has entered a given context without the user having to take there telephone out of there pocket\r\n\r\nMany of our users do not have the app running in the background or foreground, to save battery power.\r\n\r\nOn a Native Objective-C App this works like a dream \r\n\r\nThis was one of the biggest feature of iOS 7 and is an even bigger feature of iOS8 (Internet of things - connected devices) being aware of the things in your environment.\r\n\r\n\r\nSo Appcelerator you need to fix this soon.", "updateAuthor": { "name": "herpgps", "key": "herpgps", "displayName": "Gary Paul Smith", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-06-20T07:44:34.000+0000", "updated": "2014-06-20T07:44:34.000+0000" }, { "id": "310275", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hello John,\r\nin order to move this Platform, do you have any small testcase that shows this issue? Thanks in advance! \r\n\r\nBest,\r\nMauro ", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2014-06-20T21:35:46.000+0000", "updated": "2014-06-20T21:35:46.000+0000" }, { "id": "310506", "author": { "name": "patakijv", "key": "patakijv", "displayName": "John V Pataki", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Mauro, \r\n\r\nDuring the effort to provide you the test case example as we discussed offline for this issue, we retooled our native example and module test case code from earlier discussions we had with Appcelerator on this topic using a different approach that was made more obvious to us since iOS7.1 was released. This different approach appears so far to result in Titanium not blocking callback handlers. \r\n\r\nWe are still testing this different approach yet we are optimistic this will mean this issue can be closed and we will release updates to our modules if it all works as expected. \r\n\r\nThanks, \r\nJohn", "updateAuthor": { "name": "patakijv", "key": "patakijv", "displayName": "John V Pataki", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-06-23T20:31:44.000+0000", "updated": "2014-06-23T20:31:44.000+0000" }, { "id": "310507", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hello John! \r\n\r\nGlad to read this. Please let us know how it goes! \r\n\r\nBest,\r\nMauro ", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2014-06-23T20:33:16.000+0000", "updated": "2014-06-23T20:33:16.000+0000" }, { "id": "311159", "author": { "name": "patakijv", "key": "patakijv", "displayName": "John V Pataki", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Mauro,\r\n\r\nWe completed our testing on all of our modules that were previously affected by the issue that caused us to open this Jira ticket. The corner case where BLE / iBeacon callbacks from iOS can restart an app into the background that was previously killed off by iOS not responding as expected is now solved through our improvements to the modules themselves. \r\n\r\nWe have submitted the updated modules to Appcelerator for approval to the Marketplace. Version 1.2.5 of each the [BLE iOS|https://marketplace.appcelerator.com/apps/3834] , [BLE Android|https://marketplace.appcelerator.com/apps/6611] , and [Beacons for iOS & Android|https://marketplace.appcelerator.com/apps/7619] modules will include the improvements. \r\n\r\nYou can close this issue.\r\n\r\nThanks,\r\n\r\nJohn", "updateAuthor": { "name": "patakijv", "key": "patakijv", "displayName": "John V Pataki", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-06-26T21:38:46.000+0000", "updated": "2014-06-26T21:38:46.000+0000" }, { "id": "315790", "author": { "name": "rian", "key": "rian", "displayName": "Andrey Pervushin", "active": true, "timeZone": "Europe/Helsinki" }, "body": "Can you give info on, how you managed to fix this bug.", "updateAuthor": { "name": "rian", "key": "rian", "displayName": "Andrey Pervushin", "active": true, "timeZone": "Europe/Helsinki" }, "created": "2014-07-25T08:58:32.000+0000", "updated": "2014-07-25T08:58:32.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }