标签: xcode15

在 Xcode 15 beta 5 中使用 SwiftData 时收到 CoreData 错误消息

我在我的项目中使用 SwiftData。在模拟器中的 Xcode 15 beta 4 下一切正常。自从我更改为 Xcode 15 beta 5 以来,我多次收到以下错误:

CoreData:错误:此应用程序中的一个或多个模型正在使用可转换属性,其转换器名称要么未设置,要么设置为 NSKeyedUnarchiveFromDataTransformerName。请改用“NSSecureUnarchiveFromData”或 NSSecureUnarchiveFromDataTransformer 的子类。在某些时候,当指定 nil 时,Core Data 将默认使用“NSSecureUnarchiveFromData”,并且包含不支持 NSSecureCoding 的类的可转换属性将变得不可读。“NSKeyedUnarchiveFromData”不应用于取消存档,并将在未来版本中删除

我知道这是底层 CoreData 设置中的错误。但是,如何更改 CoreData 配置?如果您直接使用 CoreData,您可以更改配置,但是当您使用 SwiftData 时,如何更改配置。为什么苹果不从一开始就使用正确的配置?

我正在使用定义我的模型的标准代码:

@Model final class LoggerItem {
    @Attribute(.unique) let id: UUID
    var title: String
    var created: Date
    var modified: Date?
    ...
}
Run Code Online (Sandbox Code Playgroud)

这已经创建了上述错误消息。

beta core-data swift-data xcode15

5
推荐指数
1
解决办法
526
查看次数

Swift Macros:找不到外部宏实现类型

我在我的项目中使用通过 SwiftPM 安装的MetaCodable宏,当我尝试使用 Microsoft Azure 管道并使用我的本地计算机作为运行代理 (MBP M1 Max - Sonoma - XCode 15) 来构建项目时,我收到以下错误消息:

error: external macro implementation type 'CodableMacroPlugin.CodedAt' could not be found for macro 'CodedAt'

这里有些人建议添加-external-plugin-pathother Swift flags构建设置中,但这并不能解决问题。

这个线程中,有些人还建议添加-load-plugin-library、 或-plugin-path、 或-load-plugin-executableto other Swift flags,我使用值尝试了这些选项的每个选项:$(BUILT_PRODUCTS_DIR)#MetaCodable但我在每个 CI 构建中都遇到了相同的错误。

我还在 Azure 的管道构建日志中收到此警告:

"output": "<unknown>:0: warning: compiler plugin not loaded: '/Users/my_user_name/Library/Developer/Xcode/DerivedData/MyProject/Build/Products/Release/CodableMacroPlugin; failed to initialize /Users/my_user_name/vsts-agent-osx-x64-2.183.1/_work/9/MyProject/Data/Models/SomeModel.swift

任何对此的想法都值得赞赏。

ios azure-pipelines xcode15 swift-macro swift5.9

5
推荐指数
1
解决办法
1592
查看次数

Xcode 15 beta 2 - 构建错误:“无法找到或创建描述'&lt;IBCocoaTouchPlatformToolDescription:0x600002588860&gt;'的执行上下文”

在我更新到 Xcode 15 beta 2 后,我收到了这些构建时错误,这是我在 beta 1 中没有看到的。

无法找到或创建描述“<IBCocoaTouchPlatformToolDescription:0x600002588860>IBRealityIdiom-seventeenAndLater <IBScaleFactorDeviceTypeDescription:0x600002588b60>scaleFactor = 2x,renderMode.identifier =(null)”的系统内容'的执行上下文。

我试过了 -

  • 重新启动 Xcode15 beta 2,
  • 重新安装 Xcode 15 beta 2 及其 Commnad Line Tools
  • 重新启动 macOS(两次)

然而,到目前为止,还没有任何效果。我很感激有关如何解决此问题的任何建议或想法,因为我陷入了无法构建项目的困境。

提前致谢!

interface-builder xcode15 ios17

4
推荐指数
1
解决办法
663
查看次数

如何在 Xcode 15 beta 中安装 iOS 17 beta 模拟器

在苹果开发者网站上,我可以从模拟器中单独下载 Xcode 新测试版。

下载xcode 我正是这样做的。下载 Xcode (3.41GB) 后,我下载了新的 iOS 17 beta,大小为 7.47GB。安装新的 Xcode 后,它提示我再次下载已经下载的 iOS 模拟器。但是当 Xcode 提示时,下载也非常缓慢,我不想等待,因为我的下载文件夹中有模拟器 DMG。

我已经看过这里,但没有帮助:直接下载 Xcode 模拟器

我尝试手动将 .DMG 文件的内容放入 Xcode 中的库中,如一些旧帖子所述,例如“Cashes/com.apple.dt.Xcode/Downloads/”,但这不起作用。重新启动 Xcode 我有同样的提示要求我重新下载模拟器。

beta simulator download xcode15 ios17

4
推荐指数
1
解决办法
9318
查看次数

Xcode 15 构建错误:断言失败:(fixups().size() == 2),函数 initFixup,文件 Atom.cpp

