Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-20627] iOS: App rejected by Apple due to use of the nativeObject API

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2016-03-25T17:36:38.000+0000
Affected Version/sRelease 5.2.0, Release 5.2.1
Fix Version/sRelease 5.3.0, Release 5.2.2
ComponentsiOS
LabelsRejected, hyperloop, ios, nativeObject
ReporterTeun Klijn
AssigneeHans Knöchel
Created2016-03-25T09:22:48.000+0000
Updated2016-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.

Comments

  1. Hans Knöchel 2016-03-25

    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.
  2. Teun Klijn 2016-03-25

    Hi, I'm not using the Hyperloop module, but the code in the TiViewProxy.m seems to be for the Hyperloop module indeed.
  3. Hans Knöchel 2016-03-25

    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.
  4. Hans Knöchel 2016-03-25

    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.
  5. Hans Knöchel 2016-03-25

    [~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!
  6. Chee Kiat Ng 2016-03-31

    [~teunklijn@telfort.nl] Hi! Did you manage to get your app accepted by Apple with the fix?
  7. Teun Klijn 2016-04-01

    @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.
  8. Andrea Vitale 2016-04-02

    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.
  9. Gianluca Mozzillo 2016-05-01

    Submitted an app with the 5.2.1GA without the Hyperloop module. Have I to expect it as rejected from Apple?
  10. Hans Knöchel 2016-05-01

    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!

JSON Source