2010-09-16 88 views
13

我想我的頭很快爆炸了。 我一直在我的應用程序工作一段時間,最後git一個iPhone在設備上進行測試,現在我試圖在iphone上運行我的應用程序,但不能這樣做。我已經做了所有必要的步驟,但得到 [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be foundxcode從哪裏獲取應用程序的標識符?

我provisionign輪廓被稱爲XXXXXXXXX.com.myname.*

在info.plist中我改變捆綁標識符com.myname.myapplication

錯誤我的項目名稱爲MyProject的,因爲我可以」 T改變,但我的目標和可執行文件名爲myapplication

我已經檢查了所有設置,甚至無法找到這個yourcompany任何地方

但仍然得到這個錯誤

哪裏需要我尋求?

謝謝

+1

你可以看看項目的info.plist或項目設置嗎? – vodkhang 2010-09-16 17:15:00

回答

23

Xcode使用的代碼簽名目標的Info.plist文件中找到的包標識符。

選擇哪個Info.plist文件實際上是構建設置(通常在目標中),並且通常由Xcode正確設置。如果您手動將Info.plist的包標​​識符值編輯爲您的標識符,則Xcode應使用此標識符並且代碼簽名應該可以工作。

默認的Info.plist文件包含一個包含Xcode構建設置的包標識符,並在構建目標時處理爲最終標識符。

+0

好吧,我發現在一個項目文件夾文件MyProject-info.plist中包含錯誤的數據,我改變了它現在有效,但我無法在Xcode中看到這個文件,在Xcode我有myapplication-info.plist,我認爲這是不對的,我能用它做什麼?這個文件做什麼? – Burjua 2010-09-17 09:35:20

11

Nikolai Ruhe的答案說:「如果您手動編輯Info.plist的包標​​識符值到您的標識符,Xcode應該使用此標識符和代碼簽名應該工作。」這是真的。但是,現在(我不確定2010年9月的情況如何),xcode使用默認的包標識符,該標識符是變量$ {PRODUCT_NAME}的函數。這個相同的變量用於其他各種地方,例如,作爲包名稱,包顯示名稱等。因此,我建議更改$ {PRODUCT_NAME},然後將此更改傳播到Info.plist的包標​​識符等。

如何更改$ {PRODUCT_NAME}?選擇適當的目標,轉到「構建設置」,展開「包裝」部分,然後編輯「產品名稱」的值。

+0

這並非總是如此。如果您發佈應用程序,但稍後更改產品名稱,則仍需使用舊的捆綁包標識符。在這種情況下,只更改包標識符是個好主意。 – 2013-08-27 12:52:56

1

選擇您的目標,進入總結。將包標識符從com.yourcompany.MyProject更改爲com.myname.myapplication。它應該工作!我一直在使用它,每次都很棒。你也可以從info.plist文件中做同樣的事情。