2016-09-18 81 views
98

我已經得到了我們在過去6個月中提交的版本dozends到一個應用程序和我們使用APNS「的APS-環境權利是從應用程序的簽名失蹤」。我從蘋果以下電子郵件升級Xcode的8的Xcode 8日提交

尊敬的開發商,

我們已經發現了一個或多個問題與您最近交付 APP_NAME後。您交割 成功,但您可能希望更正您 未來交付了以下問題:

缺少推送通知授權 - 您的應用包括 蘋果推送通知服務的API,但APS-環境權利 是從應用程序的簽名中遺失。要解決這個問題,請確保您在供應門戶中爲您的推送通知啓用了 App ID。 然後,使用 包含aps環境權利的分配資源調配配置文件爲您的應用程序簽名。這將創建正確的 簽名,並且您可以重新提交您的應用。關於 的更多信息,請參閱本地和推送通知編程指南中的「供應和 開發」。如果您的應用不使用Apple推送通知 服務,則無需執行任何操作。您可以從將來的 提交中刪除API以停止此警告。如果您使用第三方框架,您可能需要聯繫開發人員獲取有關刪除 API的信息。

你們已經糾正了這些問題後,您可以使用Xcode中或應用 裝載機上傳新的二進制到iTunes連接。

問候,

的App Store的團隊

什麼是奇怪的是我去developer.apple.com - >證書,標識&型材和我的AppId確實有推送通知仍然啓用。我沒有做過任何不同的工作,所以我很好奇,如果Xcode 8更新失敗了。有任何想法嗎?

BTW:他們把對推送通知編程指南在電子郵件破碎的聯繫,所以這不是一個好兆頭。

回答

131

其實很簡單。出於某種原因,它在Xcode 8上被禁用,但轉到目標 - >功能並驗證推送通知在該視圖上都是正確的。對我來說,它有一個「修理我」我不得不點擊,瞧。

+0

對我來說,這個「修復我」添加了一個明確的權利文件(我多年以來沒有使用的東西),一旦我刪除它,推送通知功能又被禁用。有沒有人知道如何啓用它而不必添加授權文件? – villapossu

+0

蘋果文檔在這裏:https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44建議「使用此授權,請在項目編輯器的功能窗格中啓用推送通知,或手動將權利添加到您的權利文件中。「 – KayAnn

+4

關於這個問題的奇怪之處並不是解決方案,事實上在Xcode 7上這是啓用的,升級後它被禁用了。 – Unome

26

有在Xcode 8,你的權利不再來自於應用程序標識符的改變,但在你的應用程序的目標選擇的能力。所以,就像Unome(OP)所說的那樣,你必須驗證Push Notifications是否已打開。

對我來說,這不是一個「整我」按鈕,但我有兩個授權文件(一個用於開發,一個用於分配)。切換推送通知功能會將aps-environment密鑰(值爲development)添加到開發權利文件中,但不會將其添加到分發權利文件中。上傳到iTunes Connect時,將同一個鍵複製到發行版可以消除警告電子郵件。

對於大多數項目來說,切換推送通知應該就足夠了,或者如果它已經打開但密鑰不在授權中,請嘗試切換並重新打開。

+0

這是我所在的船,除了不管我在'.entitlements'文件中爲當前配置/方案指定的內容,它總是使用'​​production'作爲'aps-environment'。 –

+0

切換推送能力Notificaition崩潰我的Xcode 8! – djay

+1

@AlbertBori奇怪的是,我只能用它來展現發展,這很好,因爲當它被存檔時,它表現爲'生產'。 – timgcarlson

72

我也有同樣的問題,並且我確定推送通知在Xcode8中默認是關閉的。我沒有注意到它。小心它。

capability

+0

你能告訴我爲什麼我的帳戶中沒有推送通知部分嗎? – Anuj

10

和Xcode 8鬥爭的日子,我們無法弄清楚,爲什麼不加入aps-environment發展我們的調試版本之後。它在構建的應用程序中的權利部分中缺少用於調試測試的內容......儘管我們已啓用新的Capability和權利文件。問題是需要在Xcode生成調試授權設置中爲ANY SDK設置權利文件。

screenshot

+0

我不認爲爲'Debug'鍵設置一個值併爲'Debug'>'Any SDK'設置一個值,因爲後者用於覆蓋特定SDK的值。 –

+0

這就是我的解決方案 – Himanth

+0

在這一整個早晨掙扎之後,這就是我遇到的問題。切換功能,生成供應配置文件,沒有任何工作。這樣做。 –

27

從Xcode的release notes

的Xcode 8不會自動將APS-環境權利從在構建時預置描述文件複製。這種行爲是故意的。要使用此權利,請在項目編輯器的「功能」窗格中啓用推送通知,或手動將權利添加到您的權利文件。 (28076333)

這是一個很大的變化,因爲aps環境權利並不需要plist,但其他許多人卻這樣做總是很奇怪。

對於那些不想盲目按下「Fix Me」並且目前沒有授權文件的用戶,它只是一個plist文件,在項目的Build Settings中的「Code Signing Entitlements」

+1

我無法在鏈接的註釋中找到該報價! –

+0

我剛剛證實,該文本仍然存在使用我的瀏覽器的查找功能... – mattyohe

+0

我不知道誰upvoted我的評論和什麼是錯的,但我現在也可以找到它。 –

3

我使用XCode 7.3.1從Apple獲得了同樣的電子郵件。我做了什麼來解決這個問題是:

  1. 根據能力>設置PUSH通知ON如@Bruce Tsai回答中所述。
  2. 在內建設置>代碼簽名>代碼簽名標識設置用於調試和用於釋放分配證書顯影劑證書,如所示的圖像中:

enter image description here enter image description here

+0

嗨,在能力我沒有得到功能>設置推送通知 – Anuj

+0

@Anuj,我添加了一個屏幕應該在你的Xcode應該在哪裏。 – Ruben

4

Automatically manage signing was off for me

自動管理簽名已關閉,我檢查併爲我工作正常。

1

使用Xcode 9推送通知已啓用。

我試過禁用/重新啓用推送通知的功能。 (沒有工作)

我試過禁用/重新啓用自動管理簽署。 (沒有工作)

原來我不得不刪除並重新添加我的配置文件。(see here how to do it您可能必須禁用/重新啓用在病房後自動管理簽署