Reputation: 1055
I am new to calabash and I am trying to use the example app available here (https://github.com/calabash/calabash-ios-example) to learn calabash
I have downloaded the zipped project and followed the steps provided in the ‘Manual Setup with Xcode’ section here - https://github.com/calabash/calabash-ios.
But when I attempted to build the project, it failed with the below errors.
As I was not able to resolve the errors, I deleted the -cal scheme, removed calabash framework from the framework folder in the Xcode project and used the ‘calabash-ios setup’ option. This created a new -cal scheme. But I still get the below errors when I try to build the -cal scheme. I checked the other linker flags in the build settings and it is set to the calabash framework in the project folder.
I am able to build the project without calabash scheme successfully. So this appears to be an issue with the calabash setup. Could you please let me know how do I resolve this?
Build target LPSimpleExample-cal
Project LPSimpleExample | Configuration Debug | Destination iPhone 6 | SKD Simulator -iOS 8.0
Ld /Users/eswar/Library/Developer/Xcode/DerivedData/LPSimpleExample-gwyzlvixnflcwydwrtizzsfiwete/Build/Products/Debug-iphonesimulator/LPSimpleExample\ copy.app/LPSimpleExample\ copy normal i386
cd "/Users/eswar/Workspace/calabash projects/calabash-ios-example-2"
export IPHONEOS_DEPLOYMENT_TARGET=8.0
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.0.sdk -L/Users/eswar/Library/Developer/Xcode/DerivedData/LPSimpleExample-gwyzlvixnflcwydwrtizzsfiwete/Build/Products/Debug-iphonesimulator -F/Users/eswar/Library/Developer/Xcode/DerivedData/LPSimpleExample-gwyzlvixnflcwydwrtizzsfiwete/Build/Products/Debug-iphonesimulator -F/Users/eswar/Workspace/calabash\ projects/calabash-ios-example-2 -filelist /Users/eswar/Library/Developer/Xcode/DerivedData/LPSimpleExample-gwyzlvixnflcwydwrtizzsfiwete/Build/Intermediates/LPSimpleExample.build/Debug-iphonesimulator/LPSimpleExample-cal.build/Objects-normal/i386/LPSimpleExample\ copy.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -force_load /Users/eswar/Workspace/calabash\ projects/calabash-ios-example-2/calabash.framework/calabash -lstdc++ -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.0 -framework CFNetwork -framework MapKit -framework UIKit -framework Foundation -framework CoreGraphics -framework calabash -Xlinker -dependency_info -Xlinker /Users/eswar/Library/Developer/Xcode/DerivedData/LPSimpleExample-gwyzlvixnflcwydwrtizzsfiwete/Build/Intermediates/LPSimpleExample.build/Debug-iphonesimulator/LPSimpleExample-cal.build/Objects-normal/i386/LPSimpleExample\ copy_dependency_info.dat -o /Users/eswar/Library/Developer/Xcode/DerivedData/LPSimpleExample-gwyzlvixnflcwydwrtizzsfiwete/Build/Products/Debug-iphonesimulator/LPSimpleExample\ copy.app/LPSimpleExample\ copy
Undefined symbols for architecture i386:
"_SecItemAdd", referenced from:
-[LPSSKeychainQuery save:] in calabash(LPSSKeychainQuery.o)
"_SecItemCopyMatching", referenced from:
-[LPSSKeychainQuery fetchAll:] in calabash(LPSSKeychainQuery.o)
-[LPSSKeychainQuery fetch:] in calabash(LPSSKeychainQuery.o)
"_SecItemDelete", referenced from:
-[LPSSKeychainQuery deleteItem:] in calabash(LPSSKeychainQuery.o)
"_kSecAttrAccessible", referenced from:
-[LPSSKeychainQuery save:] in calabash(LPSSKeychainQuery.o)
"_kSecAttrAccount", referenced from:
-[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
"_kSecAttrLabel", referenced from:
-[LPSSKeychainQuery save:] in calabash(LPSSKeychainQuery.o)
"_kSecAttrService", referenced from:
-[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
"_kSecAttrSynchronizable", referenced from:
-[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
"_kSecAttrSynchronizableAny", referenced from:
-[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
"_kSecClass", referenced from:
-[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
"_kSecClassGenericPassword", referenced from:
-[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery.o)
"_kSecMatchLimit", referenced from:
-[LPSSKeychainQuery fetchAll:] in calabash(LPSSKeychainQuery.o)
-[LPSSKeychainQuery fetch:] in calabash(LPSSKeychainQuery.o)
"_kSecMatchLimitAll", referenced from:
-[LPSSKeychainQuery fetchAll:] in calabash(LPSSKeychainQuery.o)
"_kSecMatchLimitOne", referenced from:
-[LPSSKeychainQuery fetch:] in calabash(LPSSKeychainQuery.o)
"_kSecReturnAttributes", referenced from:
-[LPSSKeychainQuery fetchAll:] in calabash(LPSSKeychainQuery.o)
"_kSecReturnData", referenced from:
-[LPSSKeychainQuery fetch:] in calabash(LPSSKeychainQuery.o)
"_kSecValueData", referenced from:
-[LPSSKeychainQuery save:] in calabash(LPSSKeychainQuery.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
A similar question has been posted here and Joshua had recommended to upgrade to Xcode 5.1.1 and SDK to 7.0. But I am already using Xcode 6.01 and below are my SDK versions:
SDKs: OS X: 10.9: (13F26) iOS: 8.0: (12A365)
iOS Simulator: 7.1: (11D167) 8.0: (12A365)
Other information:
xcode installation location /Applications/Xcode.app/Contents/Developer
xcode version Xcode 6.0.1 Build version 6A317
calabash version 0.11.0
calabash.framework version 0.11.0
Upvotes: 1
Views: 702
Reputation: 23623
The list of missing symbols indicates that you forgot to link against Security.framework
Upvotes: 4