小部件扩展框架未找到错误和多个命令产生错误Xcode 14.XX修复

tgabmvqs  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(175)

在Xcode 14.XX中,我在旧项目中添加了一个Widget extension,以支持iOS 16.XX中的新动态岛功能。
在该项目中已经有一个小部件扩展和Pod,包括Firebase(核心,崩溃等)。
当我添加扩展并尝试编译时,我得到这些错误:

Multiple commands produce /Users.......

修复上述错误后,我得到了id Framework not found FirebaseCore(在我的情况下)。
如何修复这些错误?

ffdz8vbo

ffdz8vbo1#

对于任何在这个问题上挣扎的人,这里是我想出的解决方案。
Xcode 14.2 iOS 16.2上对包含Swift和Flutter的旧Objective C项目进行了测试。
首先在Apple开发者门户为您的新Widget注册一个Bundle id,然后在创建窗口的XcodeNew-〉Target-〉Widget Extension中,确保它与您在Apple开发者门户的预置描述文件中创建的Bundle id同名,然后单击ok。
然后转到"签名和功能"下的Widget扩展目标,如果您的证书管理未设置为自动导入或下载配置文件。
然后,如果你试图编译,你很可能(在我的情况下,无论如何)得到这个编译错误:

Multiple commands produce /Users.......

要解决这个错误,请进入小部件扩展目标-〉构建设置并在下面输入搜索模块名称,如果名称与您的主目标名称相同,请将其更改为您喜欢的任何名称,只要不同,这应该可以解决这个错误。
在我的例子中,当你尝试再次编译后,我得到了一个编译器错误,说:

id Framework not found FirebaseCore

要再次修复错误在Widget Target上的构建设置下,请转到-〉Build Settings-〉other linker flags并删除其中的所有值(如果有)。
这应该可以解决此编译器错误,并且项目应该可以生成和运行。
干杯。

相关问题