Swift嵌入式库 - >命令/ usr / bin / codesign失败,退出代码为1

时间:2015-03-07 18:35:57

标签: ios xcode swift skmaps

我试图将swift框架集成到我的项目中: http://developer.skobbler.com/download/SKMaps_iOS_2.4.0_withDemo_Swift.zip

当我尝试集成为嵌入式二进制文件时,xcode无法编码并告诉我  "代码签名失败,退出代码为1"。

CodeSign /Users/k1x/Library/Developer/Xcode/DerivedData/TestMaps-dubiwcafqgeplbabdrqpjtokouxq/Build/Products/Debug-iphoneos/TestMaps.app/Frameworks/SKMaps.framework
    cd "/Users/k1x/Workspace iOS/SwitchMaps"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Developer"

    /usr/bin/codesign --force --sign 56131F60BE8DA3BA4F04CBF6717C75951E93E4D6 --preserve-metadata=identifier,entitlements,resource-rules /Users/k1x/Library/Developer/Xcode/DerivedData/TestMaps-dubiwcafqgeplbabdrqpjtokouxq/Build/Products/Debug-iphoneos/TestMaps.app/Frameworks/SKMaps.framework

Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
/Users/k1x/Library/Developer/Xcode/DerivedData/TestMaps-dubiwcafqgeplbabdrqpjtokouxq/Build/Products/Debug-iphoneos/TestMaps.app/Frameworks/SKMaps.framework: invalid resource specification rule(s)
Command /usr/bin/codesign failed with exit code 1

我试图将框架放在"链接框架和二进制文件部分"中。但是我得到了以下输出:

dyld: Library not loaded: @rpath/SKMaps.framework/SKMaps
  Referenced from: /private/var/mobile/Containers/Bundle/Application/B3686F36-2120-4007-97AB-B2D3B423C0A0/TestMaps.app/TestMaps
  Reason: image not found

我用谷歌搜索并找到了这个问题的另一篇帖子,但他们没有回答我的问题。 以防一切正常与Objective C版本: http://developer.skobbler.com/download/SKMaps_iOS_2.4.0_withDemo.zip

3 个答案:

答案 0 :(得分:1)

您需要使用cocoapods进行安装。

我有同样的问题,我喜欢这个并且有效。

编辑:使用cocoa pod,您需要在Podfile中添加包含pod“ScoutMaps-iOS-SDK”的行,在终端中运行pod install并导入SKMaps / SKMaps.h标头以使用库或如果您使用Swift,请将SKMaps / SKMaps.h标头导入Objective-C桥接标头。

答案 1 :(得分:0)

从Frameworks文件夹中选择SKMaps.framework并取消选中,然后检查SKMapsSwiftDemo目标(在目标成员中),如this screenshot所示。

在下一版本的SDK中不需要这样做。

答案 2 :(得分:0)

对于这个问题:

dyld: Library not loaded: @rpath/SKMaps.framework/SKMapsReferenced from:
/private/var/mobile/Containers/Bundle/Application/
B3686F36-2120-4007-97ABB2D3B423C0A0/TestMaps.app/TestMaps
Reason: image not found

我遇到了同样的问题(Swift项目从头开始。)

嵌入式二进制文件项目/目标/常规/嵌入式二进制文件)下添加 SKMaps.framework 可以解决问题:

Embedded Binaries

清洁,构建,运行。