2015-03-02 207 views
58

我創建了一個iPhone應用程序,它還包含一個WatchKit擴展,我可以在模擬器中運行這個罰款,但是當試圖部署到iPhone時,我得到了WatchKit擴展目標的配置問題:Watchkit擴展 - 沒有找到匹配的配置文件

「構建設置(」XXXX「)中指定的配置文件的AppID爲」XXXX「,與您的捆綁軟件標識符」XXXX.watchkitextension「不匹配Xcode可以通過下載新的配置文件來解決此問題來自會員中心「。

Xcode自動創建帶有後綴.watchkitextension和.watchkitapp的WatchKit目標,但這似乎會導致使用配置文件並部署到iPhone時出現的問題。

如果我刪除watchkit目標,它運行良好,但這顯然不是一個解決方案。

感謝您的幫助

+0

我們需要等待更多一點。在正式發佈日期前兩週左右,Apple會給我們將應用程序上傳到App Store的可能性。 – 2015-03-09 21:46:38

+0

看看我的答案在這裏: http:// stackoverflow。com/a/30663352/3717931 希望這有助於。 – Jouhar 2015-06-05 09:51:50

回答

1

通常,當你得到的是錯誤的,因爲你的軟件包ID不匹配的應用程序ID,它是在提供。

對於手錶擴展,如果要在擴展名之間共享數據或文件,則需要將應用程序服務App Group添加到與您的規定相關聯的應用程序ID標識符,位於developer.apple.com門戶網站上和你的應用程序

https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/DesigningaWatchKitApp.html

104

您需要在開發者門戶網站爲您Watchkit應用和Watchkit推廣正確的束標識符來創建兩個新的AppIDs。軟件包標識符必須延長主應用標識符,因此,如果您的應用程序是com.myapp應該com.myapp.watchkitextensioncom.myapp.watchkitapp

