'pod spec lint' 项目转换为 Swift 4 后失败
'pod spec lint' fails after project conversion to Swift 4
将我的 cocoa 框架项目转换为 Swift 4 后,class UIFontDescriptorFamilyAttribute 是现在 UIFontDescriptor.AttributeName.family,所以我更改了我的代码:
// Swift 3
UIFontDescriptor(fontAttributes: [UIFontDescriptorFamilyAttribute: fontFamiliy])
到
// Swift 4
UIFontDescriptor(fontAttributes: [UIFontDescriptor.AttributeName.family: fontFamiliy])
然而,当我尝试 -pod spec lint- 我得到下一个错误:
- ERROR | [iOS] xcodebuild: SerializableLabel.swift:108:68: error: type 'UIFontDescriptor' has no member 'AttributeName'
cocoapods 不知何故还不知道 Swift 4 吗?我是否必须更新配置中的其他内容?
我的配置:
.podspec
s.pod_target_xcconfig = { 'SWIFT_VERSION' => '4.0' }
cocoapods
$ pod --version
1.3.1
尝试创建一个名为 .swift-version 的文件并在里面放入 4.0
Cocoapods 更新 >= 1.5
您现在在 podspec
中使用 s.swift_version = '4.1'
针对不同版本的 Swift:
使用 CocoaPods 1.3.1 或更新版本
# example for Swift 4.0
echo "4.0" > .swift-version
pod lib lint
使用 CocoaPods 1.4.0 或更新版本
# example for Swift 4.0
pod lib lint --swift-version=4.0
将我的 cocoa 框架项目转换为 Swift 4 后,class UIFontDescriptorFamilyAttribute 是现在 UIFontDescriptor.AttributeName.family,所以我更改了我的代码:
// Swift 3
UIFontDescriptor(fontAttributes: [UIFontDescriptorFamilyAttribute: fontFamiliy])
到
// Swift 4
UIFontDescriptor(fontAttributes: [UIFontDescriptor.AttributeName.family: fontFamiliy])
然而,当我尝试 -pod spec lint- 我得到下一个错误:
- ERROR | [iOS] xcodebuild: SerializableLabel.swift:108:68: error: type 'UIFontDescriptor' has no member 'AttributeName'
cocoapods 不知何故还不知道 Swift 4 吗?我是否必须更新配置中的其他内容?
我的配置:
.podspec
s.pod_target_xcconfig = { 'SWIFT_VERSION' => '4.0' }
cocoapods
$ pod --version
1.3.1
尝试创建一个名为 .swift-version 的文件并在里面放入 4.0
Cocoapods 更新 >= 1.5
您现在在 podspec
中使用s.swift_version = '4.1'
针对不同版本的 Swift:
使用 CocoaPods 1.3.1 或更新版本
# example for Swift 4.0
echo "4.0" > .swift-version
pod lib lint
使用 CocoaPods 1.4.0 或更新版本
# example for Swift 4.0
pod lib lint --swift-version=4.0