Swift(iosアプリ)

【swift】「インストール直後のみ表示する」を実装するのメモ書き

アプリでよくある、インストールした直後だけアプリの説明を出したりするのを実装してみました!

今回は、メモ書き程度に簡潔に残しておきます。

Swiftはまだ勉強しつつなので、ご指摘ありましたら教えていただけましたら幸いです。




全体の流れ

・SceneDelegateで、firstLunchKeyキー保存があるかどうか確認する。
(初回時はキー保存がされていないため、必然的にfalseとなる)

・最初だけ呼び出されるシーンにて、firstLunchKeyキーのbool値をtrueにして保存する。

アプリを削除するとUserDefaults内のデータも全て消えます!

SceneDelegate

import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        
        let userDefaults = UserDefaults.standard
        let firstLunchKey = "firstLunchKey"
        if userDefaults.bool(forKey: firstLunchKey){
            //最初に読み込むシーンの設定(初回でない場合)
            let window = UIWindow(windowScene: scene as! UIWindowScene)
            self.window = window
            window.makeKeyAndVisible()
            let storyboard = UIStoryboard(name: "2回目以降だった時に表示するStoryboard名", bundle:nil)
            let homeViewController = storyboard.instantiateViewController(identifier: "2回目以降だった時に表示するidentifier名")
            window.rootViewController = homeViewController
            //最初に読み込むシーンの設定ここまで
        }else{
            //最初に読み込むシーンの設定(初回であった場合)
            let window = UIWindow(windowScene: scene as! UIWindowScene)
            self.window = window
            window.makeKeyAndVisible()
            let storyboard = UIStoryboard(name: "初回だった時に表示するStoryboard名", bundle:nil)
            let ViewController = storyboard.instantiateViewController(identifier: "初回だった時に表示するidentifier名")
            window.rootViewController = ViewController
            //最初に読み込むシーンの設定ここまで
        }

初回だけ表示する画面のSwiftファイル

import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()

        //ガイドを初回時にしか出さないため、初回閲覧後にキーを保存
        let firstLunchKey = true
        UserDefaults.standard.set(firstLunchKey, forKey: "firstLunchKey")    
    }

    }

相談・質問を募集しています。

記事に関する相談・質問を募集しています。

是非この機会にどうぞ
コメントでの質問も大歓迎です!

ハヤぶろぐのLINE@登録はこちら


メールの方はこちら




-Swift(iosアプリ)