您還需要建立相關的供應型材爲AppIDs,一個用於擴展和一個用於應用程序。
如果您在Watch應用中使用它們,請添加所需的附加組件(如鑰匙串)。總而言之,您需要6個PP,3個用於開發,3個用於存檔/存儲。和Xcode 6.3的開發團隊配置停止工作(for me

下一頁轉到的Xcode>首選項>帳戶> YOUR_ACCOUNT>查看詳細...,CTRL +單擊配置文件之一,在Finder中打開。將所有配置文件移至廢紙簍,然後刷新配置文件。

在您的目標中,確保您爲主要應用目標,Watchkit擴展目標和Watchkit應用目標設置了正確的團隊,還要確保將正確的Provisioning Profiles分配給主App目標和Watchkit擴展目標(Watchkit應用程序提供配置文件不能設置,但會自動分配編輯:對於Xcode 6.3,它必須設置爲)。

要確保所有的罰款乾淨生成文件夾:在Xcode中保持命令,做產品>乾淨生成文件夾...

現在你已經準備好存檔。

+5

我發現奇怪的是,Xcode爲應用程序和watchkitextension創建配置文件,但它不會爲watchkitapp獲取分配的一般「XC *」配置文件。它也驗證並上傳到iTunes Connect。 – Rivera 2015-04-23 12:46:45

+1

當試圖爲擴展程序和應用程序創建新的應用程序ID時,我收到以下消息:「帶有標識符'com.myapp.watchkitextension'的應用程序ID不可用,請輸入其他字符串。我卡住了。需要創建新的應用ID和相關的配置文件,但ios開發中心不允許我。 – 2015-06-02 13:47:37

+0

@dogsgod,任何想法如何爲擴展和應用程序創建應用程序ID? – 2015-06-02 14:25:05

2

我做了3個App ID(對於容器應用程序,watchkit擴展和watchkit應用程序)屬於3個供應配置文件。 (我打算使用AppGroup,因此我的應用程序無法共享單個App ID。) 爲容器應用程序和watchkit擴展設置2個配置配置文件,我的應用程序的存檔無法通過Xcode的驗證過程。

在我的情況下,關鍵是要設置WATCHKIT APP的配置文件。設置它,它通過驗證過程,併成功提交應用程序。

我的設置步驟如下:WatchKit應用的

  1. 在Xcode中,打開 「目標」。
  2. 選擇「Build Settings」選項卡。
  3. 在選項卡的下一行中,選擇「全部」而不是「基本」。
  4. 您可以在「代碼簽名」部分找到「Provisioning Profile」行。
  5. 設置您的適當配置文件。

有一段時間,我相信第三方應用程序開發者不能設置在Xcode供應WatchKit應用程序的配置文件。 注意到我們可以設置它,現在答案已經很清楚...

+0

「設置你的適當配置文件。」對同樣的問題的其他答案建議使用「自動」,在我的情況下沒有工作。選擇特定的配置文件確實有效。 – nicc 2015-07-13 14:43:17

0

在我的案例中,問題與其他問題不同。我嘗試了一切,但沒有解決我的問題。 讓我解釋我的情況,然後解釋我如何解決它。 首先將Today Extension添加到我的項目中。我爲我的App Extension創建了不同的包ID。例如,如果我的應用程序的包ID爲com.company.appname,我爲我的擴展創建了類似於「com.company.appname.TodayExtension」的東西。我正在使用XCode V6.3.2(6D2105)和XCode自動(在您的構建設置(「AppName」)中指定的供應配置文件的AppID爲「BundleID」,與您的包標識符「BundleID2」不匹配。通過從會員中心下載新的供應配置文件解決此問題...當然,我單擊「修復問題」按鈕)爲Today Extension創建供應配置文件。

之後,我在應用程序中添加了「應用程序組」,並繼續編寫了一段時間。但是,當我嘗試將我的應用程序發送到AppStore(產品/存檔/提交到AppStore)時,出現這樣的錯誤:「沒有有效的配置配置文件允許指定的權利:beta-reports-active,com.apple.security 。應用基」。

你必須知道,「應用程序組」可能是關鍵點,你太...

請進入會員中心/證書,標識&概況/供應概況/分配部分。找到您的應用程序的分發配置文件並選擇它。正如你可以看到你的配置文件的狀態是「無效的(就像我的情況)。然後這裏是解決方案,然後點擊編輯按鈕,然後生成按鈕,現在請對所有」無效「配置文件重複此操作。重新驗證,現在您可以返回到您的XCode項目並更新Mac中的本地條款。轉到:Xcode>首選項>帳戶> YOUR_ACCOUNT>查看詳細信息...,CTRL +單擊其中一個配置文件並在Finder中打開。所有配置文件刪除,然後刷新配置文件「。

現在產品/清潔和(希望最後一次)產品/檔案並提交給AppStore。

一般來說,因爲你添加的應用程序組到應用程序它的發生,但你以後未得到驗證所有配置文件。

也許這將幫助別人。

0

我跟着Technical Q&A QA1814,並且解決了這一切對我來說。基本上你把所有設置爲自動iOS Developer。設置團隊非常重要:首先,進行更改,然後更改回您的團隊,然後重新啓動Xcode。

我的情況是,我已經建立了一個「正常」的iOS應用程序供應配置文件和證書。我已經成功地發佈了應用程序。 現在我需要在我爲現有應用程序添加一個新的WatchKit目標後才能使用它。我收到了很多錯誤,比如「沒有匹配的配置文件」等。經過幾個小時的麻煩,我在QA1814文章中跟蹤了這些路線,瞧! - Xcode爲我解決了一切。沒有需要改變/解決/更新任何內容,會員中心等

同樣重要的正確使用捆綁的ID。 WatchKit應用程序和WatchKit擴展必須使用與iOS應用程序目標相同的包ID前綴。

如果iOS應用具有束編號:[捆綁ID],所述WatchKit目標需要是:

  • WatchKit應用程序:[包ID] .watchkit
  • WatchKit擴展:[Bundle ID] .watchkit.extension
3

我的情況我已經清除了其他用戶建議的所有配置文件,然後我有從應用程序父級和擴展目標中的「構建設置」中刪除「代碼簽名權利」,並在重建和歸檔後刪除「代碼簽名權利」。

code signing entitlements from build Settings

+0

在爲我工作2天后,xcode變得非常嘈雜,無法發佈 – 2016-12-19 11:06:14

0

當你在Xcode更新您的證書,並再次編譯你的程序,真機調試將是「您的構建設置指定供應配置文件有UUID‘XXX’,清晰,無以供應曲線Xcode可以通過從成員中心下載新的配置文件來解決此問題。「


  1. 關閉該項目,發現項目文件XXXX。 Xcodeproj,右鍵單擊文件,選擇「Show Package Contents」(顯示包裝內容)。將打開一個新的Finder。
  2. 在新打開的Finder中找到該項目。 Pbxproj,並打開,找到你所有包含錯誤'XXX'行的UUID,刪除。
  3. 保存,重啓項目,然後構建,就OK了。
相關問題