0

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

错误是:

     `ld /Users/balaiyan/Library/Developer/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator/delete-cal.app/delete-cal 正常 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/库/开发人员/Xcode/DerivedData/delete-fdnlnapawhvvmpgxjbbzoopkiefe/Build/Products/Debug-iphonesimulator/delete-cal.app/delete-cal

    架构 i386 的未定义符号:
      “_kSecAttrSynchronizableAny”,引用自:
          - [LPSSKeychainQuery 查询] 在葫芦中(LPSSKeychainQuery.o)
    ld:未找到体系结构 i386 的符号
    clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
    `

解决下图中的问题后出现上述错误

在https://github.com/calabash/calabash-ios执行步骤后出现 Calabash 链接错误


我第一次在我的 Home iMac 上为 iOS 设置葫芦,它在 OS X Lion 上运行,
XCode 版本 4.6.2,
将 ruby​​ 更新为 ruby​​ 2.0.0p451(2014-02-24 修订版 45167)[x86_64-darwin12.5.0]

在安装 ruby​​ 时在终端上发现了这个

   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 有任何向后兼容性问题,还是与我的钥匙串有关。需要一些帮助。

4

1 回答 1

0

当前版本的 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 并链接到与您的版本兼容的版本。

于 2014-08-28T19:29:22.957 回答