【发布时间】:2021-02-06 16:41:48
【问题描述】:
我一直在尝试编译一个包含 Apple Watch 扩展目标的现有 iOS 项目。
该项目使用 RxSwift/RxCocoa,在官方文档中阅读,与 watchOS 兼容。
项目在Apple Watch模拟器上编译运行成功,但在真正的Apple Watch上运行失败,报错如下:
Cannot find 'CGRectType' in scope
Cannot find 'CGPointType' in scope
Cannot find 'CGSizeType' in scope
这是因为这三个常量,在 RxCocoa 内部的类扩展中声明,是这样声明的:
#if arch(x86_64) || arch(arm64)
let CGRectType = "{CGRect={CGPoint=dd}{CGSize=dd}}"
let CGSizeType = "{CGSize=dd}"
let CGPointType = "{CGPoint=dd}"
#elseif arch(i386) || arch(arm)
let CGRectType = "{CGRect={CGPoint=ff}{CGSize=ff}}"
let CGSizeType = "{CGSize=ff}"
let CGPointType = "{CGPoint=ff}"
#endif
您知道是否有任何方法可以使它工作,因为这个库应该与 watchOS 兼容?
【问题讨论】:
-
您使用的是哪个版本的 rx 库?您的目标是哪个版本的 watchOS?
-
我已经尝试使用 RxSwift 6.0.0 RC1 和 watchOS 7。当我降级到 RxSwift 5 时,它似乎正在工作,即使现在我还有其他编译问题并且不确定如果解决了。
标签: swift apple-watch rx-swift watchos rx-cocoa