当我尝试在Swift中创建按钮并设置背景图像时:
let button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.frame = CGRectMake(100, 100, 100, 100)
button.setImage(IMAGE, forState: UIControlState.Normal)
button.addTarget(self, action: "btnTouched:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button)
Run Code Online (Sandbox Code Playgroud)
我总是得到一个错误:" 无法将表达式的'Void'转换为'UIImage'类型 ".
在 Xcode 14 之前创建多平台应用程序时,Xcode 将为每个目标创建一个单独的权利文件。现在,在 Xcode 14 中,所有目标默认使用相同的权利文件。
在Xcode 14项目中添加HealthKit能力,并"Privacy - Health Update Usage Description"在Key中填充字符串Info.plist,然后提示HealthKit授权请求后,并没有弹出要求用户同意App使用HealthKit数据的界面。此外,控制台中打印以下错误:运行状况请求显示失败:缺少应用程序标识符权利。
将应用程序标识符权利手动添加到权利文件中可以解决该问题,但是,由于 macOS 目标也使用相同的权利文件,因此 Xcode 无法自动为 macOS 签署应用程序并给出以下错误:
Provisioning profile "Mac Team Provisioning Profile: com.xx.xx" doesn't include the application-identifier entitlement.
Run Code Online (Sandbox Code Playgroud)
这里正确的做法是什么?我应该手动创建第二个权利文件并将它们分开吗?如果是这样,这将如何完成?还是我还缺少其他东西?
任何帮助将不胜感激。
根据 Apple 开发者文档,HealthKit 应该在 macOS 13.0 及更高版本上可用,如下图以及Apple 文档网站所示。
对于 HealthKit 组件也是如此,例如 HKHealthStore(请参阅此处以供参考)。
在设置 HealthKit 之前,我使用以下代码检查它是否可用:
if HKHealthStore.isHealthDataAvailable() {
print("is available")
} else {
print("is not available")
}
Run Code Online (Sandbox Code Playgroud)
在 iOS 上,这会打印is available. 从那里我继续设置 HealthKit,请求用户权限等等。然而,在 macOS 上,.isHealthDataAvailable()这是错误的。
有没有办法让 HealthKit 在 macOS 上运行?是否有其他平台不需要的额外设置?