Ted*_*Ted 89 swift ios12 swiftui
如果我有使用SwiftUI制作的应用程序,那么它可以在iOS 13以下的iOS上运行吗?
fre*_*dpi 63
我刚刚在Xcode 11中对其进行了检查,并可以确认它不会向后兼容,如SwiftUI的View实现所示:
/// A piece of user interface.
///
/// You create custom views by declaring types that conform to the `View`
/// protocol. Implement the required `body` property to provide the content
/// and behavior for your custom view.
@available(iOS 13.0, OSX 10.15, tvOS 13.0, watchOS 6.0, *)
public protocol View : _View {
/// The type of view representing the body of this view.
///
/// When you create a custom view, Swift infers this type from your
/// implementation of the required `body` property.
associatedtype Body : View
/// Declares the content and behavior of this view.
var body: Self.Body { get }
}
Run Code Online (Sandbox Code Playgroud)
far*_*bfn 17
Swift 5.1尚未发布,SwiftUI它使用诸如不透明返回类型,DSL,propertyDelegate(在WWDC中作为propertyWrapper引入)等功能,这些功能仅在Swift 5.1中可用。由于Swift 5是二进制稳定的,我想不可能在Xcode11中使用嵌入式swift-frameworks,因此它们已经在Cocoa的内核中重新实现了这些功能,并将它们标记为iOS13 +,直到Swift 5.1发布为止。
我的假设基于这样的事实,即有序集合区分和DSL将在Swift 5.1中可用,并且与Xcode或Apple的生态系统没有关联,但也标记为@available(iOS13,...)。这意味着他们必须使用带有iOS可用性属性的Swift 5.1功能标记所有内容。Swift 5.1发布后,其中的一些将被删除,但是我们不能确定SwiftUI,Combine除非苹果另行通知。DSL的提案中也提到了这一点:
实施:PR。请注意,Xcode开发人员预览版中的实现使用的转换比此处描述的转换更为简单。链接的PR在预览中反映了实现,但正在积极开发以匹配该建议。
因此,在发布Swift 5.1时可能会取消向后不兼容的限制,但这确实需要Apple团队加以澄清。
如果您打算支持iPhone而不是iPad,那么您可能会希望大多数用户会在12到18个月内(从发布日期开始)升级到iOS 13。也许是85-90%?(我认为苹果公司目前表示,仍有15%的人不在iOS 12上),尽管距离您将无法立即部署SwiftUI应用程序还有很大的距离,否则还有可能疏远许多用户。
同样取决于其他10-15%的用户,这可能意味着您留下了很多用户(和$$)。
如果您也支持iPad,那么它就比较棘手,因为人们不经常升级他们的iPad。有很多iPad 2以及第三代和第四代iPad仍在野外,它们只有10.3.3,无法升级。人们只是不会起床去花400至1000美元在新iPad上,而他们的工作状况却很好。
总会有空间,需要更新应用程序,使其更好,修复错误,这些错误与iOS 13无关。例如,找到之前不知道的错误会使很多用户不满意。 。不在最新的iOS版本上。而且我们甚至没有谈论很多开发商店支持的企业/公司客户。由于该领域的各种原因,iOS更新有更多的回推。
因此,在回到现实世界之外(在硅谷之外),让您对iOS 13和SwiftUI感到兴奋之前(绝对应该这样做,因为它很棒),这并不能完全满足普通消费者的期望,您需要提供支持较旧的设备,并且需要这样做,因为您将被疏远了。
它与iOS 13+兼容。这里是其文档的链接。
https://developer.apple.com/documentation/swiftui/
甚至Xcode 10也不支持它。您需要使用截至2019年6月3日为beta版本的Xcode 11。 https://developer.apple.com/tutorials/swiftui/creating-and-combining-views
仅适用于 ios 13 或更高版本
您仍然可以SwiftUI通过使用附加您的代码
@available(iOS 13.0, *)
Run Code Online (Sandbox Code Playgroud)
如果你仍然使用 Xcode 11 以下的 Xcode 并且有 SwiftUI 代码,你可以用
#if canImport(SwiftUI)
...
#endif
Run Code Online (Sandbox Code Playgroud)
这可以解决在 Xcode 11 以下使用 Xcode 编译时的问题
小智 5
正如大家所说,它不会向后兼容旧的 iOS 版本。但鉴于 Apple 最新 iOS 的安装基数一直很高,而且 iOS 13 需要 iPhone 6S 或更新版本、iPad Air 2 或更新版本、新 iPad mini 4 和 iPhone SE。绝大多数用户将能够安装 iOS 13 并享受可爱的 SwiftUI 应用程序。
| 归档时间: |
|
| 查看次数: |
17129 次 |
| 最近记录: |