Alm*_*aju 3 xcode ios cordova meteor ionic-framework
我正在使用Meteor在Xcode for iOS中编译时出现错误,因为我将Xcode升级到iOS 11并将Meteor升级到1.5.2
流星控制台中的构建运行良好但是当尝试在Xcode上运行时,我收到错误.
以下是详细信息:
duplicate symbol _OBJC_CLASS_$_CDVLogger in:
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Intermediates.noindex/Shotgun.build/Debug-iphonesimulator/Shotgun.build/Objects-normal/x86_64/CDVLogger.o
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Products/Debug-iphonesimulator/libCordova.a(CDVLogger.o)
duplicate symbol _OBJC_METACLASS_$_CDVLogger in:
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Intermediates.noindex/Shotgun.build/Debug-iphonesimulator/Shotgun.build/Objects-normal/x86_64/CDVLogger.o
/Users/almaju/Library/Developer/Xcode/DerivedData/Shotgun-gfxenslogefzngcppvotdeekcsof/Build/Products/Debug-iphonesimulator/libCordova.a(CDVLogger.o)
ld: 2 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我的项目中有这些插件:
cordova-android-support-gradle-release@0.0.2
cordova-custom-config@2.0.3
cordova-plugin-dialogs@1.3.3
cordova-plugin-facebook4@1.9.1
cordova-plugin-inappbrowser@1.7.1
cordova-plugin-meteor-webapp@1.4.2
cordova-plugin-splashscreen@4.0.3
cordova-plugin-statusbar@2.2.3
cordova-plugin-vibration@2.1.5
de.appplant.cordova.plugin.local-notification@0.8.4
org.apache.cordova.dialogs@1.3.1
org.apache.cordova.vibration@2.1.3
Run Code Online (Sandbox Code Playgroud)
我一直在寻找,尝试meteor reset或删除并重新添加ios平台,使用Build Settings等等,但似乎没有解决这个问题......
在构建中查看cordova_plugins.js,我可以看到:
{
"id": "cordova-plugin-console.console",
"file": "plugins/cordova-plugin-console/www/console-via-logger.js",
"pluginId": "cordova-plugin-console",
"clobbers": [
"console"
]
},
{
"id": "cordova-plugin-console.logger",
"file": "plugins/cordova-plugin-console/www/logger.js",
"pluginId": "cordova-plugin-console",
"clobbers": [
"cordova.logger"
]
},
Run Code Online (Sandbox Code Playgroud)
可能是问题,但我不知道如何在流星建设中防止这种情况......
似乎该cordova-plugin-console功能已移至主Cordova文件中.如果您使用的是较新版本的Cordova,最终会得到两个Console Logger代码副本,并且您会收到XCode错误.
要摆脱这个问题,您需要运行:
cordova plugin remove cordova-plugin-console
Run Code Online (Sandbox Code Playgroud)
然后确保package.json在dependencies或plugins部分的文件中没有条目.
我建议你删除并重新安装ios你的项目平台,以确保一切都干净,但你可能不需要.
cordova platform remove ios
cordova platform add ios
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一些关于这个问题的评论:https://forum.ionicframework.com/t/getting-error-on-ios-build/109326/3
| 归档时间: |
|
| 查看次数: |
674 次 |
| 最近记录: |