Iganinのブログ

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

【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言語に関するカンファレンスです。今年は…

2019年8月振り返り

8月の振り返り 少し遅れてしまいましたが目標の進捗状況の定期確認です。8月は徐々に暑さも和らぎ、過ごしやすい日々が続きました。 Kotlin festやbuilders conなど面白いカンファレンスもあり大変充実した1ヶ月でした。 体の基礎づくり 目標: ベンチプレ…

【iOS】チュートリアル画面などで使えるUIViewに穴をあける方法

はじめに チュートリアル画面などで、画面全体を半透明な黒いUIViewでおおい、一部分をハイライトして、なんらかの説明文言を表示するといったことがあるかと思います。 この際に、ハイライトしたい部分にUIImageなどを上から重ねるのも手としてはありますが…

【iOS】UITableViewのtableFooterViewを使用する際のはまりどころ

はじめに UITableViewを使用する際に繰り返しの要素はsecitonやcellを用いて表示することが多いかと思います。 主にこれらがUITableViewのメイン要素となり、各sectionのサマリや補足情報をsectionHeaderViewやsectionFooterViewに記載します。 そして、繰り…