{ "id": "172996", "key": "AC-6137", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "10000", "description": "", "name": "Done" }, "resolutiondate": "2019-03-21T19:06:08.000+0000", "created": "2019-02-13T19:05:30.000+0000", "labels": [], "versions": [], "issuelinks": [ { "id": "57149", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "169972", "key": "TIMOB-26681", "fields": { "summary": "iOS: App rejected because of using NSAppleMusicUsageDescription key", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2019-03-21T19:07:24.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [], "description": "We are having this issue that the app got rejected from Apple:\r\nYour 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\r\n\r\nI'm using SDK 7.4.0 and found two issues that suggested this was fixed in previous versions: TIMOB-25424 and TIMOB-26681\r\nAlso AC-6082 suggests that the problem is in ti.admob module, which we use\r\n\r\nWe use Ti.Media in our app only for video playback", "attachment": [], "flagged": false, "summary": "App rejected for using Apple Music API", "creator": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "SDK 7.4.0", "comment": { "comments": [ { "id": "446061", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~davidbenko] \r\n1. Can you try as discussed [here|https://stackoverflow.com/questions/47487222/appcelerator-apple-music-api]?\r\n2. Can you give a small test case how you are using Ti.Media?\r\n3. What version of ti.admob module you are using?\r\n\r\nThanks!\r\n\r\n\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-14T01:00:58.000+0000", "updated": "2019-02-14T01:00:58.000+0000" }, { "id": "446079", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Vijay Singh\r\n\r\n1. 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.\r\n\r\n2. We have a video player widget:\r\nhttps://gist.github.com/davidbnk/be44ae5c01deafaffd1a4f860b3f6f89\r\nhttps://gist.github.com/davidbnk/6c212ac7fb7fa2b412c924cb965cd7ae\r\n\r\n3. We are using version 2.2.0 of ti.admob", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-14T21:11:37.000+0000", "updated": "2019-02-14T21:11:37.000+0000" }, { "id": "446085", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~davidbenko]\r\nThere is few Music API constants which are not properly wrapped under macros.\r\nSee [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].\r\n\r\nSo 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).\r\n\r\nCan you try to build your app using SDK 7.4.3 and upload to App Store.\r\n\r\nThanks!\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-15T00:48:53.000+0000", "updated": "2019-02-15T00:48:53.000+0000" }, { "id": "446107", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Vijay Singh\r\nThanks will try that and let you know", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-15T18:24:52.000+0000", "updated": "2019-02-15T18:24:52.000+0000" }, { "id": "446111", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I have extracted the SDK at the following location:\r\n~/Library/Application\\ Support/Titanium/mobilesdk/osx/\r\nAnd got the following error when building: https://pastebin.com/eQFr74Ly with the command appc run -p ios -T device", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-15T19:01:07.000+0000", "updated": "2019-02-15T19:02:03.000+0000" }, { "id": "446113", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~davidbenko] I have updated sdk. Please try now and let me know if you face any issue.\r\n\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-15T19:25:51.000+0000", "updated": "2019-02-15T19:25:51.000+0000" }, { "id": "446171", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Vijay Singh sent for review compiled with your SDK but they still refused", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-20T00:44:45.000+0000", "updated": "2019-02-20T00:44:45.000+0000" }, { "id": "446280", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "@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?", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-25T17:42:33.000+0000", "updated": "2019-02-25T17:42:33.000+0000" }, { "id": "446416", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Can anyone help with this? We are over a month without being able to update our app", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-28T19:35:59.000+0000", "updated": "2019-02-28T19:35:59.000+0000" }, { "id": "446786", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~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 ' from TiMediavideoPlayer.h and TiMediaVideoPlayerProxy.h).\r\n\r\nSolution 1-\r\n1. Use above sdk to build your app.\r\n2. *Do not use* NSAppleMusicUsageDescription in your tiapp.xml .\r\n3. *Do not use* ti.admob module.\r\n4. Build your app and upload to App Store.\r\n\r\nI believe above sdk will fix the issue.\r\n\r\nIf it gets approved, you can try using ti.admob and upload to App Store.\r\n\r\nPlease let me know if it works for you.\r\n\r\nCan you share defines.h file which is available at /build/iphone/Classes after building for device (not simulator)?\r\n\r\nThanks!", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-12T20:55:47.000+0000", "updated": "2019-03-12T20:58:15.000+0000" }, { "id": "446828", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello Vijay, thanks for your response. As requested here is the defines.h: https://gist.github.com/davidbnk/c3737d9ca3dad36fd29e1f97258f43aa\r\nWe built the app with your SDK and currently waiting for Apple to review. We did not have NSAppleMusicUsageDescription previously and have removed ti.admob.", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-14T14:30:10.000+0000", "updated": "2019-03-14T14:30:10.000+0000" }, { "id": "446932", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello Vijay, unfortunately the app got rejected again, but this time I got a response from them saying that:\r\n\"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.\"\r\nSo it actually comes from the ti.storekit module we use. Do you have any insight about this?", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-16T11:31:46.000+0000", "updated": "2019-03-16T11:31:46.000+0000" }, { "id": "446946", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "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. ", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-18T17:28:03.000+0000", "updated": "2019-03-18T17:28:03.000+0000" }, { "id": "446947", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~davidbenko] That's cool. I believe with latest release of ti.storekit module, it will get pass Apple review.\r\nI 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.\r\nThanks!", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-18T18:14:36.000+0000", "updated": "2019-03-18T18:15:45.000+0000" }, { "id": "447036", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~davidbenko] Did you got any update from Apple?", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-21T00:22:04.000+0000", "updated": "2019-03-21T00:22:04.000+0000" }, { "id": "447037", "author": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello, Vijay. Happy to inform that the app got approved today by Apple. Thank you very much", "updateAuthor": { "name": "davidbenko", "key": "davidbenko", "displayName": "David Benko", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-21T01:08:55.000+0000", "updated": "2019-03-21T01:08:55.000+0000" }, { "id": "447038", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~davidbenko] That's good news :)", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-03-21T01:10:23.000+0000", "updated": "2019-03-21T01:10:23.000+0000" }, { "id": "447062", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello [~davidbenko], I believe we can close the ticket? If you have any more issue feel free to open another ticket. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2019-03-21T19:07:24.000+0000", "updated": "2019-03-21T19:07:24.000+0000" } ], "maxResults": 21, "total": 21, "startAt": 0 } } }