Xcode的Product Name、Bundle Name、Bundle Display Nam

 Xcode的Product Name、Bundle Name、Bundle Display Name


摘要 今天看到一份代碼Build Settings中的Product Name與在模擬器/真機上顯示的名字不一致,挺奇怪的,之前一直覺得Product Name就是顯示的應用名。小小研究了一下應用名顯示問題,終於弄懂了。html


今天看到一份代碼Build Settings中的Product Name與在模擬器/真機上顯示的名字不一致,挺奇怪的,之前一直覺得Product Name就是顯示的應用名。小小研究了一下應用名顯示問題,終於弄懂了。ios

一般咱們在 info.plist 中,能夠看到相似以下配置:app

?ui

1
2
3
Bundle Display Name - ${PRODUCT_NAME}
Executable File - ${EXECUTABLE_NAME}
Bundle Name - ${PRODUCT_NAME}

相關說明:spa

Bundle name – is folder name, where your app (including executable file and all resources) will be stored (Cool Program.app). Executable name – is a program binary name, i.e. Cool Program.app/CoolProgram Bundle display name – is what will be shown on iPhone screen, for example Cool Prog (since Cool Program probably will not fit on Springboard). And, Apple claims, that Bundle Display name must correspond to Bundle name, i.e. you cannot use bundle name TheApplication, and bundle display name Something Other.net

  • Bundle name 簡單來講就是 App 安裝到 iOS 機子裏的 App 文件夾名。調試

  • Executable name  –  執行程序名,默認與 PRODUCT_NAME 一致。code

  • Bundle display name  –  真正顯示到用戶屏幕上的 App 名稱。orm

可見在模擬器/真機上顯示的名字是由Bundle Display Name決定的。默認狀況下Bundle Display Name就等同於Product Name,因此就形成了我認爲Product Name就是應用顯示名的錯覺。htm

另外發現,在部分狀況下若是Product Name爲中文字符,會致使編譯運行在真機時,第一次必報 Could not inspect the application package. 錯誤,這個能夠參考《使用 Xcode6 在 iOS8 設備上調試報錯 Could not inspect the application package》。

估計我看的這份代碼就是遇到了這種狀況,將Product Name設置成爲了英文名,而將Bundle Display Name設置爲中文名。

相關文章
相關標籤/搜索