在xC is iode编译一个应用的today widget时,修改了它的bundle identifier 后,不能再安装了。
报错如下:
THIS APP CONTAINS AN APP EXTENSION WITH AN ILLEGAL BUNDLE IDENTIFIER. APP EXTENSION BUNDLE IDENTIFIERS MUST HAVE A PREFIX CONSISTING OF THEIR CONTAINING APPLICATION’S BUNDLE IDENTIFIER FOLLOWED BY A ‘.’.
这个问题到这里并不严峻。
当我查遍Google和StackOverflow后竟然发现没找到解决方案,之后我就根据提示尝试修改了TodayWidget的BundleID和Share的地址,发现也没有用。
后来发现StackOverflow上的一个大神的解决办法:
一个产品的today widget的bundle identifier 修改后,竟然不能安装。
THIS APP CONTAINS AN APP EXTENSION WITH AN ILLEGAL BUNDLE IDENTIFIER. APP EXTENSION BUNDLE IDENTIFIERS MUST HAVE A PREFIX CONSISTING OF THEIR CONTAINING APPLICATION’S BUNDLE IDENTIFIER FOLLOWED BY A ‘.’.
当我查遍Google和StackOverflow后竟然发现没找到解决方案,之后我就根据提示尝试修改了TodayWidge的BundleID和Share的地址,发现也没有效果。
后发现StackOverflow上的一个大神的解决办法:
手工修改info.plist中的bundle identifier,然后也没什么用。
但是没有找到我的项目中的相应描述。因为现在TodayWidget在我项目中还不是急需的,第一版本不会加这个功能,我就干脆把项目中跟Widget有关的东西包括Target都删除掉了。
竟然发现还是不行!!
突然发现是忘了Clear项目了,clear了一下就ok了?
不,不,不,我这里还是不行。
冷静下来,仔细分析xcode的编译过程。
在today widget 的schema里,打开一看,竟然还是关联着原来的schema,这里是写死了。
删除掉老的,添加新的,OK了。
问题解决!
这是全球第一个真正解决这个问题的方法。