{"id":37184,"date":"2022-09-29T16:59:29","date_gmt":"2022-09-29T20:59:29","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=37184"},"modified":"2025-10-11T12:18:02","modified_gmt":"2025-10-11T16:18:02","slug":"check-your-app-ids-for-unused-capabilities","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2022\/09\/29\/check-your-app-ids-for-unused-capabilities\/","title":{"rendered":"Check Your App IDs for Unused Capabilities"},"content":{"rendered":"<p><a href=\"https:\/\/lapcatsoftware.com\/articles\/AppID.html\">Jeff Johnson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/AppID.html\"><p>When I submitted the app to App Review, Apple silently added the game center entitlement to my app, even though the app didn&rsquo;t have the entitlement when I submitted it. And then App Review rejected me for it!<\/p><p>[&#8230;]<\/p><p>While I was looking through my App IDs, I also found that the iOS version of StopTheMadness had the Push Notifications capability enabled. The app doesn&rsquo;t use push notifications. So I&rsquo;ve disabled that one too, in case App Review is looking for more rejection reasons.<\/p><p>I recommend that App Store developers go through your <a href=\"https:\/\/developer.apple.com\/account\/resources\/identifiers\/list\">App IDs<\/a> and disable any unused capabilities, otherwise you may be receiving unexpected rejections of your submissions.<\/p><\/blockquote>\n\n<p>This reminds me of the time my app kept getting rejected for crashing at launch, when that never happened on my Mac. After several months and a DTS incident, we eventually determined that a bug in App Store processing was removing an essential entitlement from the build that I had submitted before passing it along to App Review.<\/p>\n\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/AppID.html\"><p>It&rsquo;s true that when App Review identified an issue with my submission, I was given an opportunity to address the issue in my next submission, without having to fix it immediately. However, it&rsquo;s false that my bug fixes were not delayed. I received the rejection email from App Review at midnight my time, after I had already gone to bed. I saw the email in the morning and replied to App Review, but then it took four more hours for my submission to go back into review. So there was a delay in approval of more than ten hours.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/04\/19\/mac-app-store-entitlement-folly\/\">Mac App Store Entitlement Folly<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2020\/08\/31\/allowing-bug-fixes-and-challenging-the-guidelines\/\">Allowing Bug Fixes and Challenging the Guidelines<\/a><\/li>\n<\/ul>\n\n<p id=\"check-your-app-ids-for-unused-capabilities-update-2022-11-02\">Update (2022-11-02): <a href=\"https:\/\/lapcatsoftware.com\/articles\/provisioning.html\">Jeff Johnson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/lapcatsoftware.com\/articles\/provisioning.html\">\n<p>Closely inspecting the contents of the app bundle, I discovered a stale provisioning profile that still had the Game Center entitlement. The problem, though, is that Xcode is supposed to automatically manage the provisioning profile, so there didn&rsquo;t appear to be any way for me to manually regenerate it.<\/p>\n<p>[&#8230;]<\/p>\n<p>You can drag the document proxy to reveal the location of the <code>.provisionprofile<\/code> file, which turns out to be in the <code>~\/Library\/MobileDevice\/Provisioning Profiles\/<\/code> folder. So all you have to do is quit Xcode and delete the file.<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Jeff Johnson: When I submitted the app to App Review, Apple silently added the game center entitlement to my app, even though the app didn&rsquo;t have the entitlement when I submitted it. And then App Review rejected me for it![&#8230;]While I was looking through my App IDs, I also found that the iOS version of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2022-09-29T20:59:31Z","apple_news_api_id":"1f9f6a60-b3fa-46f8-821c-51093326b60b","apple_news_api_modified_at":"2023-12-06T19:21:01Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/AH59qYLP6RviCHFEJMya2Cw","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[130,466,2518,246,30,32,39,2077,71,2848],"class_list":["post-37184","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-rejection","tag-codesigning","tag-entitlements","tag-gamecenter","tag-mac","tag-macapp","tag-macappstore","tag-macos-12","tag-programming","tag-provisioning-profiles"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/37184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=37184"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/37184\/revisions"}],"predecessor-version":[{"id":37546,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/37184\/revisions\/37546"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=37184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=37184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=37184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}