如何解决使用IBDesignable使用Swift软件包进行构建期间,IB产生非常奇怪的错误
我开发了this shared package。很好。
In the package test harnesses (3 iOS apps),它很好用,并且IB情节提要板呈现了控件(这是IBDesignable)。
但是,当我将它作为一个软件包包含在另一个应用程序中时(我无法共享源代码),我得到了这些非常奇怪的渲染失败消息:
Error: 'UIPickerView' is unavailable in tvOS
以此类推。一堆“ tvOS中不可用”错误。
这是日志的样子:
构建成功,应用运行正常。但是,我想知道这是否会在App Store发行过程中引起问题。
嗯... DU。这是一个iOS软件包和实用程序,并利用了诸如触觉之类的许多功能。
该软件包明确指出它是iOS(12),并且我看不到任何说明为什么我的情节提要坚持要尝试渲染为tvOS的迹象。
我想念什么?我认为我肯定缺少the Package.swift file中的某些内容,但这很简单:
import PackageDescription
let package = Package(
name: "RVS_Spinner",platforms: [
.iOS(.v12)
],products: [
.library(
name: "RVS-Spinner",targets: ["RVS_Spinner"])
],targets: [
.target(name: "RVS_Spinner")
]
)
解决方法
您需要将这些有问题的文件中的每一个包装起来
#if os(iOS)
#endif
这样它们就不会被编译用于其他平台,因为您所指的内容仅在 iOS 上可用。
据我所知,您无法阻止包在所有平台上构建,但您可以使用 #if os()
技巧选择要在哪个平台上编译的文件
我认为您对 platforms
文件中的 Package.swift
参数感到困惑。并不是说该软件包在何处可用,而是说每个平台所需的最低版本。
查看 Apple 的关于平台参数的文档:
平台 - 每个平台的最低部署目标列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。