2013-02-11 133 views
89

我提交的應用程序時,它得到了拒絕,我得到的消息缺少推送通知授權

缺少推送通知授權 - 您的應用似乎與蘋果推送通知服務註冊 ,但應用程序簽名的 權利不包括「APS環境」權利。如果您的 應用使用Apple推送通知服務,請確保您的應用ID是 在提供門戶中啓用了推送通知,並在使用分配置備配置文件012xx包含「aps環境」權利對您的應用簽名後重新提交 。

我檢查了我的ad-hoc provisiong我在那裏發現了APS-環境和生產然而,當我打開發行配置,我不覺得這樣的。

這是錯誤信息和蘋果拒絕的原因,我該如何解決?

回答

69

是的,這是App Store拒絕的原因。如果您的專用配置配置文件具有aps-environment密鑰,這意味着您的應用在Apple Provisioning Portal中配置正確。您只需在本地計算機上刪除App Store分發概要文件,然後從Provisioning Portal重新下載並安裝分發概要文件。這個新的應該包含aps-environment密鑰。

+0

只是爲了清除更多的霧,這相當說明,「分佈配置文件必須有aps環境等」,並且當我在文本編輯器中打開配置時,我應該找到它在那裏.. – 2013-02-11 07:11:57

+0

我是否需要生成一個新的ssl證書,特別是當我從我的分佈配置文件中更改了某些內容? – 2013-02-12 09:37:36

+2

不,不需要新的開發人員證書。當爲推送通知啓用分發時(由於您的專用配置文件具有aps-environment密鑰,您必須在某個時刻完成分發),iTunes Provisioning Portal會生成一個包含aps-environment密鑰的新應用商店分發配置文件。您可能剛剛沒有下載並安裝最新版本。 – tom 2013-02-12 17:49:08

2

檢查程式編號是按啓用或不developer.apple.com iOS中Provisioning戶 如果沒有則啓用,配置你的推送SSL證書應用ID下載它, 並在您的鑰匙串再次重新安裝然後下載您的分佈配置文件安裝在您的Xcode Liabrary

20

我得到這個消息的原因不同 - 我通過Xcode提交了一個應用程序,而沒有首先創建專門爲應用程序的App Store發佈配置文件。我相信如果你安裝了一個,Xcode會自動使用通配符App Store配置文件。但是一個應用使用推送通知需要自己的配置文件。

解決的辦法是爲應用程序創建一個新的App Store發佈配置文件。然後,您下載它,將它拖到Xcode上,然後修改您的項目「生成設置」>「代碼簽名」>「發佈」以使用新配置文件。

2

在我的情況下,即使我創建了一個myapp.profile並手動將它設置爲xcode,並且當我選擇「show in finder」並找到embedded.mobileprovision並檢查以確保文件中存在aps-environment ,錯誤仍然存​​在。

然後我去了開發者中心,發現XC:myapp.profile的狀態是無效的。我更新它並安裝了XC:myapp.profile,它工作正常。

我想xcode試圖管理配置文件,並且您需要在將二進制文件提交到存儲時檢查配置文件,並確保它是正確的。而根據其他答案,它可能是由於各種原因造成的,所以它可能真的很煩人。

UPDATE:

一旦你與下載配置文件簽字確認這aps-environment在那裏當您嘗試提交App Store,你應該能夠配置文件和代碼簽名實體改爲自動和iOS Developer。希望它能在Xcode 7中得到改進。

+0

我已經檢查了所有的配置文件,也XC:配置文件被更新,它不包括任何asp環境的關鍵,我仍然一次又一次得到同樣的問題。任何幫助將不勝感激。是的,我不需要在應用程序中實施任何推送通知 – 2015-08-04 09:13:35

+0

您可以通過檢查供應配置文件的二進制內容並查看字符串「aps-environment」是否在裏面嗎?如果它在裏面,你需要找到一些方法來擺脫它,否則你需要確保你的個人資料是你的應用程序簽名。無論哪種方式都有一個問題。 – 2015-08-05 01:05:10

+1

我已經檢查了兩次,並試圖找出更多,但沒有運氣。沒有那樣的字符串,但經過2天的搜索和嘗試,我得到了一件事符合這個問題是與Xcode 7測試版不與我的代碼:)通過Xcode 6.4相同的構建是完全正常工作,並沒有電子郵件從Apple報告所以問題出在Xcode 7 beta 4而不是代碼或配置文件。 – 2015-08-07 10:38:20

