问题标签 [xcode13]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 在 Xcode 13 和 Xcode 12 中都使用 previewCGImageRepresentation?
我遇到了一个问题,Xcode 13b2(iOS 15 SDK)更改了AVCapturePhoto.previewCGImageRepresentation()
. 在 Xcode 12.5.1 (iOS 14 SDK) 中,此方法返回Unmanged<CGImage>
. 在 13b2 - 13b4 中,它返回CGImage?
.
我需要在两个 Xcode 版本下编译我的代码,因为 Xcode 13 有其他问题,并且不能用于将构建提交到 App Store。我以为我写这个很聪明,但它不会编译,因为它不是条件代码编译检查,而是运行时检查:
另一种可能性可能是创建用户定义的 Xcode 设置,但我认为这不能基于 Xcode 或 SDK 版本有条件地完成。
可能会有一些不安全的指针表演可以做......</p>
还有其他想法吗?
swift - 如何编写一个包含 GroupActivities 框架的 UIKit 应用程序
我已经观看了 Apple 的 WWDC 2021 视频,该视频介绍了如何编写具有自定义组活动的 iOS 应用程序,链接在这里。
观看此视频后,我尝试使用 UIKit 而不是 SwiftUI 编写自己的简单应用程序。这是一个使用 UIAlert 将字符串添加到 UITableView 的简单应用程序。我使用在 macOS Monterey beta 4 上运行的 Xcode 13 beta 4 编写它。它似乎在我的 MacBook 上运行良好,但我没有运行 iOS 15 beta 4 的设备进行测试,并且它在模拟器中无法运行。希望尽快测试。
与此同时,我想我会分享代码。这是一个简单的应用程序,只有一个视图控制器,代码如下:
你可以在这里下载:
我的问题如下:
- 由于我使用的是 UIKit 和 SwiftUI,所以我不能使用
.task
修饰符。所以我创建了一个异步任务viewDidLoad()
来配置组活动会话。这是正确的做事方式,还是有更好的方法? - 我需要测试的是让两台设备运行 iOS 15 b4 并安装相同的应用程序,或者一台运行 MacOS 12 b4 的 Mac 和一台运行 iOS 15 b4 的 iOS 设备,对吗?
swift - 无法使用“@available”将具有关联值的枚举案例标记为可能不可用
我在以下代码中收到Xcode 13的错误消息
无法使用“@available”将具有关联值的枚举案例标记为可能不可用
有谁知道我为什么会收到这个错误以及纠正它的解决方案是什么?它在 Xcode 12 中运行良好。
ios - 使用 NavigationView 和工作表删除元素时 ForEach 崩溃
当从属性支持的内容中删除除最后一个元素之外的任何元素时,使用我的应用程序的 Xcode 13 的新绑定变体ForEach
可预见地在设备上崩溃(但在模拟器中工作)@Published
。
奇怪的是,这只发生在视图包含在 aNavigationView
中并附有一张纸时。
这是一个演示该问题的独立应用程序:
运行应用程序并删除顶行会导致以下崩溃(第 16 行对应于@main
):
这是 SwiftUI 中的错误吗?
flutter - Xcode:不支持的操作系统版本,iphone os 版本 14.7 & Xcode 12.5.1
我正在尝试在我的 iphone 11 上构建我的颤振应用程序,iOS 版本为 14.7,我的 xcode 是 12.5,我看到有 Xcode 13,但我在 appstore 上没有那个更新,我的 mac 版本是 Big Surr 11.5 .2
我该怎么办?
swift - Swift 5.5 并发:创建具有自定义错误类型的任务
我需要在我创建的任务中使用我自己的自定义错误枚举:
但我在任务初始化程序的开头收到以下错误:
Referencing initializer 'init(priority:operation:)' on 'Task' requires the types 'MyError' and 'Error' be equivalent
.
如何限制Task
仅抛出属于我的自定义错误类型的错误MyError
?
ios - 我无法在 iOS 15 的 WidgetConfiguration 中添加 systemExtraLarge 系列
我想在我的应用程序中添加一个超大的小部件作为 iOS 15 的支持系列。
WidgetConfiguration 的简化代码如下:
显然我不能简单地添加额外的大,因为出现以下错误: 'systemExtraLarge' 仅适用于 iOS 15.0 或更高版本的应用程序扩展
但是做一个 XCode 建议的快速简单的可用性检查我得到一个错误和几个警告。这是代码:
错误是:函数声明了一个不透明的返回类型,但它的主体中没有返回语句来推断基础类型。
和两个警告:调用 'supportedFamilies' 的结果是未使用的。
有人可以向我解释为什么我会收到此错误以及如何修复它以便我可以保留 iOS 14 的小部件并为 iOS 15 添加 systemExtraLarge?
我在 macOS Monterey 版本 12.0 beta (21A5304g) 上使用 XCode 版本 13.0 beta 5
提前致谢。
swift - 如何获取动态 List / ForEach 可绑定元素的索引(新 Xcode 13 的语法)?
到目前为止,要在动态集合中的元素和 List 的行之间设置绑定,我们必须这样做:
我们需要: 用于绑定的元素的索引;+ 的元素标识符List
(以避免奇怪的动画);以及Binding
在删除最后一行时避免崩溃的自定义。
这很复杂(我不确定它是否非常有效)。自 WWDC21 以来,我们有了一个新语法(可以反向部署):
它更干净。
但是,虽然强烈建议使用这种新语法,但如果能够在闭包中访问元素的索引,那就太好了。你知道我们该怎么做吗?
编辑 :
我试过这个(它有效),但我觉得这不是正确的方法:
swift - SwiftUI:在没有#available的不同iOS版本之间使用视图修饰符
我使用以下代码片段(在Xcode 13 Beta 5
和部署目标设置为 14.0)根据 iOS 版本有条件地应用视图修饰符:
只要我不使用 iOS 15 的视图修饰符,此代码就可以很好地工作,但是如果我想使用这些修饰符中的任何一个(例如Task
for ex.),那么我需要使用#available
指令,这是我不想选择的选项,因为我的代码库很大,有很多部分应该采用新的 iOS 15 修饰符,并且通过#available
在代码中的任何地方使用它会使它看起来像一盘千层面。
如何使这段代码以一种干净的方式编译而不使用#available
检查?