【android】宣伝です。自作のandroidアプリをリリースしています。

android のアプリで、

youtubeのLiveしているチャット部分を表示するだけのアプリです。

何故か、1000 ダウンロード以上の実績があったりします。

https://play.google.com/store/apps/details?id=com.kixking1020.chatview_youtube_v2
需要があるのか無いのか、よくわからないです。

ぜひ試しに、インストールしてみてください。

日本のユーザーより、海外の方がインストールしているようです。

なぜだろう・・・。

Made by Google '19

日本時間で 2019/10/15   23時からです。




・Pixel Buds       が 来年
・Google Stadia  が11月
・Pixel 4            


このへんで力尽きて寝てしまいました・・・・。

台風19号 大丈夫ですか?

幸いなことに、我が家では強風で揺れはしましたが、
停電などもなく、無事です。

macOS Catalina え? アプリ動かない?

ちゃんと設定すれば大丈夫そう。

未署名(公式の署名ではない)アプリは起動できないかも。

と思っていましたが、設定変更できる様子。

まぁ、すぐにOSは更新しないほうが良さそうだなぁ。

特に、開発で利用してるやつはなおさら、あげないほうが良いな。

【iOS】UIViewControllerのライフサイクル (Swift)

いまさら聞けない、
Swift UIViewControllerのライフサイクル 

下記が主なイベント


class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        print("viewDidLoad")
    }    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        print("viewWillAppear")
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        print("viewDidAppear")
    }
    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        print("viewWillLayoutSubviews")
    }
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        print("viewDidLayoutSubviews")
    }
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        print("viewWillDisappear")
    }
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        print("viewDidDisappear")
    }
}

下記のような感じに呼ばれます。


viewDidLoad
viewWillAppear
viewWillLayoutSubviews
viewDidLayoutSubviews
viewDidAppear

--  表示完了   

viewWillDisappear
viewDidDisappear

これくらい、余裕ですよね?
追記 prettyprint を追加したのでみやすいように下記追加しました。
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        print("viewDidLoad")
    }
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        print("viewWillAppear")
    }
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        print("viewDidAppear")
    }
    override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        print("viewWillLayoutSubviews")
    }
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        print("viewDidLayoutSubviews")
    }
    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        print("viewWillDisappear")
    }
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        print("viewDidDisappear")
    }
}

下記のような順番でよばれます。

開始時

viewDidLoad
viewWillAppear
viewWillLayoutSubviews
viewDidLayoutSubviews
viewDidAppear

終了時

viewWillLayoutSubviews
viewDidLayoutSubviews
viewWillDisappear
viewWillLayoutSubviews
viewDidLayoutSubviews
viewDidDisappear


#ライフサイクル
#Lifecycle
#UIViewController
#Swift