将cordova文件插件添加到现有ios项目时,重复符号_kCDVFilesystemURLPrefix

时间:2015-06-17 04:24:08

标签: ios cordova

我有一个现有的ios项目,我想使用cordova Web视图(带插件)。我已经按照手机档位文档中的instructions进行了操作,我的项目也成功编译了。

但是,当我想将文件插件添加到我的项目时,我收到以下错误:

Ld /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphonesimulator/appworks-ios.app/appworks-ios normal i386
cd /Users/jibrahim/workspace/appworks-ios
export IPHONEOS_DEPLOYMENT_TARGET=8.3
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.3.sdk -L/Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphonesimulator -L/Users/jibrahim/workspace/appworks-ios/Pods/GGLInstanceID/Libraries -L/Users/jibrahim/workspace/appworks-ios/Pods/Google/Libraries -L/Users/jibrahim/workspace/appworks-ios/Pods/GoogleCloudMessaging/Libraries -L/Users/jibrahim/workspace/appworks-ios/Pods/GoogleInterchangeUtilities/Libraries -L/Users/jibrahim/workspace/appworks-ios/Pods/GoogleNetworkingUtilities/Libraries -L/Users/jibrahim/workspace/appworks-ios/Pods/GoogleSymbolUtilities/Libraries -L/Users/jibrahim/workspace/appworks-ios/Pods/GoogleUtilities/Libraries -L/Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphoneos -F/Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/appworks-ios.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lGGLCloudMessaging -lGGLCore -lGGLInstanceIDLib -lGSDK_Overload -lGTMSessionFetcher_core -lGTMSessionFetcher_full -lGTMStackTrace -lGTM_AddressBook -lGTM_DebugUtils -lGTM_GTMURLBuilder -lGTM_KVO -lGTM_NSDictionary+URLArguments -lGTM_NSScannerJSON -lGTM_NSStringHTML -lGTM_NSStringXML -lGTM_Regex -lGTM_RoundedRectPath -lGTM_StringEncoding -lGTM_SystemVersion -lGTM_UIFont+LineHeight -lGTM_core -lGTM_iPhone -lGcmLib -lPods-AFNetworking -lPods-CocoaLumberjack -lPods-ZipArchive -lProtocolBuffers -lsqlite3 -lz -framework AddressBook -framework CoreGraphics -framework MobileCoreServices -framework Security -framework SystemConfiguration -ObjC -lGGLCloudMessaging -lGGLCore -lGGLInstanceIDLib -lGSDK_Overload -lGTMSessionFetcher_core -lGTMSessionFetcher_full -lGTMStackTrace -lGTM_AddressBook -lGTM_DebugUtils -lGTM_GTMURLBuilder -lGTM_KVO -lGTM_NSDictionary+URLArguments -lGTM_NSScannerJSON -lGTM_NSStringHTML -lGTM_NSStringXML -lGTM_Regex -lGTM_RoundedRectPath -lGTM_StringEncoding -lGTM_SystemVersion -lGTM_UIFont+LineHeight -lGTM_core -lGTM_iPhone -lGcmLib -lPods-AFNetworking -lPods-CocoaLumberjack -lPods-ZipArchive -lProtocolBuffers -lsqlite3 -lz -framework AddressBook -framework CoreGraphics -framework MobileCoreServices -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.3 /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphonesimulator/libCordova.a -framework AddressBook -framework AddressBookUI -framework AudioToolbox -framework AVFoundation -framework CoreLocation -framework CoreMedia -framework MediaPlayer -framework MobileCoreServices -framework QuartzCore -framework SystemConfiguration -framework CoreGraphics -lPods -framework AssetsLibrary -Xlinker -dependency_info -Xlinker /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/appworks-ios_dependency_info.dat -o /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphonesimulator/appworks-ios.app/appworks-ios

ld: warning: directory not found for option '-L/Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Products/Debug-iphoneos'
duplicate symbol _kCDVFilesystemURLPrefix in:
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVAssetLibraryFilesystem.o
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVFile.o
duplicate symbol _kCDVAssetsLibraryPrefix in:
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVAssetLibraryFilesystem.o
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVFile.o
duplicate symbol _kCDVFilesystemURLPrefix in:
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVAssetLibraryFilesystem.o
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVLocalFilesystem.o
duplicate symbol _kCDVAssetsLibraryPrefix in:
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVAssetLibraryFilesystem.o
    /Users/jibrahim/Library/Developer/Xcode/DerivedData/appworks-ios-bvhgmyzzslupqsbrfkdduticdqik/Build/Intermediates/appworks-ios.build/Debug-iphonesimulator/appworks-ios.build/Objects-normal/i386/CDVLocalFilesystem.o
ld: 4 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这有点奇怪的是,我添加的每个其他插件都成功编译(例如CDVSplashScreen)。只有当我将CDVFile.m,CDVLocalFilesystem.m和CDVAssetLibraryFilesystem.m添加到我的项目时才会出现此问题。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:37)

点击XCode上的Project Navigator。

点击BuildSettings。

在其中找到 无公共区块 并将其设置为否。

它对我有用。

答案 1 :(得分:5)

最近发生了同样的问题,甚至使用了cocoaPods

在CDVFile.h中解决了

变化

NSString* const kCDVFilesystemURLPrefix;

extern NSString* const kCDVFilesystemURLPrefix;

答案 2 :(得分:0)

我不知道你是如何解决它但我遇到了同样的问题并通过简单地用@" cdvfile"替换每一个事件来解决它。