0

I'm trying to use RestKit and AWSSDKiOSv2 together on an iPhone project.

RestKit wants me to have these linker flags: -ObjC -all_load but the AWS SDK would rather I didn't. Are these two libraries incompatible with one another? I've looked around but I haven't seen much on both of them together which seems surprising.

Here is the linker error I get when I try to keep them:

Ld /Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Products/Debug-iphonesimulator/HeyNay.app/HeyNay normal x86_64 cd "/Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC" export IPHONEOS_DEPLOYMENT_TARGET=8.1 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 x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Products/Debug-iphonesimulator -F/Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Products/Debug-iphonesimulator -F/Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay\ POC -F/Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay\ POC/HeyNay\ POC -filelist /Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Intermediates/HeyNay.build/Debug-iphonesimulator/HeyNay.build/Objects-normal/x86_64/HeyNay.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -all_load -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.1 -framework Bolts -framework AWSiOSSDKv2 /Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Products/Debug-iphonesimulator/libRestKit.a -framework SystemConfiguration -lz -lsqlite3 -framework MapKit -framework Mantle -framework Security -framework MobileCoreServices -framework CoreData -framework CFNetwork -Xlinker -dependency_info -Xlinker /Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Intermediates/HeyNay.build/Debug-iphonesimulator/HeyNay.build/Objects-normal/x86_64/HeyNay_dependency_info.dat -o /Users/williamnoto/Library/Developer/Xcode/DerivedData/HeyNay-guckyzidpqgtmvdqseouljgiefwf/Build/Products/Debug-iphonesimulator/HeyNay.app/HeyNay

duplicate symbol _OBJC_IVAR_$_BFAppLink._sourceURL in: /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/Bolts.framework/Bolts(BFAppLink.o) /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFAppLink.o) duplicate symbol _OBJC_IVAR_$_BFAppLink._targets in: /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/Bolts.framework/Bolts(BFAppLink.o) /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFAppLink.o) duplicate symbol _OBJC_IVAR_$_BFAppLink._webURL in: /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/Bolts.framework/Bolts(BFAppLink.o) /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFAppLink.o) duplicate symbol _OBJC_IVAR_$_BFAppLink._isBackToReferrer in: /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/Bolts.framework/Bolts(BFAppLink.o) /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFAppLink.o) duplicate symbol _BFAppLinkDataParameterName in: /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/Bolts.framework/Bolts(BFAppLink.o) /Users/williamnoto/Documents/src/heynay/heynay-api/ios/HeyNay POC/HeyNay POC/AWSiOSSDKv2.framework/AWSiOSSDKv2(BFAppLink.o)

It goes on like this for quite a ways...

ld: 133 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Bill Noto
  • 541
  • 4
  • 12

1 Answers1

0

Found this link: https://stackoverflow.com/a/5095793/1082660

and updated my linker flags to: -force_load $(BUILT_PRODUCTS_DIR)/libRestKit.a

and all seems to be working.

Note, I also double checked my imports. I originally had the commented out lines below but changed them to the uncommented lines. That may have been a confounding factor.

//#import "AWSiOSSDKv2/AWSCore.h"
//#import "AWSiOSSDKv2/AWSS3.h"
#import <AWSiOSSDKv2/AWSCore.h>
#import <AWSiOSSDKv2/AWSS3.h>
Community
  • 1
  • 1
Bill Noto
  • 541
  • 4
  • 12