2016-01-17 23 views
0

在我的Xcode(7.2)项目(Watchkit和IOS应用程序)中,当我尝试将我的应用程序通过Xcode提交给Itunes连接(使用存档上传)时,出现如下错误:无效的CFBundleIdentier ITMS-90376

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 

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

如果您需要了解更多信息:只是问我

回答

1

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)

如果你看到手表app目标包含compani应用程序包标识符作为前缀后跟watchkitapp和手表套件扩展程序目标包含手表套件应用程序套件标识符作为前缀后跟watchkitextension

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

Here is a complete tutorial to submit a watch app

+0

太感谢你了,我会看里面我的.plist文件和寻找任何不同的标识符。我会告诉你它是否有效。并感谢您的教程 – ahitt6345

+0

老兄,你是一个LIFESAVER。我有这么长时间的这个问题。它只需要你。非常感谢你。我的问题是我给错误的标识符给了plists。他们是相似的,只是错误的。 – ahitt6345

+0

很高兴解决你的问题:) – Muneeba