在Xcode 14.XX中,我在旧项目中添加了一个Widget extension,以支持iOS 16.XX中的新动态岛功能。在该项目中已经有一个小部件扩展和Pod,包括Firebase(核心,崩溃等)。当我添加扩展并尝试编译时,我得到这些错误:
Widget extension
Multiple commands produce /Users.......
修复上述错误后,我得到了id Framework not found FirebaseCore(在我的情况下)。如何修复这些错误?
id Framework not found FirebaseCore
ffdz8vbo1#
对于任何在这个问题上挣扎的人,这里是我想出的解决方案。在Xcode 14.2 iOS 16.2上对包含Swift和Flutter的旧Objective C项目进行了测试。首先在Apple开发者门户为您的新Widget注册一个Bundle id,然后在创建窗口的XcodeNew-〉Target-〉Widget Extension中,确保它与您在Apple开发者门户的预置描述文件中创建的Bundle id同名,然后单击ok。然后转到"签名和功能"下的Widget扩展目标,如果您的证书管理未设置为自动导入或下载配置文件。然后,如果你试图编译,你很可能(在我的情况下,无论如何)得到这个编译错误:
要解决这个错误,请进入小部件扩展目标-〉构建设置并在下面输入搜索模块名称,如果名称与您的主目标名称相同,请将其更改为您喜欢的任何名称,只要不同,这应该可以解决这个错误。在我的例子中,当你尝试再次编译后,我得到了一个编译器错误,说:
要再次修复错误在Widget Target上的构建设置下,请转到-〉Build Settings-〉other linker flags并删除其中的所有值(如果有)。这应该可以解决此编译器错误,并且项目应该可以生成和运行。干杯。
1条答案
按热度按时间ffdz8vbo1#
对于任何在这个问题上挣扎的人,这里是我想出的解决方案。
在Xcode 14.2 iOS 16.2上对包含Swift和Flutter的旧Objective C项目进行了测试。
首先在Apple开发者门户为您的新Widget注册一个Bundle id,然后在创建窗口的XcodeNew-〉Target-〉Widget Extension中,确保它与您在Apple开发者门户的预置描述文件中创建的Bundle id同名,然后单击ok。
然后转到"签名和功能"下的Widget扩展目标,如果您的证书管理未设置为自动导入或下载配置文件。
然后,如果你试图编译,你很可能(在我的情况下,无论如何)得到这个编译错误:
要解决这个错误,请进入小部件扩展目标-〉构建设置并在下面输入搜索模块名称,如果名称与您的主目标名称相同,请将其更改为您喜欢的任何名称,只要不同,这应该可以解决这个错误。
在我的例子中,当你尝试再次编译后,我得到了一个编译器错误,说:
要再次修复错误在Widget Target上的构建设置下,请转到-〉Build Settings-〉other linker flags并删除其中的所有值(如果有)。
这应该可以解决此编译器错误,并且项目应该可以生成和运行。
干杯。