{ "id": "155982", "key": "TIMOB-20627", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": "17707", "name": "Release 5.3.0", "archived": false, "released": true, "releaseDate": "2016-06-04" }, { "id": "17993", "description": "Release 5.2.2", "name": "Release 5.2.2", "archived": false, "released": true, "releaseDate": "2016-04-05" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-03-25T17:36:38.000+0000", "created": "2016-03-25T09:22:48.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "Rejected", "hyperloop", "ios", "nativeObject" ], "versions": [ { "id": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" }, { "id": "17684", "name": "Release 5.2.1", "archived": false, "released": true, "releaseDate": "2016-03-25" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-05-01T15:33:00.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": "My app got rejected by Apple due to use of the nativeObject API. I've researched it a bit and the TiViewProxy.m contains \"nativeObject\" on line 168. I think this is the problem because uploading an app build with SDK 5.1.2 didn't give me any problems and the 5.1.2 TiViewProxy.m class doesn't contain \"nativeObject\".\r\n\r\nThe issue affects iOS versions starting at 9.3, because Apple disallow's private API usage in iOS 9.3.", "attachment": [], "flagged": false, "summary": "iOS: App rejected by Apple due to use of the nativeObject API", "creator": { "name": "teunklijn@telfort.nl", "key": "teunklijn@telfort.nl", "displayName": "Teun Klijn", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "teunklijn@telfort.nl", "key": "teunklijn@telfort.nl", "displayName": "Teun Klijn", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "SDK version: 5.2.0", "closedSprints": [ { "id": 597, "state": "closed", "name": "2016 Sprint 06 SDK", "startDate": "2016-03-12T01:30:59.982Z", "endDate": "2016-03-26T00:30:00.000Z", "completeDate": "2016-03-28T03:38:09.726Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "380680", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey there! Do you have the Hyperloop module enabled in your project? That's the once change, a \"nativeObject\" property could be inside the project. If so, please remove Hyperloop from the project, because it's not GA yet and only meant for public beta testing.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-25T13:21:02.000+0000", "updated": "2016-03-25T13:21:02.000+0000" }, { "id": "380682", "author": { "name": "teunklijn@telfort.nl", "key": "teunklijn@telfort.nl", "displayName": "Teun Klijn", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Hi, I'm not using the Hyperloop module, but the code in the TiViewProxy.m seems to be for the Hyperloop module indeed.", "updateAuthor": { "name": "teunklijn@telfort.nl", "key": "teunklijn@telfort.nl", "displayName": "Teun Klijn", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-25T13:31:04.000+0000", "updated": "2016-03-25T13:31:04.000+0000" }, { "id": "380689", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The reason for the app being rejected is, that 5_2_X not include the {{#ifdef HYPERLOOP}} statement to wrap the API for non-Hyperloop code. We should backport the fix asap.\r\n\r\nEDIT: [This PR|https://github.com/appcelerator/titanium_mobile/commit/536b6946ca37bcf2162f8b353abd535b09d802f3] needs to be backported.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-25T14:32:37.000+0000", "updated": "2016-03-25T14:44:03.000+0000" }, { "id": "380695", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (5_2_X): https://github.com/appcelerator/titanium_mobile/pull/7883\r\nPR (5_3_X): https://github.com/appcelerator/titanium_mobile/pull/7884\r\n---\r\nThe [master|https://github.com/appcelerator/titanium_mobile/blob/master/iphone/Classes/TiViewProxy.m#L190] branch already included the changes.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-25T14:56:00.000+0000", "updated": "2016-03-25T14:56:09.000+0000" }, { "id": "380706", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~teunklijn@telfort.nl] Can you please re-submit your app using this [5.2.2 build|http://builds.appcelerator.com/mobile/5_2_X/mobilesdk-5.2.2.v20160325103316-osx.zip]? It's just like the yesterdays released 5.2.1.GA, but with the fix for your issue. Would be great to hear from you soon. Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-03-25T18:15:17.000+0000", "updated": "2016-03-25T18:15:17.000+0000" }, { "id": "381241", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~teunklijn@telfort.nl] Hi! Did you manage to get your app accepted by Apple with the fix?", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-03-31T22:35:32.000+0000", "updated": "2016-03-31T22:35:32.000+0000" }, { "id": "381272", "author": { "name": "teunklijn@telfort.nl", "key": "teunklijn@telfort.nl", "displayName": "Teun Klijn", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "@Chee Kiat Ng I've not yet tried to release an app with the fix, because I was in a hurry to release the app. I've used 5.1.2.GA now which was accepted. I'll let you guys know when I release an app with the fixed version.", "updateAuthor": { "name": "teunklijn@telfort.nl", "key": "teunklijn@telfort.nl", "displayName": "Teun Klijn", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-04-01T07:21:12.000+0000", "updated": "2016-04-01T07:21:12.000+0000" }, { "id": "381342", "author": { "name": "Andrea.Vitale", "key": "andrea.vitale", "displayName": "Andrea Vitale", "active": true, "timeZone": "Europe/Berlin" }, "body": "I submitted recently a new app with the 5.2.2 build linked by @Hans Knoechel and it was accepted by Apple. So everything is working fine.", "updateAuthor": { "name": "Andrea.Vitale", "key": "andrea.vitale", "displayName": "Andrea Vitale", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-04-02T07:41:44.000+0000", "updated": "2016-04-02T07:41:44.000+0000" }, { "id": "384415", "author": { "name": "mozzillonextlevel@yahoo.it", "key": "mozzillonextlevel@yahoo.it", "displayName": "Gianluca Mozzillo", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Submitted an app with the 5.2.1GA without the Hyperloop module. Have I to expect it as rejected from Apple?", "updateAuthor": { "name": "mozzillonextlevel@yahoo.it", "key": "mozzillonextlevel@yahoo.it", "displayName": "Gianluca Mozzillo", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-05-01T15:26:26.000+0000", "updated": "2016-05-01T15:26:26.000+0000" }, { "id": "384416", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yes probably, although Apple does not exactly explain how they detect the private API's. Again: Hyperloop is not stable, we are working hard to change that for 5.4.0!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-05-01T15:33:00.000+0000", "updated": "2016-05-01T15:33:00.000+0000" } ], "maxResults": 14, "total": 14, "startAt": 0 } } }