Xcode11 の Single View App をiOS12以前に対応させる

Xcode11で Single View App を Swift Storyboard の設定で作成して、iOS10系以降をサポートする設定にした。 ビルドすると沢山エラーが出た。 AppDelegate.swift と SceneDelegate.swift で、iOS13からavailableになったクラスが使用されているため。 赤丸が点いた箇所、画像の AppDelegate.swift ではfuncの宣言箇所で @available(iOS 13.0, *) を書く(赤丸をクリックすると自動で挿入してくれる)。 SceneDelegate.swift は class SceneDelegate 自体がiOS13以降のサポートとなるのでこうなる。 これでビルドに成功するようになる。 iOS12系の実機で実行するとコンソールに以下のメッセージが表示され、実機の画面は真っ暗になる。 2019-10-02 02:28:28.466280+0900 Demo[495:13067] [Application] The app del

macOS Sierra にフォントRictyを入れた

手順の大枠はhttp://www.rs.tus.ac.jp/yyusa/ricty.htmlの通り 1. fontforgeのインストール $ brew install fontforge 2. 使用するフォントをインストール inconsolataのインストール https://fonts.google.com/specimen/Inconsolata GoogleのページなのでAndroidっぽいUIだなって思いました。緑の枠を順にクリックするだけでダウンロードできます。 ダウンロードが完了したらzipファイルを展開してFont Bookにインストール。 3. Migu 1Mフォントのインストール http://mix-mplus-ipa.osdn.jp/migu/ こっちは特に問題ないデザインというか。Rictyでページ内検索するとすぐにダウンロード用リンクが見つかります(2017/1/18現在)。 zipファイルをダウンロードしたらInconsolataフォント同様Font Bookにインストール。 4. フォ

Date型の比較@ObjC/Swift

Date型の比較をするとき、多くの場合は"2016-12-09"とか"2016-12-09 10:00:00+0900"とか、年月日か年月日と時分秒までの比較が多いのかなと思いますが。 Objective-C -[NSDate earlierDate:]と-[NSDate laterDate:]が使えるので、挙動を理解していればそれがラクかなと思いますが、可読性を考えると[NSDate compare:]で比較した方がわかりやすいときもあるかもしれない。 -[NSDate earlierDate:]と-[NSDate laterDate:]は自身とanotherDateの値が等しい場合には自身の値を返すことだけ覚えておく必要がある。(なのでログ出力ではポインタを吐いている NSDateFormatter *df = [[NSDateFormatter alloc] init]; df.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"

iOS10ライフサイクル

先日Xcode8のフレームがどうのって記事を書いたんですけど、そんなことよりライフサイクルだな。と思ったのでシーケンス図風のものを書き出しました。png貼ってますがサイズ大きめです。参考程度に。上から下へ処理が進んで行きます(意味わかるよね? 今回使ったアプリ 確認した内容はこんな感じ + AppDelegate | | | + UINavigationController | | | +-+ UIViewController | | | +-+ UIView(UIViewController.view | + Notification * Storyboard使って、画面遷移などはしていないです * UITabBarControllerも使っていないです(ライフサイクルが結構かわるのですごく長くなるから 起動 その他バックグラウンド/フォアグラウンドなど その他 * バックグラウンドに移行する ≠ フォアグラウンドではなくなる(アプリが見えなくなる) * バックグラウンドに移行したかどうかは did

Xcodeでコードを書かずに角丸のボタンを作る

タイトルの通り、プログラムらしいことをしないで角丸ボタンを表示する 手順 1. 角丸画像を用意する 2. XcodeのAssetに画像を追加する 3. 画像のスライス設定で可変領域を設定する 4. 角丸画像を表示したいボタンの背景画像(Background image)に設定する コードで実装する 覚えてたら後で書く その他 動画のアップロードがイケてない。youtubeとかじゃないとうまくいかないのかも。