[TIMOB-20627] iOS: App rejected by Apple due to use of the nativeObject API
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2016-03-25T17:36:38.000+0000 |
Affected Version/s | Release 5.2.0, Release 5.2.1 |
Fix Version/s | Release 5.3.0, Release 5.2.2 |
Components | iOS |
Labels | Rejected, hyperloop, ios, nativeObject |
Reporter | Teun Klijn |
Assignee | Hans Knöchel |
Created | 2016-03-25T09:22:48.000+0000 |
Updated | 2016-05-01T15:33:00.000+0000 |
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".
The issue affects iOS versions starting at 9.3, because Apple disallow's private API usage in iOS 9.3.
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.
Hi, I'm not using the Hyperloop module, but the code in the TiViewProxy.m seems to be for the Hyperloop module indeed.
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. EDIT: [This PR](https://github.com/appcelerator/titanium_mobile/commit/536b6946ca37bcf2162f8b353abd535b09d802f3) needs to be backported.PR (5_2_X): https://github.com/appcelerator/titanium_mobile/pull/7883 PR (5_3_X): https://github.com/appcelerator/titanium_mobile/pull/7884 --- The [master](https://github.com/appcelerator/titanium_mobile/blob/master/iphone/Classes/TiViewProxy.m#L190) branch already included the changes.
[~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!
[~teunklijn@telfort.nl] Hi! Did you manage to get your app accepted by Apple with the fix?
@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.
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.
Submitted an app with the 5.2.1GA without the Hyperloop module. Have I to expect it as rejected from Apple?
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!