calabash-ios - 未找到架构i386的符号 - 链接器命令失败,退出代码为1

时间:2014-11-01 11:40:20

标签: ios-simulator calabash calabash-ios

我是calabash的新手,我正在尝试使用此处提供的示例应用(https://github.com/calabash/calabash-ios-example)来学习calabash

我已下载了压缩项目,并按照“使用Xcode进行手动设置”部分中提供的步骤进行操作 - https://github.com/calabash/calabash-ios

但是当我尝试构建项目时,它失败并出现以下错误。

由于我无法解决错误,我删除了-cal方案,从Xcode项目的框架文件夹中删除了calabash框架,并使用了'calabash-ios setup'选项。这创造了一个新的-cal方案。但是当我尝试构建-cal方案时,我仍然会遇到以下错误。我检查了构建设置中的其他链接器标志,并将其设置为项目文件夹中的calabash框架。

我能够在没有calabash方案的情况下成功构建项目。所以这似乎是葫芦设置的问题。能告诉我如何解决这个问题吗?

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)

已发布类似问题here,Joshua建议升级到Xcode 5.1.1和SDK升级到7.0。但我已经在使用Xcode 6.01以下版本是我的SDK版本:

的SDK: OS X:10.9:(13F26) iOS:8.0:(12A365)

iOS模拟器: 7.1:(11D167) 8.0:(12A365)

其他信息:

xcode安装位置 /Applications/Xcode.app/Contents/Developer

xcode版 Xcode 6.0.1 构建版本6A317

calabash版本 0.11.0

calabash.framework版本 0.11.0

1 个答案:

答案 0 :(得分:4)

缺少符号列表表示您忘记链接Security.framework