"This app contains an app extension with an illegal bundle identifier"问题



我有点混淆了,因为我更改了应用程序名称、捆绑显示名称和捆绑标识符名称......现在我的应用程序可以正常工作,但我的"今日"小部件无法正常工作。

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

此应用包含具有非法捆绑标识符的应用扩展。 应用扩展捆绑标识符的前缀必须包含 它们包含应用程序的捆绑标识符,后跟"."。

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

com.myname.myappname

我的今天小部件的捆绑标识符是

com.myname.myappname.mywidget

这不是刚刚好吗??我一次又一次地清洁和建造..但它就是行不通。

而且没有谷歌结果!我是唯一有这个问题的人吗?

我的捆绑包名称不是"myappname",如果这是问题所在。

任何帮助,不胜感激。

有些东西变坏了,我不知道去哪里找!

如果所选答案不起作用,我发现 xcode 在某些目标模式之间切换似乎存在问题,这导致了这种情况。

在这种情况下,请尝试进行彻底清理,以及清理构建文件夹(选择产品/清理时按住 ALT)。

补遗:由于现在这种情况对我来说经常发生,因此更快的解决方法是同时删除所有.appex文件。 例如:

cd ~/Library/Developer/Xcode/DerivedData
find . -name "*.appex" -exec rm -fr {} ;

我在共享扩展中的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
对我来说,

这是因为我的应用程序扩展的捆绑标识符命名错误。与@dougbeal的答案类似,但对我有用的格式略有不同:

com.company.AppName
com.company.AppName.Extension

我错过了"."之前Extension

这也解决了与问题相关的问题

相关内容

最新更新