我为UIColor添加了扩展,并具有对SwiftUI的Color的快速转换功能。 很简单:
import Foundation
import SwiftUI
import UIKit
@available(iOS 13, macOS 10.15, *)
public extension UIColor{
/// Converts the platform specific color object to a swiftUI color struct
/// - Returns: Equivalent SwiftUI color
func psoColor() -> Color{
return Color(self)
}
}
编译器在 release 模式下引发错误:“在范围内找不到类型'Color''。 但是在 debug 模式下进行编译时,不会出现该错误。
它所在的框架最初是在obj-c中开发的,但是自Swift 3以来,我一直在添加Swift类别,而没有任何问题。我目前正在使用带有Xcode 12.0的Swift 5.3。部署目标设置为iOS 10.0,这就是我添加@available装饰器的原因。
我不知道如何调试它,对您的帮助非常感谢。
答案 0 :(得分:1)
问题在于体系结构,swiftUI不适用于armv7。在发布模式下构建时,它包括arm64和armv7。
参考: SwiftUI - “Use of undeclared type xxx” on deployment targets below or equal to iOS 10
答案 1 :(得分:-1)
通过添加 import UIkit,您的问题将在 swift 5 中解决