当你创建一个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里修改这些属性。