36

的第一APP ID

確保在生產端的ID推送通知使

如出現在畫面

enter image description here

第二個證書

從生產節創建兩個證書與您的ID(啓用推送通知)

App Store和特設證書

蘋果推送通知服務SSL(沙盒)證書

enter image description here

第三提供配置文件小號

從分配部分中創建的App Store資料與ID

最後

當你上傳你的bin,你必須檢查什麼的provisioning profile使用 並有許多權利

enter image description here

這一切的情況下會導致此問題 希望這是你

+1

這就是我所錯過的。我必須在Apple開發人員站點中使用帶有推送通知的App ID創建新的供應配置文件。使用新的配置文件,最終將aps-environment權限添加到我的應用程序中。謝謝! – 2016-05-09 17:44:24

+1

拯救生命!這是我遇到的問題。 – Wouter125 2016-05-18 12:13:21

+0

感謝更清晰的新手ios開發者 – snaikar 2016-05-23 15:59:19

0

這發生在我身上突然,因爲我的應用程序的分佈特徵已經到期很有幫助。 Xcode開始使用通配符配置文件,但沒有啓用推送通知權利。我沒有收到任何警告。修復很簡單;我只需在Apple Developer Member Center中爲我的應用生成另一個分發配置文件,下載它,然後雙擊安裝到Xcode中。

4

,我也面臨着甚至我沒有用我的app.Making 新的供應配置文件在所有推送通知,也沒有爲me.What我沒有工作,這個問題是: -

1 。僅適用於Ad hoc & App Store創建新的新證書。

2.然後使用此證書製作分發配置文件並將配置文件與Xcode集成。

然後新提交的構建與此配置文件批准沒有任何警告。

+0

我試過了 - 沒有幫助。仍然得到失蹤推送通知的事情..我不使用推送通知! – Adam 2016-07-11 15:40:49

7

對於那些遇到這個問題,究竟是誰在使用推送通知在他們的應用程序:

我們的推送證書是最近即將到期,所以我們在蘋果列出的標準方式創建的新的開發/生產推送證書(在這裏我不會詳細討論這個問題,當更新你的推送證書再次使用時,網絡上有很多關於它的信息)。

但是這樣做後,這個問題就出現了。無論我們做了什麼,我們都會在提交我們的應用後收到Apple發送的這封電子郵件。當我們檢查Apple會員中心的Distribution Provisioning Profile的設置時,一切都很正常(爲我們的prod/dev啓用了我們的App ID,並且我們的分發配置文件仍然連接到了這個App ID,我們剛剛創建按照標準慣例,新推出新的認證證書)。

