最近,我在Windows 10计算机和Mac上升级了我的组件(Cordova,node.js,Ionic等),以便(或多或少)更新。
在不同的PC上使用Visual Studio 2015我正在开发一个混合移动应用程序,它可以在Android上构建。
然而,对于iOS,当我在Mac上启动remotebuild --secure false
并尝试从我的Windows PC部署文件时,它最终失败,并在我的Mac上的build.log中看到以下错误,具体如下:
duplicate symbol _OBJC_CLASS_$_CDVLogger in:
/Users/Joey/Library/Developer/Xcode/DerivedData/MY-FAMOUS-APP-aeghcglepsoouoeuminlbzuvljeu/Build/Intermediates.noindex/MY-FAMOUS-APP.build/Debug-iphoneos/MY-FAMOUS-APP.build/Objects-normal/armv7/CDVLogger.o
/Users/Joey/Library/Developer/Xcode/DerivedData/MY-FAMOUS-APP-aeghcglepsoouoeuminlbzuvljeu/Build/Products/Debug-iphoneos/libCordova.a(CDVLogger.o)
duplicate symbol _OBJC_METACLASS_$_CDVLogger in:
/Users/Joey/Library/Developer/Xcode/DerivedData/MY-FAMOUS-APP-aeghcglepsoouoeuminlbzuvljeu/Build/Intermediates.noindex/MY-FAMOUS-APP.build/Debug-iphoneos/MY-FAMOUS-APP.build/Objects-normal/armv7/CDVLogger.o
/Users/Joey/Library/Developer/Xcode/DerivedData/MY-FAMOUS-APP-aeghcglepsoouoeuminlbzuvljeu/Build/Products/Debug-iphoneos/libCordova.a(CDVLogger.o)
ld: 2 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我读了很多关于在XCode中做一些疯狂事情的可能解决方案,这些解决方案并不针对我的问题:我只使用Angular.JS,Cordova和Ionic在Visual Studio中编写代码,并希望在任一个中启用自动设置在我的电脑上用Visual Studio编写的文件。也许如here所述的钩子可以工作,但我不知道写什么以及怎么写。
但是,如果没有可用的Visual Studio 2015解决方案,我很乐意收到有关XCode 9中更改内容的提示。
答案 0 :(得分:5)
根据http://cordova.apache.org/announcements/2017/09/08/ios-release.html:
重要!如果您在项目中添加了
cordova-plugin-console
,则必须删除,否则您的项目将无法构建。
这导致我的本地构建失败。不确定这个问题是否也属于你,但你总是可以尝试删除它?
cordova plugin rm cordova-plugin-console
并尝试再次构建?