无效的 CFBundleIdentier ITMS-90376

Invalid CFBundleIdentier ITMS-90376

在我的 Xcode(7.2) 项目(Watchkit 和 IOS 应用程序)中,我在尝试将我的应用程序的构建(使用存档上传)提交到 Itunes 连接时遇到错误Xcode 看起来像:

ERROR ITMS-90376 "Invalid CFBundlerIdentifier. The CFBundleIdentifier value 'com.MYCOMPANY.MY-APP' 
of watch application 'MY-APP.app/Watch/MY APP Watchkit App.app' does not properly 
extend the CFBundleIdentifier value 'com.MYCOMPANY.MY-APP' of its containing 
iOS application."

有几个我想要的东西(不一定按这个顺序):

  1. CFBundleIdentifier 和应用程序包标识符有什么区别?
  2. 在哪里可以找到 CFBundleIdentifier?
  3. 这个错误是什么意思?
  4. 我该如何解决这个错误?

编辑:我忘了说它还给了我第二次警告:

iTunes operation succeeded with a warning.
The resulting API analysis file is too large We were unable to validate your API usage

我试着寻找有同样错误的人(运气不好)。 然后我试着找有类似错误的人(没有解决我的问题)。

如果您需要更多信息:尽管问我

CFBundleIdentifierCore Foundation KeyBundle Identifier 是它的 Xcode 名称,您可以在项目的 Info.plist 文件中找到相同的键。

More about Core Foundation Keys

在手表应用程序中,您可以遵循特定格式为 iOS 应用程序、手表应用程序和扩展程序捆绑标识符。

  1. iOS 应用程序目标( 捆绑包标识符 : com.companyName.AppName)
  2. WatchKit 应用程序目标(捆绑包标识符:com.companyName.AppName.watchkitapp)
  3. WatchKit 扩展目标(捆绑包标识符:com.companyName.AppName.watchkitapp.watchkitextension)

如果您看到手表应用程序目标包含配套应用程序包标识符作为前缀,后跟 watchkitapp 并且手表套件扩展目标包含手表套件应用程序包标识符作为前缀,后跟 watchkitextension.

您只需在每个目标的 plist 文件中设置适当的标识符即可。

Here is a complete tutorial to submit a watch app