由于我更改了应用名称,Bundle Display名称和Bundle标识符名称,因此我有点混淆了......现在我的应用程序正常运行,但我今天的小部件赢了。
每当我尝试运行今天的小部件时,它都会成功构建,但它没有被启动,而是说
此应用包含带有非法捆绑包标识符的应用扩展程序。 应用扩展程序包标识符必须包含前缀 他们包含的应用程序的包标识符后跟一个'。'。
但是,我检查了Info.plist,我的包标识符是
com.myname.myappname
我今天的小部件的包标识符是
com.myname.myappname.mywidget
这不对吗?我一次又一次地清理和建造......但它只是不起作用。
没有GOOGLE结果!我是唯一有此问题的人吗?
我的套装名称不是' myappname',如果是问题。
感谢任何帮助。
有些事情变得糟糕,我不知道该去哪儿看!
答案 0 :(得分:24)
如果所选答案不起作用,我发现在导致此问题的某些目标模式之间的xcode切换中似乎存在问题。
在这种情况下,请尝试完全清理,以及清理构建文件夹(在选择产品/清洁时按住ALT)。
<强>附录:强> 由于这种情况现在经常发生在我身上,因此更快的解决方法是删除所有.appex文件。例如:
cd ~/Library/Developer/Xcode/DerivedData
find . -name "*.appex" -exec rm -fr {} \;
答案 1 :(得分:4)
我遇到了与共享扩展程序中的Bundle identifier
类似的问题
app Info.plist: com.company.product.$(PRODUCT_NAME:rfc1034identifier)
ext Info.plist: com.company.product.$(PRODUCT_NAME:rfc1034identifier)
所以我最终得到了
app Info.plist: com.company.product.product
ext Info.plist: com.company.product.product_ext
通过了构建检查但拒绝在错误的设备上运行:
此应用包含带有非法捆绑包标识符的应用扩展程序。应用扩展程序包标识符必须具有前缀,其前缀包含应用程序的包标识符,后跟“。”。
删除额外的product
后,构建会在设备上运行。
app Info.plist: com.company.$(PRODUCT_NAME:rfc1034identifier)
ext Info.plist: com.company.product.$(PRODUCT_NAME:rfc1034identifier)
app Info.plist: com.company.product
ext Info.plist: com.company.product.product_ext
我在意外更改了应用Info.plist
而不是扩展程序Info.plist
时发现了错误。为了帮助调试问题,请在应用程序Info.plist
中引入错误,并且应该在应用和扩展程序的Bundle identifier
处出现构建错误:
ERROR.com.myname.myappname
答案 2 :(得分:4)
对我来说,这是由于我的应用扩展程序的名称错误的捆绑标识符。与@ dougbeal的答案类似,但对我来说格式略有不同:
com.company.AppName
com.company.AppName.Extension
我在"."
Extension
这也解决了与issue
相关的问题