【发布时间】:2011-08-29 16:30:58
【问题描述】:
在我的应用程序成功编译后,我收到此错误“应用程序包不包含有效标识符”。此错误会阻止我的游戏在手机或模拟器上启动。我不知道如何解决这个问题,因为我正在使用 Cocos2d 遵循本教程 How To Make A Space Shooter iPhone Game。
【问题讨论】:
标签: ios cocos2d-iphone xcode4
在我的应用程序成功编译后,我收到此错误“应用程序包不包含有效标识符”。此错误会阻止我的游戏在手机或模拟器上启动。我不知道如何解决这个问题,因为我正在使用 Cocos2d 遵循本教程 How To Make A Space Shooter iPhone Game。
【问题讨论】:
标签: ios cocos2d-iphone xcode4
在我的情况下(使用 fastpdfkit,在 3-minute-tut 之后),Info.plist 没有被复制到包中。我不得不手动(重新)将它添加到“Buildphase > Copy Bundle Resources”
【讨论】:
对我来说导致此错误消息的问题是我有一个名为“资源”的文件夹:
如果您的项目有一个名为“资源”的子目录,也可能会导致此错误;可能还有其他我没有绊倒的特殊名称。 - source
我还发现 Buildphase 中缺少 -Info.plist 文件(感谢他的 answer above 竖起大拇指)。
【讨论】:
这可能是因为包标识符中包含无效字符或没有字符。捆绑标识符位于 Info.plist 文件中。
这构成了一个有效的应用程序包标识符:
捆绑标识符字符串 标识您的应用程序 系统。这个字符串必须是统一的 类型标识符 (UTI) 包含 只有字母数字(A-Z、a-z、0-9), 连字符 (-) 和句点 (.) 字符。 字符串也应该在 反向 DNS 格式。例如,如果 贵公司的域名是 Ajax.com 并且 你创建了一个名为 Hello 的应用程序, 你可以分配字符串 com.Ajax.Hello 作为应用程序的 捆绑标识符。捆绑 标识符用于验证 应用程序签名。 source (apple developer)
这也可能有用:
iOS 和 Mac OS X 使用的标识符 识别任何未来的更新 你的应用程序。您的捆绑包 ID 必须是 在 Apple 注册并且独一无二 你的应用程序。捆绑包 ID 是应用程序类型 特定的(iOS 或 Mac OS X)。这 相同的 Bundle ID 不能同时用于两者 iOS 和 Mac OS X 应用程序。 source
这有点像双重帖子 - 我在 gamedev.stackexchange.com 发布了相同的答案。
【讨论】:
删除DerivedData路径~/Library/Developer/Xcode/DerivedData
【讨论】:
有同样的问题。这就是它自己解决的方法:
Build Phases > Target Dependencies 和Build Phases > Embed App Extensions 阶段中删除所有扩展。Product > Clean。Product > Clean + Product > Run。希望这会有所帮助。
【讨论】:
在我的例子中,一个简单的干净的 option-command-K 和 shift-option-command-K 就可以了。
【讨论】: