【问题标题】:Swift embedded library -> Command /usr/bin/codesign failed with exit code 1Swift 嵌入式库 -> 命令 /usr/bin/codedesign 失败,退出代码为 1
【发布时间】:2015-03-07 18:35:57
【问题描述】:

我正在尝试将 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

【问题讨论】:

  • 我们正在调查。

标签: ios xcode swift skmaps


【解决方案1】:

你需要使用 cocoapods 来安装它。

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

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

【讨论】:

  • 您能否编辑您的答案以在链接文章中包含解决方案的摘要?
【解决方案2】:

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

在 SDK 的下一版本中将不再需要。

【讨论】:

  • 我使用 XCode 6.3 并且我取消选中并重新选中复选标记,问题仍然存在。
  • 开发者会尽快调查
  • 随着 Apple 不断更新 Swift,这些错误很可能在未来也会发生。您可以尝试一种解决方案:在自定义初始化程序中调用 super.init(nibName: nil, )。例如,在 GPSFilesViewControler 中,init(fileName: String) 我调用了 super.init(nibName: nil, bundle: nil),而不是 super.init()。在此处查看其他解决方案:stackoverflow.com/questions/29031270/…
  • @SergeySurkov 来自我们开发人员的解决方案:对于 dyld:未加载库:@rpath/SKMaps.framework/SKMaps 错误请选择您的目标,转到常规选项卡,然后转到嵌入式二进制文件部分并添加 SKMaps 。框架。对于 codesign 错误,请转到 Build Phases 添加 SKMaps.framework 并检查 Code Sign On Copy 选项。
【解决方案3】:

针对问题:

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 项目从头开始。)

Embedded BinariesProject / Target / General / Embedded Binaries)下添加 SKMaps.framework 可以解决问题:

清理、构建、运行。 ?

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 2010-11-08
    • 2017-02-01
    相关资源
    最近更新 更多