我正在使用 SFSafariViewController,遇到了以下问题: 用户看到一个上传图像按钮,当点击设备正确显示多个选项,其中之一是相机。当用户选择相机时,它会加载相机但屏幕是黑色的,并且操作按钮是灰色的。但是,如果用户选择库,则会正确上传所选图像。
我确实验证了该应用程序已打开相机权限。
还有其他人遇到这个问题吗?
代码:
import UIKit
import SafariServices
class ViewController: UIViewController, SFSafariViewControllerDelegate
{
private var urlString:String = "https://example.com"
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func viewDidAppear(animated: Bool)
{
super.viewDidAppear(animated)
let svc = SFSafariViewController(URL: NSURL(string: self.urlString)!)
svc.delegate = self
self.presentViewController(svc, animated: true, completion: nil)
}
func safariViewControllerDidFinish(controller: SFSafariViewController) {
super.dismissViewControllerAnimated(true, completion: nil)
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
-----更新 #1 -----
重置隐私设置并尝试直接从相机上传图像后,我没有收到“SafariViewService 想要访问相机,我认为这可能是问题。因为我接受后,屏幕仍然是黑色的,我想知道为什么这并不是说我的应用名称像“FooBar”会想要访问...也许这种错位是相机屏幕变黑的原因。只是不知道如何更改它。
-----更新 #2 -----
这似乎是一个 SFSafariViewController 问题,因为我实现了 WKWebView 并且相机工作正常。