Cocoapods - 代码对象根本没有签名

Jes*_*nch 5 objective-c dropbox-api cocoapods xcode6 osx-yosemite

我正在尝试构建一个导入 Dropbox 框架的 OS X 目标,但出现此错误:

CodeSign /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app
    cd /Users/jessebunch/Projects/testapp/Example
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate

Signing Identity:     "-"

    /usr/bin/codesign --force --sign 80B12837F588266A4A1FB1EF7D9C7F58E3A91E67 /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app

/Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app: code object is not signed at all
In subcomponent: /Users/jessebunch/Library/Developer/Xcode/DerivedData/TestApp-bxjgcsgqofvdyidodqalwworvmat/Build/Products/Debug/TestApp.app/Contents/Frameworks/Dropbox.framework
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

这是我为此创建的 podspec:

{
  "name": "Dropbox-OSX",
  "version": "3.1.1",
  "summary": "The Dropbox Sync & Datastore API SDK for OSX.",
  "homepage": "https://www.dropbox.com/developers/sync",
  "license": {
    "type": "Copyright",
    "file": "dropbox-osx-sync-sdk-3.1.1/LICENSE.txt"
  },
  "authors": "Dropbox",
  "source": {
    "http": "https://www.dropbox.com/developers/downloads/sdks/datastore/osx/dropbox-osx-sync-sdk-3.1.1.zip"
  },
  "platforms": {
    "osx": null
  },
  "public_header_files": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework/Headers/*.h",
  "preserve_paths": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework",
  "frameworks": ["Dropbox"],
  "vendored_frameworks": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework",
  "resources": "dropbox-osx-sync-sdk-3.1.1/Dropbox.framework",
  "xcconfig": {
    "FRAMEWORK_SEARCH_PATHS": "\"${PODS_ROOT}/Dropbox-OSX/dropbox-osx-sync-sdk-3.1.1\""
  },
  "libraries": "c++",
  "requires_arc": false
}
Run Code Online (Sandbox Code Playgroud)

我将它包含在我的项目中,如下所示:

target 'TestApp_Mac', :exclusive => true do
    platform :osx, '10.10'
    pod 'Dropbox-OSX', :podspec => './Specs/Dropbox-OSX.podspec.json', :inhibit_warnings => true
end
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这一问题?将框架复制到应用程序包后,我需要 Xcode 对框架进行代码签名。

这是我尝试过的:

  • 我将 --deep 添加到代码签名标志中。这让我解决了这个问题;然而,然后我们遇到了“嵌入式框架的根目录中存在未密封内容”的问题,我被告知这无论如何都不是一个好主意(参见http://furbo.org/2013/10/17 /code-signing-and-mavericks/ )

谢谢!