使用UIAactivityViewController时,控制台会生成一条消息

问题描述 投票:0回答:1

首先请理解我使用翻译器。

我正在使用 UIActivityViewController 创建一个共享图像和文本的功能。

当我运行共享功能时,我从控制台收到如下消息。

有谁知道为什么吗?

这是控制台消息:

获取断言时出错:

(501) type:0 的 personaAttributesForPersonaType 失败,错误为 Error Domain=NSCocoaErrorDomain Code=4099 “与名为 com.apple.mobile.usermanagerd.xpc 的服务的连接已失效: 查找失败,错误 159 - 沙箱限制。” UserInfo={NSDebugDescription=与名为的服务的连接 com. apple.mobile.usermanagerd.xpc 已失效:查找失败并出现错误 159 - 沙箱限制。}

收到标识符响应端口:<(null)>,出现错误:Error Domain=RBSServiceErrorDomain Code=1“客户端无权”UserInfo={RBSEntitlement=com.apple.runningboard.process-state, NSLocalizedFailureReason=客户端无权,RBSPermanent=false}

elapsedCPUTimeForFrontBoard 无法生成任务端口

收到标识符响应端口:<(null)>出现错误:Error Domain=RBSServiceErrorDomain Code=1“客户端无权”UserInfo={RBSEntitlement=com.苹果。 runningboard.进程状态, NSLocalizedFailureReason=客户端无权,RBSPermanent=false}

elapsedCPUTimeForFrontBoard 无法生成任务端口

我认为图片中的信息不应该出现。 这是我的代码。

guard let image = postImageView.image else { return }
let items = [viewModel.post.caption, image] as [Any]
let ac = UIActivityViewController(activityItems: items, applicationActivities: nil)
ac.popoverPresentationController?.sourceView = self.view
ac.excludedActivityTypes = [.assignToContact, .copyToPasteboard]
present(ac, animated: true)
ios swift uikit uiactivityviewcontroller
1个回答
0
投票

您用于呈现 UIActivityViewController 的代码看起来是正确的。但是,如果存在问题,可能与您尝试共享的内容或调用此代码的上下文有关。

您正在使用guard let image = postImageView.image else { return } 解开 postImageView.image 。确保 postImageView.image 不为零。如果为零,UIActivityViewController 在尝试共享它时可能会遇到问题。

也可能是您不在设备上运行的问题

通过将代码移至 viewDidAppear,您可以确保视图控制器在呈现 UIActivityViewController 之前位于视图层次结构中。这应该可以解决您遇到的警告消息。

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    guard let image = postImageView.image else { return }
    let items = [viewModel.post.caption, image] as [Any]
    
    let ac = UIActivityViewController(activityItems: items, applicationActivities: nil)
    ac.excludedActivityTypes = [.assignToContact, .copyToPasteboard]

    // Present the UIActivityViewController
    present(ac, animated: true)
}
© www.soinside.com 2019 - 2024. All rights reserved.