Sto lavorando con SFSafariViewController e ho riscontrato il seguente problema: L'utente viene presentato con un pulsante immagine di caricamento, quando viene fatto clic sul dispositivo visualizza correttamente più opzioni, uno dei quali è la fotocamera. Quando l'utente seleziona la fotocamera, carica la fotocamera ma lo schermo è nero e il pulsante di azione è disattivato. Tuttavia, se l'utente seleziona la libreria, l'immagine selezionata viene caricata correttamente.ios 9 - xcode 7 - SFSafariViewController - Upload immagine - Schermo nero fotocamera
Ho verificato che l'app abbia le autorizzazioni della telecamera attivate.
Ho provato a implementare le correzioni trovate here e here, ma senza successo.
Qualcun'altro ha riscontrato questo problema?
Codice:
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.
}
}
----- Update # 1 -----
Dopo aver ripristinato le impostazioni di privacy e cercando di caricare immagini direttamente dalla fotocamera, non sono sempre " SafariViewService vorrebbe accedere alla telecamera, che ritengo possa essere il problema, perché dopo aver accettato, lo schermo è ancora nero, mi chiedo perché non stia dicendo che il mio nome app come "FooBar" vorrebbe l'accesso ... Forse questo il disallineamento è il motivo per cui lo schermo della fotocamera è nero. Non è sicuro come cambiarlo.
----- Aggiornamento # 2 -----
Questo sembra essere un problema di SFSafariViewController, come ho implementato WKWebView e la fotocamera funziona bene.
Vuol pulsante immagine caricare appare all'interno del SFSafariViewController o come opzione nella barra degli strumenti in basso? Ho provato sopra il codice e non mostra alcun pulsante di caricamento dell'immagine. –
Stai usando 2 viewControllers o solo uno per questo? Sono sicuro che tu ne sia a conoscenza ma: "A differenza di Safari, l'interfaccia utente di SFSafariViewController è personalizzata per la visualizzazione di una singola pagina, con un pulsante Fine che riporta gli utenti al punto in cui si trovavano nella tua app. Se la tua app visualizza contenuti web , ma non personalizza quel contenuto, considera la possibilità di sostituire i browser basati su WKWebView o UIWebView con SFSafariViewController. Potresti essere tu stesso l'utente/utente a una pagina che non esiste ancora. – lukaivicev
@ManishVerma: Il pulsante NON è IOS nativo, piuttosto è un pulsante di caricamento file da una visualizzazione Web. –