compiler-errors - Calabash-ios 链接错误 : "_kSecAttrSynchronizableAny", 引用自 : -[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery. o)

标签 compiler-errors ui-automation ios-ui-automation calabash-ios

尝试运行 ..-cal calabash-ios 项目的目标时出现链接错误。

错误是:

     `Ld /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator/delete-cal.app/delete-cal normal i386
        cd /Users/balaiyan/dev/automation/apps/delete
        setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
        setenv 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/iPhoneSimulator6.1.sdk -L/Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator -F/Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator -F/Users/balaiyan/dev/automation/apps/delete -filelist /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Intermediates/delete.build/Debug-iphonesimulator/delete-cal.build/Objects-normal/i386/delete-cal.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -force_load /Users/balaiyan/dev/automation/apps/delete/calabash.framework/calabash -lstdc++ -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.1 -framework Security -framework CFNetwork -framework UIKit -framework Foundation -framework CoreGraphics -framework calabash -o /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator/delete-cal.app/delete-cal

    Undefined symbols for architecture i386:
      "_kSecAttrSynchronizableAny", referenced from:
          -[LPSSKeychainQuery query] 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)
    `

Got the above error after solving the one in picture below

Calabash link error after following steps at https://github.com/calabash/calabash-ios


I am doing first time calabash setup for iOS at my Home iMac, that runs on OS X Lion,
XCode version 4.6.2,
updated ruby to ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-darwin12.5.0]

While installing ruby found this on terminal

   ruby-2.0.0-p451 - #generating default wrappers........
   Updating certificates in '/etc/openssl/cert.pem'.
   mkdir: /etc/openssl: Permission denied
   apples-iMac:~ balaiyan$ rvm osx-ssl-certs status all
   Certificates for /etc/openssl/cert.pem: Up to date.

不确定这是否会造成问题。

我之前在运行 Mavericks 的办公室 Macbook pro 上完成了这些步骤,但没有发现任何问题。这是否意味着最新的 calabash-ios 有任何向后兼容性问题,还是与我的钥匙串(keychain)有关。需要一些帮助。

最佳答案

当前版本的 calabash 0.9.169 包含 iOS 7 符号。其中之一是kSecAttrSynchronizableAny .

要使用此版本,基础 SDK 必须至少为 7.0。最低部署目标仍可低至 5.1.1。

支持 6.0 基础 SDK 的最后一个版本是 0.9.167。

0.9.168 于 3 月发布。我们决定放弃对 base SDK < 7.0 的支持,因为 Apple 停止接受使用 base SDK < 7.0 的 AppStore 提交。

你能把你的 Xcode 升级到 5.1.1 并将你的基础 SDK 升级到 7.0 吗?

如果您必须降级您的 gem 版本,请确保替换您现有的 calabash.framework 并链接到与您的版本兼容的版本。

  • https://github.com/calabash/calabash-ios/wiki/B1-Updating-your-Calabash-iOS-version
  • 关于compiler-errors - Calabash-ios 链接错误 : "_kSecAttrSynchronizableAny", 引用自 : -[LPSSKeychainQuery query] in calabash(LPSSKeychainQuery. o),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25548283/

    相关文章:

    swift4 - 有一种方法可以执行 "long"向左滑动手势来删除 XCUITest 中的元素

    ios - UIAutomation 不适用于 IPA 的分发类型

    java - 类路径不工作

    c++ - `void f(A<0>, tuple<T *...>)` 不是比 `void f(A<I>, tuple<T *...>)` 更专业吗?

    visual-studio-2010 - C++ Visual Studio中的 “C3145”和 “C2061”错误

    c++ - 它是静态库依赖树中的菱形继承(钻石问题)吗?

    windows - 支持 IAccessible 接口(interface)以在文本编辑器中移动插入符号的正确解决方案是什么?

    selenium - Java Selenium - 如何在基于 AngularJS 的页面中单击没有 ID 或 ng-class 的按钮

    android - 在 Selendroid 自动化测试中关闭 Android 6.0 所需权限对话框