起動初回時にチュートリアルビデオを再生できれば、アプリの使い方をガイドすることができます。iOSにはAVKitというAppleがつくったとは思えない親切なフレームワークがあり、1行で動画を再生することができます。
これを使って、初回アプリ起動時に、チュートリアルのビデオを再生してみましょう。
準備
コーディングする前に以下のように準備します。
1. ストーリーボードにビデオビューを追加する
上図の AVKit Player View Controller をストーリーボードにドラックして落とします。
2. ビデオビューとメインビューを遷移でつなぐ
上図のようにAV Player View ControllerとView Controllerをセグエ(遷移)でつなぎます。遷移元で右クリックしたまま遷移先まで引っ張り、放します。遷移の種類を聞かれるので「一時的に表示(Present Modally)」を選択します。
3. 遷移のIDを指定する
セグエを選択して、上図のようにそのIDを指定します。ここでは「SegueToVideoView
」としました。
4. ビデオビューのビューコントローラを用意する
TutorialVideoPlayerViewController.swift
というファイルを用意します。
5. ビデオビューのクラスに先ほどつくったビューコントローラを指定する
ストーリーボードのビデオビューを選択して、上図のようにそのクラスを指定します。
6. チュートリアルのビデオをプロジェクトに入れる
上図のようにドラッグして落として入れます(別に「Resources」というグループをつくる必要はありません。趣味です😅)。
コーディング
AppDelegate.swift
以下の実質3行を追加します:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. // NSUserDefaults のインスタンス取得 let ud = NSUserDefaults.standardUserDefaults() // デフォルト値の設定 let dic = ["firstLaunch": true] ud.registerDefaults(dic) return true }
ViewController.swift
以下の実質4行を追加します:
override func viewDidAppear(animated: Bool) { //初回起動判定 let ud = NSUserDefaults.standardUserDefaults() if ud.boolForKey("firstLaunch") { // 初回起動時の処理 self.performSegueWithIdentifier("SegueToVideoView", sender: self) // 2回目以降の起動では「firstLaunch」のkeyをfalseに ud.setBool(false, forKey: "firstLaunch") } }
TutorialVideoPlayerViewController.swift
以下の実質1行を追加します:
override func viewDidLoad() { super.viewDidLoad() // 動画ファイルを再生する let url = NSBundle.mainBundle().URLForResource("tutorial", withExtension: "mov") self.player = AVPlayer(URL: url!) }
できあがりです
Tutorial of Physics Education App "Feel Physics Viecle"
参考
こちらも…
ありがとうございました!