Iganinのブログ

日頃の開発で学んだ知見を中心に記事を書いています。

【iOS】iOS13でSystemフォントがTimes New Romanフォントに変更されることがある

概要 タイトル通りです。バグレポートでも上がっているようにUITextViewなどでsystemフォントを指定していた際に、アプリ実行時にTimes New Romanフォントに変更されてしまう、という事象が発生しているようです。 NSAttributedStringKey の .fontに明示的に…

【iOS】Password Autofillの実装

はじめに iOS11からpassword autofillに対応することが可能になりました。 具体的には、パスワード新規作成時にiOSから提案される強力なパスワードを使用したり、keychainにユーザーID、パスワードのセットを記録し、アプリ使用時やWebサイトのログイン時に…

2019年10月振り返り

10月の振り返り 目標の進捗状況の定期確認です。今月に入ってめっきり寒くなり、体調を崩し気味でした。11月は元気に過ごしたいです。 プライベートでは友人に触発され第7世代iPadを購入しました。Kindleでは少々読みづらいためあまり進められていなかったKi…

【Swift】Swift5.1からstructのイニシャライザの自動生成でプロパティのデフォルト値が考慮されるようになった

はじめに Swiftで使用されるstructは定義したプロパティにしたがってイニシャライザメソッドが自動生成されます。 例えば下記のようにUserを定義した場合に自動でイニシャライザが生成されます。 struct User { var id: Int var name: String } // init(id: …

【iOS】Push通知に必要なDeviceTokenの文字列取得に関して

はじめに サーバーからのPush通知を実行するためには、サーバーにDeviceTokenの文字列を保持し、そのDeviceTokenを指定してAPNs(Apple Push Notification Service)に通信を行う必要があります。DeviceTokenはregisterForRemoteNotifications()の実行によって…

【iOS】iOS13からSKProductsRequestのDelegateメソッドがメインスレッドで呼ばれなくなった

はじめに In App Purchaseを実装する際にApp Storeに課金Productを登録し、アプリからそのプロダクトの情報を取得します。 具体的には、下記のようにSKProductsRequestを作成し、取得したい課金プロダクトのIdentifiersをSetで指定、通信結果を func product…

2019年9月振り返り

9月の振り返り だいぶ遅れてしまいましたが、目標の進捗状況の定期確認です。 9月はそろそろ秋になるかと思ったら、また夏のような気候に戻り、なかなか暑さが和らぎませんでした。 いまはもう10月に入ったというのに半袖で過ごせてしまうこの状況に少々戸惑…

【iOS】アプリクライアント側での文字入力のValidation機構について(UITextField, UITextViewなど)

はじめに サービスで使用するEmailアドレスやPasswordなどをアプリから入力する際に、アプリ側でValidationをかけることがあります。 そのような際に行う対応として直感的には以下のようにするかと思います。 extension ViewController: UITextFieldDelegate…

iOSDC 2019に参加しました

はじめに 9/5(木) - 9/7(土)に開催されたiOSDC 2019に参加しました。今年も昨年同様に早稲田大学 西早稲田キャンパスで開催されました。 今回は昨年に引き続き2回目の参加です。9/5(木)が前夜祭、9/6(金) - 9/7(土)がDay1 Day2という位置付けで今年はお…

Kotlin Fest 2019に参加してきました

はじめに Kotlin Fest 2019に参加してきました。本当はもっと早く書きたかったのですが、日々に忙殺される中、気づけば2週間ほどたってしまっていました。 Kotlin Festは「Kotlinを愛でる」をビジョンに掲げたKotlin言語に関するカンファレンスです。今年は…