Xcode 11 beta 中“预览资产”资产目录的用途是什么?
我刚刚用 SwiftUI 创建了新项目。我检查了 Xcode 11 beta 的发行说明,但没有关于这个资产目录的信息。
它有什么用?
使用Xcode 11 beta 6,我试图为具有使用属性的类型声明一个协议@Published(但我猜这个问题可以推广到任何PropertyWrapper)。
final class DefaultWelcomeViewModel: WelcomeViewModel & ObservableObject {
@Published var hasAgreedToTermsAndConditions = false
}
Run Code Online (Sandbox Code Playgroud)
我试图声明:
protocol WelcomeViewModel {
@Published var hasAgreedToTermsAndConditions: Bool { get }
}
Run Code Online (Sandbox Code Playgroud)
这导致编译错误: Property 'hasAgreedToTermsAndConditions' declared inside a protocol cannot have a wrapper
所以我试着把它改成:
protocol WelcomeViewModel {
var hasAgreedToTermsAndConditions: Published<Bool> { get }
}
Run Code Online (Sandbox Code Playgroud)
并尝试
哪个不编译,DefaultWelcomeViewModel does not conform to protocol好吧,嗯,那我用不了,Published<Bool>试试吧!
struct WelcomeScreen<ViewModel> where ViewModel: WelcomeViewModel & ObservableObject {
@EnvironmentObject private var viewModel: …Run Code Online (Sandbox Code Playgroud) 我正在尝试发布一个iOS应用程序-它可以在Xcode 11的模拟器或设备上很好地构建,并且可以在Xcode 10中很好地存档,但是当我尝试将其存档以在App Store中发布时,该构建会无限期地挂起。我点击产品>存档,它完成了4040个步骤中的3960个步骤,然后在“存档Firebase / Firestore”阶段无限期地挂起。这发生在4个不同的Xcode 11版本上-3、6、7,以及最近在今天早些时候发布的GM。
我尝试过翻转一些构建设置-优化标志,增量/整个模块,启用位码,独占内存,并且还几次用不同的11个版本重新安装了Xcode。我还尝试了各种版本的cocoapods,包括在构建挂起时正在编译的Firebase / Firestore pod(即,我使用了旧版本并尝试更新到Pod的最新版本)。做过的工作。有人对我可以阻止它挂起的其他事情有任何建议吗?
实施新Sign in With Apple功能是否会使应用与 iOS 12 及以下版本不兼容,类似于 SwiftUI?是否有可能编译一个应用程序,它必须import AuthenticationServices像这样的东西XCode 10?
在XCode 11中,当我尝试运行显示已成功安装的应用程序xcode时,出现警告,并显示消息“找不到已安装的应用程序,安装成功,但在设备上找不到该应用程序。bundleId = com.xxx.xxx”
但是这些解决方案对我不起作用。请帮助我。
我们从 xcode 11 创建了支持 iphone、ipad 和 mac 催化剂的新应用程序。我们还创建了苹果分发配置文件来上传二进制文件。但在提交时,苹果表示不支持测试版二进制文件。我已经使用了 xcode 11,如果我要取消选择 mac,那么我可以提交构建。
在开发者苹果中,我还没有看到任何关于上传 mac 催化剂应用程序的指南。有人请帮我解决这个问题吗?
我正在查看这个 SwiftUI 教程,它表明我可以在命令单击代码中的 SwiftUI 元素时看到额外的操作。在我的 Xcode 中,这会将我跳转到类定义。
我看到 XCode 11.0 中有一个选项可以更改 Option 键以显示 SwiftUI 检查器,但是,这仍然不允许我使用“嵌入 VStack”等操作修改 SwiftUI 代码元素
与 SwiftUI 代码(不是预览)交互时,如何获得检查器和额外的 SwiftUI 操作?
从 Xcode 11 开始,自动测试(单元测试或 UITests)的结果输出文件变成了 .xcresult(见下面的截图)。
在 Xcode 11 之前,在用于构建 JUnit 文件的 test 文件夹中创建了一个 TestSummaries.plist 文件。
然后在 Jenkins CI 中使用 JUnit 文件:
- 显示测试结果
- 发送电子邮件通知团队成员有关失败的信息。
- 保存结果及其参数的存档
但是现在似乎没有可用的命令行工具来解析包含以下内容的 .xcresult 文件:
- 测试结果
- 代码覆盖率
- 截图(对这些不太感兴趣)
我试过 xcpretty:https : //github.com/xcpretty/xcpretty但那个只是说已经执行了 0 个测试,实际上执行了 68 个测试
不确定这是否重要,但我使用 .xctestplan 和以下 xcodebuild 命令
xcodebuild -scheme Debug -workspace MyApp.xcworkspace -destination 'platform=iOS Simulator,OS=12.4,name=iPhone Xs Max' test -testPlan UnitTests
Run Code Online (Sandbox Code Playgroud)
我还看到 Xcode 11 附带了一个命令行工具,它解决了部分难题:
$ xcrun xcresulttool --path ResultBundle.xcresult --format json > ResultBundle.json
Run Code Online (Sandbox Code Playgroud)
但这只能解析一层
我还查看了 …
我在xcode-select --install使用 Xcode 11 beta 和 Mac Mojave 10.14.5安装命令行开发工具时遇到问题。
下载开始发生,然后立即停止并显示一条消息:
无法安装该软件,因为软件更新服务器当前不提供该软件。
我查了一下,我发现的所有线程都有用于下载命令行工具的死链接:
使用Xcode 11 beta 5升级到iOS13 beta 6后,在iPhone SE设备上运行时,我收到此消息。
dyld: Symbol not found: _$s7SwiftUI7BindingVyxGAA0C11ConvertibleAAMc
Referenced from: /var/containers/Bundle/Application/3B128240-B05E-4C1C-A0E1-55D22683B49E/BleAdvApp.app/BleAdvApp
Expected in: /System/Library/Frameworks/SwiftUI.framework/SwiftUI
in /var/containers/Bundle/Application/3B128240-B05E-4C1C-A0E1-55D22683B49E/BleAdvApp.app/BleAdvApp
Run Code Online (Sandbox Code Playgroud)
使用模拟器没有此消息,并且设备上的iOS13 beta 5正常,工具“编译”很好,该消息在iPhone上启动应用程序时显示,并带有
线程1:信号SIGABRT
由于没有Xcode 11 beta 6,因此Xcode仍在MacOS Mojave 10.14.5(18F132)的beta 5上运行。
我从头开始创建了一个简单的SwiftUI示例,该示例在实际的手机和模拟器上都可以正常工作。
我还想知道Mac上根本没有路径/ var / containers吗?
对如何进行有任何想法吗?