XCode 7 - Swift - Автоматическая загрузка сайта через SFSafariViewController
Я нахожусь в процессе обновления нашего приложения iTunes и хотел бы воспользоваться новым API SFSafariViewController. Вариант использования очень прост: когда пользователь открывает приложение, оно автоматически загружает установленный URL в SFSafariViewController.
По-видимому, существуют ограниченные учебники по этому вопросу, и те, которые существуют, включают IBActions по ссылкам, как только приложение открыто.
Как автоматически открыть ссылку в SFSafariViewController, когда пользователь щелкает приложение на своем устройстве?
Следующий код только белые страницы:
import UIKit
import SafariServices
class ViewController: UIViewController
{
private var urlString:String = "https://example.com"
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let svc = SFSafariViewController(URL: NSURL(string: self.urlString)!)
svc.presentViewController(self, animated: true, completion: nil)
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
---- рабочий код ----
import UIKit
import SafariServices
class ViewController: UIViewController
{
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 didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let svc = SFSafariViewController(URL: NSURL(string: self.urlString)!)
self.presentViewController(svc, animated: true, completion: nil)
}
}
1 ответ
Ваш текущий код пытается представить текущий вид контроллера (ViewController
) от SFSafariViewController
, который даже не отображается пока.
Попробуйте поменять это:
svc.presentViewController(self, animated: true, completion: nil)
За это:
self.presentViewController(svc, animated: true, completion: nil)