[AC-6137] App rejected for using Apple Music API
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | n/a |
Status | Resolved |
Resolution | Done |
Resolution Date | 2019-03-21T19:06:08.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | n/a |
Labels | n/a |
Reporter | David Benko |
Assignee | Shak Hossain |
Created | 2019-02-13T19:05:30.000+0000 |
Updated | 2019-03-21T19:07:24.000+0000 |
Description
We are having this issue that the app got rejected from Apple:
Your app uses the Apple Music API but does not display or appropriately use standard media controls, such as "play," "pause," and "skip." If you do not use Apple Music, please remove the API from your binary
I'm using SDK 7.4.0 and found two issues that suggested this was fixed in previous versions: TIMOB-25424 and TIMOB-26681
Also AC-6082 suggests that the problem is in ti.admob module, which we use
We use Ti.Media in our app only for video playback
[~davidbenko] 1. Can you try as discussed [here](https://stackoverflow.com/questions/47487222/appcelerator-apple-music-api)? 2. Can you give a small test case how you are using Ti.Media? 3. What version of ti.admob module you are using? Thanks!
Vijay Singh 1. TIMOB-25424 suggests the issue was fixed in 7.3.0, we are using 7.4.0. Also there was a suggestion to describe to Apple that we do not use Apple Music API, but we already tried that. 2. We have a video player widget: https://gist.github.com/davidbnk/be44ae5c01deafaffd1a4f860b3f6f89 https://gist.github.com/davidbnk/6c212ac7fb7fa2b412c924cb965cd7ae 3. We are using version 2.2.0 of ti.admob
[~davidbenko] There is few Music API constants which are not properly wrapped under macros. See [line 305](https://github.com/appcelerator/titanium_mobile/blob/849c15e0980281ea9e2c28e9de7d59810e02e906/iphone/Classes/MediaModule.m#L305) to [line 322](https://github.com/appcelerator/titanium_mobile/blob/849c15e0980281ea9e2c28e9de7d59810e02e906/iphone/Classes/MediaModule.m#L305). So I have created an [SDK 7.4.3](https://www.dropbox.com/s/n481qghwdm42jmg/7.4.3.zip?dl=0) (7.4.2.GA + wrapping of mentioned code above). Can you try to build your app using SDK 7.4.3 and upload to App Store. Thanks!
Vijay Singh Thanks will try that and let you know
I have extracted the SDK at the following location: ~/Library/Application\ Support/Titanium/mobilesdk/osx/ And got the following error when building: https://pastebin.com/eQFr74Ly with the command appc run -p ios -T device
[~davidbenko] I have updated sdk. Please try now and let me know if you face any issue.
Vijay Singh sent for review compiled with your SDK but they still refused
@Vijay Singh we sent another update without ti.admob and with your custom sdk to exclude the possibility that ti.admob was causing this, but they still refused the app because we used Apple Music API. Do you have any other ideas what is causing this?
Can anyone help with this? We are over a month without being able to update our app
[~davidbenko] Sorry for inconvenience caused to you. I have updated [SDK 7.4.3](https://www.dropbox.com/s/80d7tvbc97ftcap/7.4.3.zip?dl=0) (which have 7.4.2.GA code + wrapping of music constants used in MediaModule.m + wrapping of '#import "MediaPlayer/MediaPlayer.h"' in MediaModule.h/.m + removing of '#import
Hello Vijay, thanks for your response. As requested here is the defines.h: https://gist.github.com/davidbnk/c3737d9ca3dad36fd29e1f97258f43aa We built the app with your SDK and currently waiting for Apple to review. We did not have NSAppleMusicUsageDescription previously and have removed ti.admob.
Hello Vijay, unfortunately the app got rejected again, but this time I got a response from them saying that: "Regarding 4.5.2 issue, from the last submitted iteration of your app, we see that the point of possible concern comes from -[TiStorekitModule showCloudSetupDialog:] that appears to be part of a Titanium SDK. If this method is not in use, it would be appropriate to remove it or its inner functionality. It would be prudent to reach out to the Titanium Mobile SDK developers if you need support there." So it actually comes from the ti.storekit module we use. Do you have any insight about this?
Vijay, we fould that ti.storekit had one release stating "Fix a possible AppStore rejection caused by the "showCloudSetupDialog" API". We gonna update it and try again.
[~davidbenko] That's cool. I believe with latest release of ti.storekit module, it will get pass Apple review. I think we have solved 'NSAppleMusicUsageDescription' related rejection issue with the changes in shared SDK. Once you confirm with your final app approval from Apple, I'll create PR for changes in SDK. Thanks!
[~davidbenko] Did you got any update from Apple?
Hello, Vijay. Happy to inform that the app got approved today by Apple. Thank you very much
[~davidbenko] That's good news :)
Hello [~davidbenko], I believe we can close the ticket? If you have any more issue feel free to open another ticket. Thanks.