错误:应用程序包不包含有效标识符

时间:2011-05-20 13:38:59

标签: ios cocos2d-iphone xcode4

我的应用程序成功编译后,我收到此错误“应用程序包不包含有效的标识符”。此错误阻止我的游戏在手机或模拟器上启动。我不知道如何解决这个问题,因为我正在使用Cocos2d学习本教程How To Make A Space Shooter iPhone Game

7 个答案:

答案 0 :(得分:11)

在我的情况下(使用fastpdfkit,在3分钟后),Info.plist没有被复制到捆绑包中。我不得不手动(重新)将其添加到“Buildphase> Copy Bundle Resources”

答案 1 :(得分:8)

导致此错误消息的问题是我有一个名为"资源"的文件夹:

  

如果您的项目有一个名为' Resources&#39 ;;的子目录,也可能导致此错误。还有其他特殊的名字,我没有绊倒过。 - source

我还没有从Buildphase中找到-Info.plist文件(感谢他的answer above竖起大拇指)。

答案 2 :(得分:6)

删除DerivedData路径~/Library/Developer/Xcode/DerivedData

答案 3 :(得分:4)

这可能是因为包标识符中包含无效字符或其中没有字符。捆绑包标识符位于Info.plist文件中。

这是构成有效的应用程序包标识符的原因:

  

包标识符字符串   确定您的申请   系统。这个字符串必须是统一的   包含的类型标识符(UTI)   只有字母数字(A-Z,a-z,0-9),   连字符( - )和句点(。)字符。   字符串也应该在   反向DNS格式。例如,如果   贵公司的域名是Ajax.com和   你创建一个名为Hello的应用程序,   你可以分配字符串   com.Ajax.Hello作为你的应用程序   包标识符。捆绑   标识符用于验证   申请签名。   source (apple developer)

这也可能有用:

  

iOS和Mac OS X使用的标识符   识别任何未来的更新   你的应用。你的Bundle ID必须是   注册Apple并且独一无二   你的应用。捆绑ID是app-type   特定的(iOS或Mac OS X)。该   相同的Bundle ID不能同时用于两者   iOS和Mac OS X应用程序。   source

这是一个双重帖子 - 我在gamedev.stackexchange.com发布了相同的答案。

答案 4 :(得分:2)

出于某种原因,Xcode从应用目标中删除了Info.plist文件..

  1. 在Project Navigator中选择Info.plist
  2. Project Navigator

    1. 勾选应用程序框
    2. Target Membership

      1. 清洁+构建+运行

答案 5 :(得分:1)

有同样的问题。这就是它自己解决的问题:

  1. Build Phases > Target DependenciesBuild Phases > Embed App Extensions阶段删除所有扩展程序。
  2. 运行Product > Clean
  3. 尝试编译。对我而言,它完美无缺。
  4. 逐个添加您的扩展程序,并在添加每个扩展程序后Product > Clean + Product > Run
  5. 希望这有帮助。

答案 6 :(得分:0)

就我而言,一个简单的干净选项-com-K和shift-option-command-K就可以了。