“此应用包含带有非法捆绑标识符的应用扩展程序”问题

时间:2015-01-18 04:59:55

标签: xcode ios8-today-widget bundle-identifier

由于我更改了应用名称,Bundle Display名称和Bundle标识符名称,因此我有点混淆了......现在我的应用程序正常运行,但我今天的小部件赢了。

每当我尝试运行今天的小部件时,它都会成功构建,但它没有被启动,而是说

  

此应用包含带有非法捆绑包标识符的应用扩展程序。   应用扩展程序包标识符必须包含前缀   他们包含的应用程序的包标识符后跟一个'。'。

但是,我检查了Info.plist,我的包标识符是

  

com.myname.myappname

我今天的小部件的包标识符是

  

com.myname.myappname.mywidget

这不对吗?我一次又一次地清理和建造......但它只是不起作用。

没有GOOGLE结果!我是唯一有此问题的人吗?

我的套装名称不是' myappname',如果是问题。

感谢任何帮助。

有些事情变得糟糕,我不知道该去哪儿看!

3 个答案:

答案 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

相关的问题