iOSDC 2019に参加した感想(1日目LT TrackB)

f:id:binz:20190906200002p:plain

はじめに

2019年9月5~7日にかけて行われた、iOSDC2019に参加しました。

iOSDCとはiOS関連技術をコアのテーマとした技術者のためのカンファレンスです

 

iosdc.jp

 

主にLTを聞いた感想をざっくりと書いていきます。

目次

 

Track B 前半

 

今だからこそ理解しよう、輸出コンプライアンス

 

 

iOSアプリはあくまで米Apple社からのダウンロード商品なので、アメリカの輸出規則に縛られる(Google Playも同様)

なので、リリース時に手間が必要が必要な場合がある。

日本語向けの情報もあるので活用しよう!

 

これからセキュリティ上暗号化をするアプリはどう考えても増えてくので、こういったコンプライアンスに関わるかどうか知ることは重要になってくると思いました。

実装する立場のプログラマーも法律について詳しくなるのも大事かも知れないと思います。

 

 

5分でわかる!Xcode 11から使えるXCFrameworks

 

 

XCFrameworks : 新しいバイナリ配布用フォーマット

必要性 : Swiftのフレームワークのバイナリ配布へのサポート、マルチプラットフォーム対応

 

バイナリ配布のシチュエーションが思いつかなかったので調べてみたのですが、ライブラリを配布したりするときに使うようです。どうもライセンス周りが複雑で、配布は注意した方がいいと思いました。

短時間にあれだけ詰め込んで、早口で話してよく噛まないと思いました。

 

先生のことをお母さんって呼んでも大丈夫。そうObjecive-Cならね

Objective-Cの動的にメソッドを追加する黒魔術について

 

動的書き換えは、なるべく使わないようなコードを心掛けたいですね…

先生を呼び間違えるたとえ話が面白く、とてもテンポの良い発表でした

タイトルのミスタイポすら話のネタにできるのは凄いと感心しました。

 

iPhone 設定をアプリから操作してらくらく環境構築 

 

iPhoneの設定は設定プロファイルを読ませることで書き換えられる

用途例 : WifiQRコードから接続

設定ファイルをlocalhostに立てたサーバーからダウンロードすることで、アプリから書き換えを実現

 

セキュリティ的に注意しながら使えば、面白いことができるかもしれないと思いました。

アプリでのローカルサーバーの使い道にこのような方法があるのだと感心しました。

 

Amazon Pinpoint でユーザーに合わせたプッシュ通知を実現する

AWS Pinpoint : プッシュ配信に関連したサービス

個別の配信より、全体や一部に向けたキャンペーン向き

AWSを一貫して活用することができる

 

iOSに限らず利用することができる場面はありそうだと感じました。

データと結びつくとよりセグメントに合致したプッシュ通知をするといったことができると面白そうと思います。

 

SOLID原則を生活に適用する

 

オブジェクト指向の設計原則を人生設計にも生かそう! 

 

日々の生活も抽象化する視点をもつことで、新たな発見と既存の法則の活用ができるという発見は素晴らしいと思います。

資料の方にはあった、ハンマー釘病にも注意したいと思います…

 

Track B 後半

簡単なアプリを作れるようになった!からその先に進むために

 

iOSアプリ開発の初心者から、次のステップを進むためにできること

  • 手本をまねる
  • 原理を学ぶ
  • コミュニティに参加する

 

iOS初心者、またSwiftに限らず、ソフトウェア開発のエンジニアとして成長するのに、当たり前といえば当たり前だけれども、重要なことと思いました。

こうしてブログを書くなど、アウトプットを頑張りたいです。

 

tvOS 13にちょっと注目してみる

 

Appleも力を入れているtvOSの動向

Immersive(没入感)、Interactive(インタラクティブ)を実現する機能の追加

 

NetflixやFireTVなど競合との競争が激しいのが、力を入れる背景にあるのかと思います。

 

 

iOSエンジニアでもできるIoTガジェット作成、基板発注もう何も怖くない

 

Iotガジェットを作るのに必要な物とそれの用意の仕方について

マイコン : 初心者はちょっと高いけどArduinoがおすすめ

電子工作 : いろんなセンサーがあるよ!

ソフト : いろんなサンプルがあるよ!

チーズ削り(MacPro)を実装してみた!

 

IoTがバズワードとなって久しいけれども、実際に作ってみたことがある人は少ないと思うので、こういう始め方があるとうれしいと思いました。

この5分のLTのために、ちゃんとIoTガジェットをつくるのは凄いと思います。

 

CallKitを実装してはまったところをお話します

CallKitを使うことで着信表示を設定できる(データベースを利用することも)

ハマったこと/対処

  1. Extensionとバイナリ間はやり取りできないので、DBを挟んでやり取り
  2. 完了メソッドを呼ばれないままエラーになると、インジケーター回りっぱなし
  3. 中国だと検閲の関係?でAPIが使えないので、配信を断念

 

CallKitを活用すれば架空の人間から電話を受け取るとかできそうですね。

逆になりすましとかに悪用されないよう注意する必要もありそうと思いました。

iPhoneは電話です

 

値オブジェクトへのCodable対応

JSON内の同じ型で別な役割の値を渡してもエラーが発生せず気づかない場合があり得る

JSON内の必要な値を渡すためにCodable対応(値オブジェクトを導入)する

単一の場合を扱う場合はsingleValueContainerを使う

 

型の検査やランタイムエラーを防ぐ仕組みに厳しいSwiftでは、とても重要なことかと思いました。

Twitterを覗いて気づいたのですが、JSONのオブジェクトが自己紹介にもなってるんですね!

 

まとめ・全体の感想

みなさん5分間にきっちりまとめていて凄いと思いました。

短いながらも、日常のなかの情報収集では気づかないような、新しい発見があってよかったです。