前提・実現したいこと
swiftでGPSで走行記録をとるアプリケーションを作成しています。(ubereatsの走行記録表示みたいなもの)
ここで、画面繊維が分からず、方針を調べても、こんがらがってしまいます。どなたかわかるかたご教授いただけませんでしょうか?
発生している問題・エラーメッセージ
この様な画面遷移を行うものを作成したいです。
測位画面にはsecond
設定画面にはthird
初回のみの画面にはonlyfirstというstoryboardIDを振っています。
該当のソースコード
swift
1SceneDelegate.swift 2 3import UIKit 4 5class SceneDelegate: UIResponder, UIWindowSceneDelegate { 6 7 var window: UIWindow? 8 9 10 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { 11 // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. 12 // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. 13 // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). 14 15 16 //sceneのオプショナル対策 17 guard let scene = (scene as? UIWindowScene) else { return } 18 19 let window = UIWindow(windowScene: scene) 20 self.window = window 21 window.makeKeyAndVisible() 22 if UserDefaults.standard.bool(forKey: "tutorialShown") == false{ 23 let storyboard = UIStoryboard(name: "Main", bundle: nil) 24 let vc = storyboard.instantiateViewController(identifier: "onlyfirst") 25 window.rootViewController = vc 26 let tutorial = "初期値" 27 UserDefaults.standard.set(tutorial, forKey: "tutorialShown") 28 }else{ 29 let storyboard = UIStoryboard(name: "Main", bundle: nil) 30 let vc = storyboard.instantiateViewController(identifier: "second") 31 window.rootViewController = vc 32 } 33 34 }
試したこと
調査など
ここにより詳細な情報を記載してください。
初回登録画面にて、名前などの情報を入力するのですが、その際にはuserdefaultsに入れる様にしています。
この画面をインストールした後の初回起動時のみ表示したく、2回目以降は測位画面からスタートする様にしたいです。
現状画面遷移自体は問題なくできているのですが、アプリを一度キルしてしまうと、元に戻ってしまいます。
SceneDelegate.swiftにて以上の様な記述をしております。
これだと、思った通りに動作ができずに困っています。
どなたかご教授いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/20 14:03