Xcode 9无法使用pod构建Swift 4项目

Nic*_*ens 5 xcode code-signing cocoapods swift alamofire

当试图在Xcode 9 beta 2中构建我的Swift 4项目时,会发生一些代码签名错误,之后我的应用程序的构建就会停止.

Xcode中显示的错误:

/usr/bin/codesign --force --sign -  --preserve-metadata=identifier,entitlements '/Users/nickgaens/Library/Developer/Xcode/DerivedData/Emprova_Swift-bbvmoytlhlbqpueyftstselvwhdj/Build/Products/Debug-iphonesimulator/Emprova GPS Swift.app/Frameworks/Alamofire.framework'
/Users/nickgaens/Library/Developer/Xcode/DerivedData/Emprova_Swift-bbvmoytlhlbqpueyftstselvwhdj/Build/Products/Debug-iphonesimulator/Emprova GPS Swift.app/Frameworks/Alamofire.framework: No such file or directory
Run Code Online (Sandbox Code Playgroud)

Xcode错误的屏幕截图

您可能会注意到,该--sign参数后跟一个-字符.

我的设置:

  • Xcode 9 beta 2(9M137d)及其捆绑的Swift 4版本
  • 带有Podfile的Cocoapods v1.2.1
platform :ios, '10.0'

target 'Emprova GPS Demo Swift' do
  use_frameworks!

  pod 'Alamofire', '~> 4.5.0'
  pod 'AlamofireNetworkActivityIndicator', '~> 2.2.0'
  pod 'KeyClip'
  pod 'Localize-Swift', '~> 1.7.1'
  pod 'FMDB'

end

target 'Emprova GPS Swift' do
  use_frameworks!

  pod 'Alamofire', '~> 4.5.0'
  pod 'AlamofireNetworkActivityIndicator', '~> 2.2.0'
  pod 'KeyClip'
  pod 'Localize-Swift', '~> 1.7.1'
  pod 'FMDB'

end
Run Code Online (Sandbox Code Playgroud)

  • 我没有更改任何添加的pods文件的单个字母.
  • 我打开Pods.xcodeproj来检查,并仔细检查Build Settings- Code Signing Identitiy在Alamofire荚/目标的,但它被设置为Don't Code Sign.
  • 我已经检查了我的Keychain Access应用程序,看看Apple Worldwide Developer Relations Certification Authority它是否已过期(它不是)并被标记为可信(它是).
  • 我已经多次清空DerivedData目录(~/Library/Developer/Xcode/DerivedData)并执行了Clean(通过Cmd+KCmd+Alt+Shift+K无效).
  • 我已经尝试将Xcode'命令行工具'(Preferences- Locations- Command Line Tools)设置为两者Xcode 8.3.3 (8E3004b)并且Xcode 9.0 (9M137d)无效.

花了几个小时寻找解决方案后,完全没有想法了.有没有人知道为什么Xcode 9不再构建我的项目?

另外,为了完整起见,链接到我在Alamofires GitHub页面上的问题:#2183.

Nic*_*ens 3

我发现出了什么问题了!在欢迎屏幕上选择该文件时, Xcode 继续使用该.xcodeproj文件打开我的项目,但需要使用Cocoapods该文件!.xcworkspace之后 Xcode 的欢迎屏幕上的两个条目之间存在视觉区别:欢迎屏幕上的 Xcode 工作区和项目之间的差异

打开工作区会显示 Xcode 中的两个项目Project Navigator:一个用于我的应用程序,第二个名为Pods,其中包含所有已安装的 pod。构建应用程序不再显示奇怪的构建错误。