小编Gar*_*ary的帖子

以编程方式创建按钮并设置背景图像

当我尝试在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'类型 ".

uibutton ios swift

72
推荐指数
6
解决办法
14万
查看次数

Xcode 14 中多平台应用程序的权利

在 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)

在这里您可以看到签名和功能中给出的错误: 带有错误消息的签名和功能 Xcode 屏幕

这里正确的做法是什么?我应该手动创建第二个权利文件并将它们分开吗?如果是这样,这将如何完成?还是我还缺少其他东西?

任何帮助将不胜感激。

xcode ios xcode14

6
推荐指数
1
解决办法
840
查看次数

HealthKit 在 macOS 上的可用性

根据 Apple 开发者文档,HealthKit 应该在 macOS 13.0 及更高版本上可用,如下图以及Apple 文档网站所示。Apple 文档网站的屏幕截图显示了 HealthKit 可用的平台,包括 macOS 13.0+

对于 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 上运行?是否有其他平台不需要的额外设置?

macos ios swift healthkit

2
推荐指数
1
解决办法
455
查看次数

标签 统计

ios ×3

swift ×2

healthkit ×1

macos ×1

uibutton ×1

xcode ×1

xcode14 ×1