下载Xcode 15 beta并运行我的项目后,我收到一条警告,要求将项目更新为推荐的设置
启用用户脚本沙箱
建议启用用户脚本沙箱以确保构建的正确性。这将启用 ENABLE_USER_SCRIPT_SANDBOXING 构建设置。
有什么影响?什么时候应该启用/禁用它?如果我将 ie SwiftGen设置为构建阶段怎么办?
private func updateViewFromModel() {
for index in cardButtons.indices {
let button = cardButtons[index]
let card = game.cards[index]
if card.isFaceUp {
button.setTitle(emoji(for: card), for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 50)
button.backgroundColor = .lightGray
} else {
button.setTitle("", for: .normal)
button.backgroundColor = card.isMatched ? .clear : .systemIndigo
}
}
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这段代码有什么问题吗?IB 中的标题为空。我成功设置了标题。但字体大小没有改变。
我想将自定义枚举保存到我的SwiftData模型中。我可以让它工作,它显示甚至更新 UI 中的值。不过,重新启动应用程序时,枚举变量/实体的更改 \xe2\x80\x99t 仍然存在!
\n使用自定义枚举时需要注意什么有什么建议吗?
\nenum Type: Int, Codable {\n case foo = 0\n case bar = 1\n}\n\n@Model\nfinal public class Item {\n var type: Type\n}\nRun Code Online (Sandbox Code Playgroud)\nstruct DetailView: View {\n @Bindable var item: Item\n \n // MARK: -\n var body: some View {\n Picker("Type", selection: $item.type) {\n Text("Foo").tag(Type.foo)\n Text("Bar").tag(Type.bar)\n }\n .pickerStyle(.segmented)\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n 我正在为课程构建一个 iOS 应用程序,并且正在按照一些说明进行操作。“编辑”按钮连接到toggleEditingMode,但是当我更改文本时,由于某种原因,字体大小被重置为 17,即使在故事板编辑器中它是 30。
我尝试过更改字体大小,如果我在执行 setTitle 后打印当前字体大小,它仍然显示 30,所以看起来它一定发生在 setTitle 之外,但只有在我使用 setTitle 时才会触发。帮助!
class ItemsViewController: UITableViewController {
var choreStore: ChoreStore!
var roommateStore: RoommateStore!
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return choreStore.allChores.count
}
override func tableView(_ tableView: UITableView,
cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Create an instance of UITableViewCell with default appearance
let cell = tableView.dequeueReusableCell(withIdentifier: "chore", for: indexPath) as! ChoreCell
// Set the text on the cell with the description of the item
// …Run Code Online (Sandbox Code Playgroud) 只是想分享 Stack Overflow 上尚未解决的问题的解决方案。
在 Xcode 中,当尝试在 App Store 上分发 iOS 应用程序时(通过 archive => 分发),我遇到以下错误:
由于输入无效,应用程序记录创建失败。请求失败,错误代码为“STATE_ERROR.APP_CREATE.PLATFORM_NOT_ALLOWED_DUE_TO_CONTRACT_STATE”,原因为“由于您的提供商的合同状态,无法为此应用程序创建一个或多个平台。由于您的提供商的合同状态,无法为 iOS 平台创建应用程序”契约状态。”
在从 Xcode 开发本机应用程序时,我的应用程序的屏幕变黑,并且 Xcode 卡在启动应用程序并附加到 iPhone 14 Pro 上,如下图所示:
当我的应用程序的屏幕变黑时,模拟器仍然正常工作。如果我终止我的应用程序并重新启动它,它会卡在启动屏幕上。
我在上次更新之前尝试设置罗塞塔石碑,但我遇到了同样的问题。更新 Xcode 和 macOS 后,我什至没有 Rosetta 选项。
我在用:
现在唯一有效的方法是完全终止模拟器的进程,然后从 Xcode 重新启动它。
注意:当我在 iOS 模拟器上从 Android studio 开发flutter应用程序时,一切正常。
更新:09/19/2023:在 Xcode 15.0 公开版本上仍然相同。
下载 Xcode beta 并尝试安装 iOS 17.0 模拟器后,弹出一条错误消息:“失败 - 使用 CoreSimulator 注册模拟器运行时失败。”
我遇到过这个问题的其他解决方案,但作为这个领域的新手,我无法自己解决它。
我有超过 18GB 的可用存储空间,并多次尝试删除并重新下载 Xcode-beta。
如果有人能够帮助我解决这个问题,我将不胜感激!
将我的应用程序提交到 App Store 时,我收到这封电子邮件:
TMS-90713:缺少 Info.plist 值 - 捆绑包“...”中缺少 Info.plist 键“CFBundleIconName”的值。使用 iOS 11 或更高版本 SDK 构建的应用程序必须在资产目录中提供应用程序图标,并且还必须为此 Info.plist 键提供一个值。有关更多信息,请参阅 http://help.apple.com/xcode/mac/current/#/dev10510b1f7。
我已经尝试了这篇文章中的所有内容:Missing CFBundleIconName in Xcode9 iOS11 app release
我使用的是 Xcode 13.1 和 MacBook Air M1 2020
从 Swift 5.5 开始,我们可以使用这样的绑定创建 SwiftUI 列表(例如,参见这个答案):
class Item {
// ...
var isOn: Bool
}
struct ContentView: View {
@State private var items: [Item] = []
var body: some View {
NavigationView {
List {
ForEach($items) { $item in // <--- list binding
Toggle(isOn: $item.isOn) {
Text("Vibrate on Ring")
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想用 SwiftData 做类似的事情,但出现错误:
struct ContentView: View {
@Environment(\.modelContext) private var modelContext
@Query private var items: [Item]
var body: some View {
NavigationView { …Run Code Online (Sandbox Code Playgroud) 当我在 Xcode 15 Beta 3 上构建 iOS 项目时,我收到以下构建警告:
Duplicate -rpath '/usr/lib/swift' ignored
Duplicate LC_RPATH are deprecated ('@executable_path/Frameworks')
Duplicate LC_RPATH are deprecated ('@loader_path/Frameworks')
Run Code Online (Sandbox Code Playgroud)
在 Xcode 14 上我没有得到它们,所以我猜它与新的 Xcode 15 链接器有关。
有谁知道它是否可以/应该修复以及如何修复?
谢谢