细节
系统信息
macOS 版本 11.4(内部版本 20F71)Xcode 12.5(18205)(内部版本 12E262)时间戳:2021-06-11T16:34:20+08:00
我的项目总是在使用 Xcode 11 的所有设备上正确运行,但在我安装 Xcode 12 beta 4 后,它无法在模拟器上构建。
我比较了 Xcode 11 和 Xcode 12 的构建日志,在 Xcode 12 中,我的主要目标似乎是在可可豆荚目标之前构建的,因此链接将失败,因为找不到 cocoapods 库。
如何修复构建目标的顺序?
在 Xcode 11 中,一切都很好。我自己的目标是在 cocoapods 目标之后构建的。
在 Xcode 12 中,构建乱序我自己的目标在 cocoapods 目标之前构建。
更新到 Xcode 12 后,我收到了很多关于 SPM 依赖项(包括 RxSwift 和 Facebook)的警告。
iOS Simulator 部署目标“IPHONEOS_DEPLOYMENT_TARGET”设置为 8.0,但支持的部署目标版本范围为 9.0 到 14.0.99。
我可以以某种方式抑制这些警告,还是等待适当框架的创建者修复它的唯一方法?
我昨天将 iPhone 更新到了 iOS 15.6,我想在 Xcode(版本 13.3.1)中进行构建。但在 Xcode 中它显示“iPhone(不支持的操作系统版本)”。Xcode 发行说明未显示此版本支持。 https://xcodereleases.com
当我在 NavigationView 中按“后退”按钮时使用Xcode 12 beta (12A6159)on macOS Catalina 10.15.5 (19F101),从推送的视图中导航回来,我在控制台中看到了这个警告。
[UIContextMenuInteraction] 未处于活动状态时,正在尝试 -[UIContextMenuInteraction expireMenu]。这是一个客户端错误,最常见的原因是在给定的生命周期内多次调用解除。(<_UIVariableGestureContextMenuInteraction: 0x6000037689a0>)
我在 Xcode 11.5 上没有收到此警告。
代码非常简单:
var body: some View {
NavigationView {
NavigationLink(destination: gameScreen) {
Text("Start game")
}
}
}
Run Code Online (Sandbox Code Playgroud)
在导航到gameScreen然后按导航栏中的“返回”按钮后,我在控制台中看到了记录的警告。
我还没有升级到任何新SwiftUI东西像App或SceneBuilder等...
运行 Xcode 12,我的 Swift 5 Xcode 项目现在会在 a DecodableorCodable类型声明let具有初始值的常量时发出警告。
struct ExampleItem: Decodable {
let number: Int = 42 // warning
}
Run Code Online (Sandbox Code Playgroud)
不可变属性不会被解码,因为它是用无法覆盖的初始值声明的
Xcode 建议将 更改let为 a var:
修复:改为使属性可变
var number: Int = 42
Run Code Online (Sandbox Code Playgroud)
它还建议修复:
修复:通过初始化程序设置初始值或明确定义一个 CodingKeys 枚举,包括一个“标题”案例以消除此警告
这个新警告的目的是什么?应该注意还是忽略?这种类型的警告可以静音吗?
应该实施 Xcode 的修复吗?或者有更好的解决方案吗?
编辑: 此问题发生在 XCode 12 Beta5 之后。Xcode 不允许不同的模块定义相同的名称(可能用于公共类和协议)。Alamofire 和 Kingfisher 似乎同时定义了 SessionDelegate。我仍在努力寻找解决方案..
我正在我们的应用程序中实现 iOS 14 小部件。我已经开始使用XCode 12 Beta 2并且一切都编译得很好。当我将XCode更新到XCode 12 Beta 6 时,我遇到了以下错误:
'SessionDelegate'在不同的模块中有不同的定义;第一个区别是模块“Kingfisher.Swift”中的定义发现类结束
我还附上了错误文件的屏幕截图。
有什么方法可以编辑头文件,为 Alamofire 或 Kingfisher 的 SessionDelegate 使用不同的名称?有什么解决方法可以克服这个问题吗?
以下是我迄今为止尝试过的事情:
我正在使用 Xcode 12,但收到如下警告:
警告:在路径 '/Users/ABC/Library/Developer/Xcode/DerivedData/demowatchapp-blfzfuqxehfteaaofqpdlfuurtdr/Build/Products/Debug-watchsimulator/watchapp.app' 处创建 LLDB 目标时出错 - 使用空的 LLDB 目标会导致内存读取缓慢从远程设备。
我已经检查过 xcode 6 中有解决方案可以将架构更改为 arm64。我也在构建设置中检查了它,它被称为标准架构。我已经读过它,因为新的 xode 苹果本身使它成为标准架构,即 arm64、armv7。所以现在不确定是什么问题。我还检查了我的 iOS 应用程序、手表应用程序和扩展程序是否都具有相同的架构。
我还检查了以下对我不起作用的链接: Xcode - 创建 LLDB 目标时出错
我刚刚下载了 Xcode 12 beta 6。我已将 firebase 安装到项目中,但出现此错误。当我用建议更正它时,它会告诉我用原件再次更正。所有“GoogleDataTransport”都会重复此错误。您可以将 Firebase 与 Xcode 12 beta 6 一起使用吗?我究竟做错了什么?谢谢
我想知道是否可以使用View.onDrag和手动View.onDrop添加拖放重新排序LazyGrid?
虽然我能够使用 使每个项目都可以拖动onDrag,但我不知道如何实现放置部分。
这是我正在试验的代码:
import SwiftUI
//MARK: - Data
struct Data: Identifiable {
let id: Int
}
//MARK: - Model
class Model: ObservableObject {
@Published var data: [Data]
let columns = [
GridItem(.fixed(160)),
GridItem(.fixed(160))
]
init() {
data = Array<Data>(repeating: Data(id: 0), count: 100)
for i in 0..<data.count {
data[i] = Data(id: i)
}
}
}
//MARK: - Grid
struct ContentView: View {
@StateObject private var model = Model()
var body: some …Run Code Online (Sandbox Code Playgroud)