2015-10-14 67 views
8

升級到Xcode 7後,我注意到CFBundleIdentifier已經開始指向在構建設置/包裝中找到的產品包標識符,而不是Info.Plist中的包標識符。 有什麼辦法可以改回來嗎?或者它只是簡單地指向Bundle Identifier,即在Product Bundle Identifier字段中寫入$(BUNDLE_IDENTIFIER)?使用Bundle標識符而不是使用Xcode 7的產品包標識符

回答

19

你應該在你的Info.plist中的$(PRODUCT_BUNDLE_IDENTIFIER)和設置您的產品包標識符生成設置>產品捆綁標識符與像com.mydomain.myappname的值。

從Xcode的7.0版本說明:

新的版本設置產品捆綁標識符(PRODUCT_BUNDLE_IDENTIFIER)是設置捆綁標識符爲目標的推薦的地方。通過在CFBundleIdentifier鍵的值中引用它作爲$(PRODUCT_BUNDLE_IDENTIFIER),應該將目標的Info.plist配置爲使用此構建設置。

Xcode提供爲您在問題導航器中接受「升級到推薦的設置」項目現代化時進行配置,除非您的目標預先處理其Info.plist文件。在這種情況下,您需要手動配置此設置。此更改與舊版Xcode向後兼容。

如果您的目標預處理Info.plist文件,則需要進行此更改才能使某些功能正常工作,例如按需資源。 (20887827)

+3

這是現在推薦的方法。另外:如果您決定繼續在Info.plist中的CFBundleIdentifier值中使用動態值,則準備運行構建問題。 – Webdevotion

+0

感謝您的路徑... – Karun

+0

這裏沒有引起注意,導致了很多配置問題,因爲我的CFBundleIdentifier有一個動態追加的調試後綴。 – nobre