最後,這是最終解決它,我:

  1. 創建一個新的發行配置文件指向您的應用程序ID(留在機智當前的一個)
  2. 在Xcode中,刷新您的配置通過設置>帳戶>配置文件選擇您的帳戶>詳細信息>單擊刷新圖標
  3. 手動創建你的應用的權利plist文件:
    • 文件菜單>新建文件...
    • 選擇iOS版>資源>屬性列表
    • 名稱的新文件「foo.entitlements」(通常,「富」爲目標名稱)
    • 點擊(+)旁邊的「應享權利文件」添加頂級項目(由於文件擴展名,屬性列表編輯器將使用正確的模式)
  4. 確保此權利文件正用於目標的「生成設置」(目標>生成設置>搜索「權利」在CODE_SIGN_ENTITLEMENTS中設置您剛纔創建的權利文件的路徑)
  5. 確保配置教授您的目標中的代碼/簽名標識已正確設置爲您的相應分發資源調配配置文件/簽名標識(這應該是顯而易見的)
  6. 我不是100%確定這是否會影響它(不應該由於目標設置覆蓋項目設置,但我這樣做反正),請確保您的項目的供應配置文件/簽約身份匹配您的目標的
  7. 在權利文件,你做,請右鍵單擊空文件並選擇「顯示原始鍵/值」
  8. 添加一個稱爲「aps-environment」的權利文件的新條目,並將其值設置爲「production」
  9. 一個關鍵注意事項,如果您以前使用鑰匙串訪問組權限,則需要在這裏添加該密鑰,因爲由於某種原因,手動執行此操作時它會被清除。確保該值與以前版本中使用的值相同(可以通過在管理器中查找以前的版本來找到該值,嘗試提交到應用商店,選擇您的團隊,然後在提交應用之前點擊旁邊的箭頭「(X)Entitlements」字符串以擴展權利並查看鑰匙串訪問組權利的價值
  10. 將您的應用歸檔並嘗試將其提交到最終的「提交」按鈕。看到這個應用程序現在使用您在成員中心創建的新配置配置文件構建。現在取消此配置。
  11. 回到蘋果的會員中心,並刪除您在步驟1
  12. 早在Xcode中創建新的供應配置文件,重複步驟2,再次刷新您的配置文件列表中
  13. 現在再次存檔您的應用程序,您應該看到該應用程序是使用您想要使用的舊的分發配置配置文件構建的,並且正確擁有aps環境權利。提交併完成。

我知道這是不是儘可能詳細,它應該是理所應當具備的截圖,我會盡力的時候,我可以用截圖來更新它,但暫時我在一段時間緊縮是對的現在想要得到我在那裏做的事情。還有一種很可能的情況是,我列出的一些或大部分步驟都沒有必要,我把它們放在這裏是因爲我做了它們,它們可能導致了最終的解決方案。

+0

謝謝。對我而言,#8被設定爲發展,這可能是我們的問題。 – ingage 2016-11-16 05:47:15

+0

非常感謝,浪費了整整一天的時間,步驟#​​4是個問題,由於某種原因,沒有指定CODE_SIGN_ENTITLEMENTS,授權僅在應用商店上傳時被忽略。 – 2018-01-03 20:17:36

0

這裏有一些非常好的建議。

參考Mina在最初歸檔我的應用程序後提供的上一個屏幕截圖,上載過程中提到的配置文件包含通配符(XC。*)。這是錯誤的。

爲了解決這個問題,花了相當多的努力。我不得不執行Mina Fawzy提供的Simon Woodside &的建議。

如果您有與您的項目相關的任何現有證書和設置配置文件,現在應該是將它們全部刪除並將其全部撤銷的好時機。給自己一個新的開始。

Mina Fawzy的詳細建議非常好。執行Mina的建議,如果正確執行,應在網上照顧你。

輸入Simon的建議。我需要在項目中檢查兩件事。使用的XCode,去這裏:

項目 - >構建設置 - >代碼簽名

審查代碼簽名身份發放模板性能。確保將這兩個屬性設置爲項目名稱的屬性。不要讓XCode爲您自動選擇,並且不要使用某些通用代碼簽名標識(例如Iphone Developer)。

確定您確實可以在決定存檔之前將應用程序安裝到您的設備上。

33

在Xcode 8,你需要在你的目標能夠在功能選項卡推動,扶持的各項規定和證書一切之上: Xcode 8 "the aps-environment entitlement is missing from the app's signature" on submit

我的博客文章關於這個here

+7

這是經典的蘋果。在我提交一個構建版本兩個小時後,他們發送了一個關於我早已解決的問題(在Dev Portal中啓用了推送通知應用程序服務)的錯誤消息,並通過指向404的鏈接進行了解釋。然後,事實證明,真實問題是他們在升級到他們軟件的新版本時(我被鎖定)沒有遷移我的設置。 呃。 – 2016-10-21 18:25:59

+3

同樣的故事在這裏。我們幾乎將這個錯誤消息視爲蘋果的錯誤。 – Vaiden 2016-10-31 13:27:18

1

這是什麼修復了我。 (我已經嘗試打開/關閉功能,重新創建配置文件等)。

生成設置選項卡,在代碼簽名應享權利,我.entitlements文件沒有被鏈接的所有部分。一旦我將它添加到Any SDK部分,錯誤就解決了。

enter image description here

6

從@Vaiden給出的答案繼,在Xcode 8,你可以通過選擇目標,然後點擊「修復問題」解決這一問題。當然,您仍然需要在Apple Developer portal中設置推送通知(您可以使用新的「自動管理簽名」選項簡化該過程,這可以爲您節省下載配置配置文件的麻煩)。

Fix me option

0

,我從Capabilities使Push Notification和改造的所有證書後,具有最大的問題是,目標名稱何地存儲項目分開2串組成的文件夾名稱乘太空。刪除空間後,所有的工作很好!

0

我有同樣的問題,我的解決方案是從目標 - >功能添加推送通知權利。