我正在使用SFSafariViewController,並遇到以下問題:用戶出現上傳圖像按鈕,點擊設備正確顯示多個選項時,其中之一是相機。當用戶選擇相機時,它將加載相機,但屏幕爲黑色,並且動作按鈕變灰。但是,如果用戶選擇圖書館,則選擇的圖片會正確上傳。ios 9 - xcode 7 - 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和照相機工作正常。
是否出現SFSafariViewController內或在底部的工具欄選項上傳圖片按鈕?我試過上面的代碼,它沒有顯示任何上傳圖像按鈕。 –
你使用2個viewControllers還是隻有一個?我相信你知道這一點,但是:「與Safari本身不同,SFSafariViewController UI是爲顯示單個頁面而量身定製的,其中包含一個完成按鈕,可讓用戶回到應用程序所在的位置。如果您的應用程序顯示Web內容,但不會自定義該內容,請考慮使用SFSafariViewController替換基於WKWebView或UIWebView的瀏覽器。「您可能會將自己/用戶引導至尚不存在的頁面。 – lukaivicev
@ ManishVerma:該按鈕不是本機IOS,而是一個webview中的文件上傳按鈕。 –