我正在为Android和iOS开发一个应用程序。
我正在使用Firebase接收推送通知。当我为Android编译时,它可以正常工作,但iOS没有运气。
我遵循了有关Firebase的教程,将GoogleService.plist
放在资源文件夹中。我已经在Apple Developer网站上创建了验证密钥。我有一个付费的Apple开发人员帐户。
我使用cocoapods
安装了项目的依赖项。
但是,当我使用Xcode 10运行时,出现此错误:
Plugins/cordova-plugin-firebase/Protobuf.framework/Protobuf(Wrappers.pbobjc.o)
ld: 585 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
有人遇到同样的问题吗? 谢谢
答案 0 :(得分:0)
确保使用以下命令进行构建:
发展
ionic cordova build ios -- --buildFlag="-UseModernBuildSystem=0"
生产
ionic cordova build ios --prod --release -- --buildFlag="-UseModernBuildSystem=0"
如ionic dev team所述,尚不支持新的xcode构建系统,那么您应该使用较旧的xcode。
在Xcode中打开项目时,如果您使用的是将可可豆荚用作依赖项管理器的插件,则以Google Maps为例,应打开ProjectName.xcworkspace
文件而不是ProjectName.xcodeproj
xcworkpace 知道如何基于依赖项编译可可豆荚插件。
答案 1 :(得分:0)
ionic cordova build ios --prod --buildFlag='-UseModernBuildSystem=0'
就像您要偶然发现的一个旁注一样,XCODE暴露了一个签名错误,因此取消选中“自动管理签名”并在XCODE中再次打勾。