我正在使用 Xcode 15(beta 5)测试我当前的项目,并且收到一个错误,我不知道它是 Xcode 中的新内容还是只是 beta 版本中的错误:

Assertion failed: (fixups().size() == 2), function initFixup, file Atom.cpp, line 2021.
linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

我没有发现任何其他类似的错误,有什么建议吗?

在此输入图像描述

xcode ios swift xcode15

3
推荐指数
1
解决办法
1163
查看次数

UIRefreshControl 在 iOS 17 上不显示(收到 offscreen beginRefreshing 警告)

我尝试运行一个在 iOS 14/15/16 上完美运行的简单代码,但现在在 iOS 17 上使用 Xcode 15 时,它不再起作用了。我将附加下面的代码,显示一个表视图,该视图UIRefreshControl将在获取请求之前运行beginRefreshing(),但刷新控件在 iOS 17 上不再显示,并且我收到此警告,表示刷新控件收到了屏幕外的 beginRefreshing。

在此输入图像描述

DispatchQueue.main.asyncAfter以下是使用显示简单表视图来模拟获取请求的代码。如果您尝试在 iOS 17 上运行它,刷新控件将不会在模拟提取请求之前显示。

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
    private let tableView = UITableView()
    private let cellIdentifier = "cellIdentifier"
    private let data = ["Cell 1", "Cell 2"]
    private let refreshControl = UIRefreshControl()

    override func viewDidLoad() {
        super.viewDidLoad()
        configureTableView()
        
        refreshControl.beginRefreshing()
        
        // Simulate fetch request
        DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: {
            self.setDataSource()
        })
    }
    
    private func configureTableView() {
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellIdentifier)
        refreshControl.addTarget(self, …
Run Code Online (Sandbox Code Playgroud)

tableview ios uirefreshcontrol xcode15 ios17

3
推荐指数
1
解决办法
702
查看次数

如何在 sonoma 上的 Xcode 15 中获取 5.5 英寸屏幕尺寸的屏幕截图

问题定义:

Appstore 要求 5.5 英寸屏幕截图。

我需要一个具有该屏幕尺寸的模拟器。

所以它一定是其中之一。

  • iPhone 8 Plus
  • iPhone 7 Plus
  • iPhone 6s Plus

最新的 Xcode v15 模拟器仅支持 ios17

由于这 3 部手机不支持 ios17,模拟器应用程序不允许我创建它......

那么除了获取“iPhone SE”的 ss 并将其大小调整为“iPhone 8 Plus”之外我应该做什么

谢谢

simulator app-store ios xcode15

3
推荐指数
1
解决办法
554
查看次数

如何在 Xcode 15 中获取 ipa 文件

在 Xcode 版本上,Xcode 15 之前我们有一个选项 Export

导出,然后保存副本并使用 Transporter 上传到应用程序商店

这已经消失了,我需要在上传之前获取 IPA 的副本,因为出于各种原因这是我公司的政策。

在此输入图像描述

xcode ios xcode15

3
推荐指数
1
解决办法
2214
查看次数

如何使用 SwiftUI 在 Xcode 15 Canvas 中以编程方式#Preview(新宏)不同设备?

有一个新的#Preview宏(或者至少对我来说是新的)。SwiftLee 博客对此进行了讨论。我排除了下面示例的一些代码来问我的问题。

要在 SwiftUI 画布中预览代码,您过去必须编写代码:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Hello World!")
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

...但是现在(2023 年 10 月)您可以编写代码:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Hello World!")
        }
    }
}

#Preview {
    ContentView()
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:我们如何考虑 Apple 的#Preview宏语法重新编码以下内容,以便我们可以以编程方式更改在 SwiftUI-LivePreview-Canvas 上显示的设备:

struct ContentView_Previews: PreviewProvider {
    static var previews: some View …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui xcode15

3
推荐指数
1
解决办法
1075
查看次数

无法在 Xcode 15.0.1 上运行 iOS 15 模拟器:系统调用中断

我尝试在 Xcode 15.0.1 上运行 iOS 15 模拟器,但收到错误:“无法启动模拟器。系统调用中断”

我试过:

  1. 重新安装 Xcode
  2. 删除“派生数据”
  3. 重新下载 iOS 15 运行时

以上方法都不适合我。

这是错误日志:

Domain: NSPOSIXErrorDomain
Code: 4
Failure Reason: Interrupted system call
User Info: {
    DVTErrorCreationDateKey = "2023-10-26 16:42:13 +0000";
    IDERunOperationFailingWorker = "_IDEInstalliPhoneSimulatorWorker";
    Session = "com.apple.CoreSimulator.SimDevice.AA0321E3-E8C1-4B8D-A650-6078D711A67E";
}
--
Failed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding
Domain: com.apple.SimLaunchHostService.RequestError
Code: 4
--

Event Metadata: com.apple.dt.IDERunOperationWorkerFinished : {
    "device_model" = "iPhone13,1";
    "device_osBuild" = "15.0 (19A339)";
    "device_platform" = "com.apple.platform.iphonesimulator";
    "dvt_coredevice_version" = …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios-simulator xcode15

3
推荐指数
1
解决办法
1064
查看次数