'exported: true' 对 Xcode 12.5 中的“_specialize”属性没有影响
'exported: true' has no effect in '_specialize' attribute in Xcode 12.5
在我的机器上,Xcode 已自动升级到最新版本 Xcode 12.5。我现在在构建项目时遇到问题。昨天 Xcode 12.4 完美 运行,没有代码更改,也没有库更改。完全相同的代码库。
有人遇到这个问题并解决了问题吗?
收到错误消息:
'exported: true' has no effect in '_specialize' attribute
已尝试(但没有帮助):
- 重启机器
- 杀死并重启Xcode
- 清理构建
- 删除派生数据
我在使用 CryptoSwift pod 时遇到了同样的问题。 Xcode 12.5 使用 Swift 5.4。我认为 CryptoSwift 尚未针对 swift 5.4 进行更新。我切换回 Xcode 12.4 和 运行 pod 安装。它再次在 Xcode 12.4 上构建。最新版本的 CryptoSwift 只支持 Swift 5.3
更新
我无法让 CryptoSwift 使用 cocoa pods 更新过去的版本 1.2.0。我删除了 pod 并将其添加为 Swift 包(版本 1.4.0)。我能够使用 Xcode 12.5
进行构建
- 删除旧版本
- 重新安装最新版本
我已经用 运行 pod update
解决了这个问题,而不是指向我的 Podfile
中的特定版本
否则,你也可以按照@coryhowell 指出的,
removed the pod and added it as a Swift Package (Version 1.4.0)
播客文件
platform :ios, '11.4'
use_frameworks!
inhibit_all_warnings!
target 'myAppp' do
pod 'Alamofire', '~> 4.8.1'
pod 'CryptoSwift'
end
Podfile.lock - 自动创建,然后指向最新版本的 CryptoSwift
PODS:
- Alamofire (4.8.2)
- Countly (20.11.1):
- Countly/Core (= 20.11.1)
- Countly/Core (20.11.1)
- Crashlytics (3.12.0):
- Fabric (~> 1.9.0)
- CryptoSwift (1.4.0)
- Device (3.1.2)
- Fabric (1.9.0)
..
...
not showing all lines
....
......
这是因为@_specialize
标签在Swift5.4(Xcode12.5)中改变了,你可以直接用正则表达式替换:
@_specialize\(([^,]+),\s([^)]+)\)
@_specialize\(\)
只需评论 all @_specialize(exported: true, where T == ArraySlice<UInt8>)
等等...它应该会起作用。
在我的机器上,Xcode 已自动升级到最新版本 Xcode 12.5。我现在在构建项目时遇到问题。昨天 Xcode 12.4 完美 运行,没有代码更改,也没有库更改。完全相同的代码库。
有人遇到这个问题并解决了问题吗?
收到错误消息:
'exported: true' has no effect in '_specialize' attribute
已尝试(但没有帮助):
- 重启机器
- 杀死并重启Xcode
- 清理构建
- 删除派生数据
我在使用 CryptoSwift pod 时遇到了同样的问题。 Xcode 12.5 使用 Swift 5.4。我认为 CryptoSwift 尚未针对 swift 5.4 进行更新。我切换回 Xcode 12.4 和 运行 pod 安装。它再次在 Xcode 12.4 上构建。最新版本的 CryptoSwift 只支持 Swift 5.3
更新
我无法让 CryptoSwift 使用 cocoa pods 更新过去的版本 1.2.0。我删除了 pod 并将其添加为 Swift 包(版本 1.4.0)。我能够使用 Xcode 12.5
进行构建- 删除旧版本
- 重新安装最新版本
我已经用 运行 pod update
解决了这个问题,而不是指向我的 Podfile
否则,你也可以按照@coryhowell 指出的,
removed the pod and added it as a Swift Package (Version 1.4.0)
播客文件
platform :ios, '11.4'
use_frameworks!
inhibit_all_warnings!
target 'myAppp' do
pod 'Alamofire', '~> 4.8.1'
pod 'CryptoSwift'
end
Podfile.lock - 自动创建,然后指向最新版本的 CryptoSwift
PODS:
- Alamofire (4.8.2)
- Countly (20.11.1):
- Countly/Core (= 20.11.1)
- Countly/Core (20.11.1)
- Crashlytics (3.12.0):
- Fabric (~> 1.9.0)
- CryptoSwift (1.4.0)
- Device (3.1.2)
- Fabric (1.9.0)
..
...
not showing all lines
....
......
这是因为@_specialize
标签在Swift5.4(Xcode12.5)中改变了,你可以直接用正则表达式替换:
@_specialize\(([^,]+),\s([^)]+)\)
@_specialize\(\)
只需评论 all @_specialize(exported: true, where T == ArraySlice<UInt8>)
等等...它应该会起作用。