2013-10-21 32 views
61

Xcode 5不會讓我更改包標識符。 com.mycompany.之後的應用程序名稱部分變灰。如何在Xcode 5中更改應用程序的包標識符?

我在ITC中創建了一個包標識符,它略有不同,我想使用這個新的包標識符。

我是否必須使用正確的標識符創建一個新的Xcode項目?

+1

快速的方法是重命名您的項目以匹配所需的名稱 - 這是因爲名稱源自PRODUCT_NAME變量。 – Petesh

+4

您可以在exectuable目標的info選項卡中手動更改構建標識符 - 通常將其定義爲com.mycompany。$ {PRODUCT_NAME:rfc1034identifier}',您可以將'$ {PRODUCT_NAME:rfc1034identifier}的值更改爲所需的捆綁包標識符 – Petesh

+5

您也可以更改生成設置的打包部分中的產品名稱變量,該部分更改名稱 – Petesh

回答

14

在您的項目中Info.plist(或在項目選擇的Info選項卡中,它是相同的)將${PRODUCT_NAME:rfc1034identifier}更改爲所需的名稱。之後,它不會變灰。

+0

對我來說,這實際上是最精確和最有幫助的答案,並且我認爲這是海報之後可能發生的確切事情......雖然當然總會有一些猜測。從字面上看,它是「In -Info.plist通過將部分」{PRODUCT_NAME:rfc1034identifier}「更改爲您的首選文本文本來編輯Bundle標識符。這將使您能夠控制包文本。在我的情況下,需要匹配我的團隊的約定爲小寫,而在主屏幕上顯示的應用程序名稱中有大寫字母 –

68

其實這是很簡單的:

  1. 選擇目標
  2. 選擇「信息」選項卡上的「捆綁標識符
  3. 搜索(您可以通過查找該項目的plist文件做相同) 「鍵,您的最終值應爲com.mycompany.${PRODUCT_NAME:rfc1034identifier}

如果您想更改灰色字段,只需將「com.mycompany」替換爲任何您想要的。另一個字段是「產品名稱」(可以從相關密鑰中動態讀取),您可以通過在「生成設置」上設置「產品名稱」鍵來更改它。你也可以做到這一點非常醜陋,並將所有包標識符更改爲任何你想要的,但我不建議這樣做,因爲如果你要添加更多的目標,它將是靜態的,難以維護。

+0

確保您在完成此操作後清理您的版本,它將刷新所有名稱,從而爲我節省了數小時的困惑。 – codeforfood

+1

已更改現在是:'$(PRODUCT_BUNDLE_IDENTIFIER)' –

+0

由於Xcode 7最好在目標版本設置的打包設置中進行更新(Artyom的屏幕截圖顯示),並且不要忘記乾淨版本! –

18

在Xcode 5.1.1中,您可以通過簡單地重命名目標來完成。雙擊目標名稱進行更改。

+1

這個答案很乾淨呃比上面的方法,讓Xcode做所有的工作。 – DerekH

+0

同意。套件ID指向PRODUCT_NAME。 PRODUCT_NAME指向TARGET_NAME。因此,更改目標名稱將傳播到捆綁ID。在我讀到這篇文章之前,我期待將目標名稱看作目標的一個屬性;沒有考慮點擊目標本身來改變它的名字。 – stone

+0

將無法​​在Xcode 6.3.2上工作 –

57
  1. 請選擇您的目標下的目標部分。
  2. 轉至構建設置選項卡。
  3. 向下滾動至包裝
  4. 產品名稱更改爲所需的。

Pic

+1

這是更改包標識符的方式,因爲您通過不修改或刪除預定義的常量來遵守Xcode的約定。 – yeyo

+2

很好的答案。注意,如果您正在購買應用程序,您將不得不手動創建新的應用程序ID。提交後可能不好更改包ID。 – smileBot

+1

工作!感謝截圖,幫助我很多 –

0

我不得不爲我的項目也做到這一點,並發現它很容易在Xcode 5.1.1通過只是在導航重命名項目名稱完成,讓Xcode中找到你需要的所有字符串自動更改。只要確保先簽入或創建項目快照即可。

0

您的包標識符基於PRODUCT_NAME。

默認情況下,PRODUCT_NAME基於TARGET_NAME,它很難更改(在撰寫本文時爲XCode6)。所以如果有必要,不要害怕在這裏強加一個不同的名字。

相關問題