小编Mat*_*ttL的帖子

SwiftUI 按钮在 UIHostingController 中不起作用

我有一个 SwiftUI 视图,我使用 UIHostingController 将其嵌入到现有的 UIViewController 中。SwiftUI 视图很简单,事实上我可以将其简化为以下代码并重现该问题:

let hostingController = UIHostingController(rootView: Button {
   print("tapped")
} label {
   Text("Tap")
}
Run Code Online (Sandbox Code Playgroud)

HostingController 作为子视图添加到我现有的视图控制器中,如下所示:

override func viewDidLoad() {
   super.viewDidLoad()
   view.addSubview(hostingController.view)
   // Code to set up autolayout constraints omitted.
   addChild(hostingController)
   hostingController.didMove(toParent: self)
}
Run Code Online (Sandbox Code Playgroud)

该按钮在画布预览中可点击,但在模拟器或真实设备上则不可点击。没有手势识别器或其他视图覆盖 UIHostingController 的视图。我尝试使用.onTapGesture(perform:)按钮而不是按钮,但这也不起作用。为了让事情变得更奇怪,我可以添加一个 ScrollView 作为我的 SwiftUI 和滚动工作的子视图。为什么我的按钮不起作用?

uikit ios swiftui

11
推荐指数
2
解决办法
2352
查看次数

如何在 CI 服务器上设置 Xcode 性能测试基线?

使用 API 编写的 Xcode 性能测试XCTest.measure()通过或失败取决于“基线”性能,必须在 Xcode 中手动设置并存储在ProjectName.xcodeproj/xcshareddata/xcbaselines/. 从 Xcode 13.2.1 开始,只能为当前设备 + 模拟器组合设置这些基线。例如,如果您在另一台具有不同处理器的计算机上运行性能测试,它将忽略您之前设置的基准。这是有道理的,因为不同的配置可能具有非常不同的性能特征。

但这在无头 CI 服务器上运行性能测试时会出现问题。如何设置无头 CI 服务器的性能基准?

我无权访问 Xcode UI,并且xcodebuild似乎没有提供设置基线的方法。

需要明确的是,测试确实在我的 CI 服务器上成功执行,但它们永远不会失败,因为未设置基线。

xcode continuous-integration performance-testing ios xctest

8
推荐指数
0
解决办法
385
查看次数

如何每天在特定时间在 Slack 中触发斜杠命令

我想每天在特定时间在 Slack 中触发一个斜杠命令。具体来说,我想在每晚午夜清除我的状态。

从文档看来,唯一的方法是通过Incoming Webhook。但是,使用以下 JSON 正文进行 POST 只会在 Slack 中创建一条消息,/status clear实际上并未运行该命令。

'{"text":"/status clear"}'
Run Code Online (Sandbox Code Playgroud)

它还代表与 webhook 关联的应用程序发布消息,而不是在我的用户名下。

有没有办法从官方 Slack 应用程序外部为我的用户调用斜杠命令?

slack-api slack

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