當你建立一個project時,會要求你輸入product name & company identifier,這兩個property的值should和你在apple developer member center的“Provisioning Portal”的“App IDs"裡建立的bundle identifier (NOT App ID)匹配!如果不匹配的話,push notification feature和cloud
feature則不成功!!
例如,
當你建立的App ID時,設定的"Bundle Seed ID (App ID Prefix)"為"ABX453B", "Bundle
Identifier (App ID Suffix)"為"edu.cityu.MobileCap",那麼你的App ID為"ABX453B.edu.cityu.MobileCap"。
那麼你建立project時,"company identifier"應該設定為"edu.cityu",product name應該設定為"MobileCap",也就是說
company identifier的值 + product name的值 = bundle identifier in App ID
當然即使你建立project時,上面2個屬性的設定和bundle identifier不匹配,還是可以修改的:
1. select project root node in the left navigation panel,在其旁邊出現的panel裡選擇 "Targets" item。這時其旁邊就會出現屬性設定視窗
你會看到"Summary tab"的"bundle identifier",它只可以修改前半部分,即你之前建立project時設定的"edu.cityu“部分,而後面的product name部分無法修改。因此我們不能在這個地方修改它,而要select "info" tab,見
你會看到"bundle identifier"的值為 edu.cityu.${PRODUCT_NAME: XXXX),原來是用了動態參數,難怪上面提到的bundle identifier只能修改一部分。而在這裡則可以全部修改,例如我把它改為”edu.cityu.testApp"。
注意:你的app project的這個"bundle identifier"值必須和你之前建立的App ID的"bundle identifier"匹配
你還能看到"Bundle Name" and "Bundle display name"都設定為動態參數${PRODUCT_NAME}。
Bundle name - is folder name, where your app (including executable file and all resources)
will be stored (Cool Program.app)。建議不要修改bundle name
Bundle display name - is what will be shown on iPhone screen,即當你安裝該app到iPhone上顯示的name。
注意:Bundle
Display name must correspond to Bundle name,即bundle display name和bundle name不能相差太遠。例如bundle name設定為 TheApplication, 而 bundle display name設定為“金瓶梅”,則apple會拒絕你的app。
當然,你也可以在info.plist file裡修改這些屬性。