为什么 CAShapeLayerLineJoin 不能在 tvOS 上编译?
Why CAShapeLayerLineJoin doesn't compile on tvOS?
这不编译:
let a: CAShapeLayerLineJoin = CAShapeLayerLineJoin.miter
错误:
Type 'CAShapeLayerLineJoin' (aka 'NSString') has no member 'miter'
round
或 bevel
都不是
使用 iOS 目标编译相同的代码。 tvOS 具有部署目标 9.0。这是 CAShapeLayerLineJoin
的文档:https://developer.apple.com/documentation/quartzcore/cashapelayerlinejoin 它说在 tvOS 9.0+ 上可用
此外,当我用 cmd 键单击它时,它会引导我找到与 iOS 目标相同的定义。
编辑:我链接到了错误的文档。正确的说法是 CAShapeLayerLineJoin
可从 tvOS 12+ 获得。
有什么想法吗?
是的,但这与部署目标或 SDK 无关。这取决于 Swift 语言版本。您有两个不同的项目或目标,它们使用两个不同版本的 Swift。在 tvOS
目标上,Swift 版本较旧,这是一个常量字符串,kCALineJoinMiter
.
这不编译:
let a: CAShapeLayerLineJoin = CAShapeLayerLineJoin.miter
错误:
Type 'CAShapeLayerLineJoin' (aka 'NSString') has no member 'miter'
round
或 bevel
使用 iOS 目标编译相同的代码。 tvOS 具有部署目标 9.0。这是 CAShapeLayerLineJoin
的文档:https://developer.apple.com/documentation/quartzcore/cashapelayerlinejoin 它说在 tvOS 9.0+ 上可用
此外,当我用 cmd 键单击它时,它会引导我找到与 iOS 目标相同的定义。
编辑:我链接到了错误的文档。正确的说法是 CAShapeLayerLineJoin
可从 tvOS 12+ 获得。
有什么想法吗?
是的,但这与部署目标或 SDK 无关。这取决于 Swift 语言版本。您有两个不同的项目或目标,它们使用两个不同版本的 Swift。在 tvOS
目标上,Swift 版本较旧,这是一个常量字符串,kCALineJoinMiter
.