gpt4 book ai didi

ios - 从我的共享扩展 ShareViewController 显示一个 UIAlertController

转载 作者:行者123 更新时间:2023-11-28 16:06:51 28 4
gpt4 key购买 nike

我目前正在使用 swift 3 开发我的第一个共享扩展。这实际上是一个非常简单的扩展,它直接从 Safari 共享文本或 url(通过从网页内容中选择文本或 url)

我想在 ShareViewController (SLComposeServiceViewController) 的 didSelectPost() 中显示一个 UIAlertController,但这实际上不起作用。在用户点击发布按钮后,警报将仅显示几纳秒。仅供引用,这是我为此使用的代码:

func displayUIAlertController(title: String, message: String) {

let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil)
self.present(alert, animated: true, completion: nil)

}

然后在 didSelectPost() 中

displayUIAlertController(title: "title", message: "test")

有没有办法从共享扩展中显示 UIAlertController?谢谢。

编辑。我想我明白了,但我现在唯一关心的是确定当 Apple 在应用商店验证我的应用时,他们会接受它(这将是我的第一个应用程序,我什至还没有付费开发者帐户)

这是我的解决方案:

func displayUIAlertController(title: String, message: String) {

let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: { (action: UIAlertAction!) -> () in
self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
}))

self.present(alert, animated: true, completion: nil)
}

所以现在 self.extensionContext!.completeRequest() 是在用户单击警报按钮之后调用的,而不是在 didSelectPost() 结束时调用的。它就像一个魅力,但我仍然想知道这是否是一个“安全”的解决方案?如果是这样,我想我的解决方案可以帮助解决其他相关问题。

希望有人能告诉我。

最佳答案

我用有效的答案编辑了最初的帖子。在没有得到你们的任何确认的情况下,我想我的解决方案是最好的,但如果有什么不同的地方可以做,或者如果这个解决方案在 Apple 验证期间可能会出现问题,请告诉我。

这是我的解决方案:

func displayUIAlertController(title: String, message: String) {

let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)

alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: { (action: UIAlertAction!) -> () in
self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
}))

self.present(alert, animated: true, completion: nil)
}

所以现在 self.extensionContext!.completeRequest() 是在用户单击警报按钮之后调用的,而不是在 didSelectPost() 结束时调用的。它就像一个魅力,但我仍然想知道这是否是一个“安全”的解决方案?如果是这样,我想我的解决方案可以帮助解决其他相关问题。

关于ios - 从我的共享扩展 ShareViewController 显示一个 UIAlertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40169045/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com