Xcode 9 无法使用 pod 构建 Swift 4 项目
Xcode 9 fails to build Swift 4 project with pod
当尝试在 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
您可能会注意到,--sign
参数后跟一个 -
字符。
我的设置:
- Xcode 9 beta 2 (9M137d) 及其捆绑的 Swift 4 版本
- Cocoapods v1.2.1 与 Podfile
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
- 我没有更改任何添加的 pods 文件的单个字母。
- 我打开
Pods.xcodeproj
检查并仔细检查了 Alamofire pod/target 的 Build Settings
- Code Signing Identitiy
,但它被设置为 Don't Code Sign
。
- 我已经检查了我的 Keychain Access 应用,看看
Apple Worldwide Developer Relations Certification Authority
是否没有过期(它没有)并且被标记为受信任的(它是)。
- 我已经多次清空 DerivedData 目录 (
~/Library/Developer/Xcode/DerivedData
) 并执行了 Clean
(通过 Cmd+K
和 Cmd+Alt+Shift+K
都无济于事。
- 我已经尝试将 Xcode 'Command Line Tools' (
Preferences
- Locations
- Command Line Tools
) 设置为 Xcode 8.3.3 (8E3004b)
和 Xcode 9.0 (9M137d)
无济于事。
在花费多个小时寻找解决方案后,运行 完全没有想法。有谁知道为什么 Xcode 9 不再构建我的项目?
此外,link 我在 Alamofires GitHub 页面上的问题,为了完整起见:#2183.
我发现问题了! Xcode 在欢迎屏幕上选择时继续使用 .xcodeproj
文件打开我的项目,但是 Cocoapods
需要使用 .xcworkspace
文件!之后 Xcode 的欢迎屏幕上的两个条目之间存在视觉区别:difference between Xcode workspace and project on Welcome screen.
打开工作区会显示 Xcode 的 Project Navigator
中的两个项目:一个用于我的应用程序,另一个名为 Pods
,包含所有已安装的 pods。构建应用程序不再显示奇怪的构建错误。
当尝试在 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
您可能会注意到,--sign
参数后跟一个 -
字符。
我的设置:
- Xcode 9 beta 2 (9M137d) 及其捆绑的 Swift 4 版本
- Cocoapods v1.2.1 与 Podfile
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
- 我没有更改任何添加的 pods 文件的单个字母。
- 我打开
Pods.xcodeproj
检查并仔细检查了 Alamofire pod/target 的Build Settings
-Code Signing Identitiy
,但它被设置为Don't Code Sign
。 - 我已经检查了我的 Keychain Access 应用,看看
Apple Worldwide Developer Relations Certification Authority
是否没有过期(它没有)并且被标记为受信任的(它是)。 - 我已经多次清空 DerivedData 目录 (
~/Library/Developer/Xcode/DerivedData
) 并执行了Clean
(通过Cmd+K
和Cmd+Alt+Shift+K
都无济于事。 - 我已经尝试将 Xcode 'Command Line Tools' (
Preferences
-Locations
-Command Line Tools
) 设置为Xcode 8.3.3 (8E3004b)
和Xcode 9.0 (9M137d)
无济于事。
在花费多个小时寻找解决方案后,运行 完全没有想法。有谁知道为什么 Xcode 9 不再构建我的项目?
此外,link 我在 Alamofires GitHub 页面上的问题,为了完整起见:#2183.
我发现问题了! Xcode 在欢迎屏幕上选择时继续使用 .xcodeproj
文件打开我的项目,但是 Cocoapods
需要使用 .xcworkspace
文件!之后 Xcode 的欢迎屏幕上的两个条目之间存在视觉区别:difference between Xcode workspace and project on Welcome screen.
打开工作区会显示 Xcode 的 Project Navigator
中的两个项目:一个用于我的应用程序,另一个名为 Pods
,包含所有已安装的 pods。构建应用程序不再显示奇怪的构建错误。