在范围内找不到类型SwfitUI'颜色'

时间:2020-09-28 21:01:33

标签: swift xcode

我为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装饰器的原因。

我不知道如何调试它,对您的帮助非常感谢。

2 个答案:

答案 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 中解决