[TIMOB-19753] Apple rejects app because it detected Handoff API reference with no use
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2015-10-22T22:16:05.000+0000 |
Affected Version/s | Release 5.0.0 |
Fix Version/s | Release 5.1.0 |
Components | iOS |
Labels | n/a |
Reporter | Fokke Zandbergen |
Assignee | Hans Knöchel |
Created | 2015-10-20T19:06:53.000+0000 |
Updated | 2015-11-20T04:28:15.000+0000 |
Description
Two [Q&A users reported](https://community.appcelerator.com/topic/3597/apple-reject-app-because-it-detect-handoff-feature) it has app was rejected by Apple because:
{quote}
2.3 Details
We were unable to locate some of the features described in your marketing materials or release notes. Specifically, your app uses the Handoff API, but does not provide Handoff functionality.
Please revise your app to ensure that these features are fully implemented or revise your application to remove the Handoff API from use.
We look forward to reviewing your revised app.
Best Regards,
App Store Review
{quote}
I know we're not including API classes that are not being used, but of course for Handoff, App Shortcuts and other features we set up delegates in our bootstrapping as well. It looks like we might need to somehow do this only if it is actually used.
Options:
* Have users enable these features via a
tiapp.xml
property.
* Scan the code for usage of the APIs (which we do anyway) and then set a build flag which we can then use in the bootstrapping code.
The [PR](https://github.com/appcelerator/titanium_mobile/pull/7324) might cause problems because when
Titanium.App.iOS.UserActivity
is not used, thenTitanium.App.iOS.SearchableIndex
still might be, which usesapplication:continueUserActivity:restorationHandler:
as well. I'm not sure if there are other cases. Perhaps Universal Links? If Apple is getting more strict in this we might need to split up code in separate classes more to prevent using#ifdef
all over the place.PR merged.Waiting for backports.
PR (5_1_X): https://github.com/appcelerator/titanium_mobile/pull/7335 PR (5_0_X): https://github.com/appcelerator/titanium_mobile/pull/7336
[~hansknoechel] let's merge the backport.
Verified fixed, using: MacOS 10.11.2 (15C27e) Studio 4.4.0.201510280736 Ti SDK 5.1.0.v20151028061258 Appc NPM 4.2.1 Appc CLI 5.1.0-38 Ti CLI 5.0.5 Alloy 1.7.16 Arrow 1.3.13 Xcode 7.2 (7C46l) Node v0.12.7 Java 1.7.0_80 production Submitted app was not rejected when using APIs from the Ti.App.iOS.* namespace