コネヒト開発者ブログ

コネヒト開発者ブログ

iOSDC Japan 2019に行ってきました!

こんにちは、iOSアプリエンジニアのあぼ(@suxisuxido)です!

2019年9月5~7日に開催されたiOSDC Japan 2019に行ってきました。今年はダークモードの横断幕とパネルが用意されていたり、お茶会やiOSDCチャレンジといった新たな試みも追加され、進化したお祭りになっていました!

f:id:aboy_perry:20190911200700j:plain
ダークモードのパネル

コネヒトはシルバースポンサーと、Tシャツスポンサーとして協賛していたので、ノベルティを受け取るやいなやTシャツを袋から取り出し写真を撮ってはしゃぎました。

f:id:aboy_perry:20190912115131j:plain
ノベルティのTシャツ

本編となる各セッションの資料と動画は、公式のタイムテーブルから辿れる各プロポーザル詳細ページにリンクが貼ってあるので、そこから見ることができます。本ブログでは感想も交えながらいくつかのセッションをご紹介したいと思います。

Advanced Segue 2019年のSegue事情

Segueを使ったことがない私にとっては、Segueの使いかたや最新のSegue事情を一気にインプットするいい機会だったので聴きに行きました。

私は、Segueは画面遷移で利用するもの、と思ってしまっていたんですがそれは間違いで、実際にはperform()メソッドをオーバーライドすればそこでできることは全てできるので、自由度が高く可能性がある機能だな〜と感じました。Storyboard上でSegueを利用する際には接続先が必要で、例として空のStoryboard Referenceを置いて繋げるというやり方がセッションで紹介されていましたが、空のStoryboard Referenceを使うことのコスト感については、セッション後にスピーカーがつぶやいている内容が興味深いです。

iOSアプリのリジェクトリスクを早期に発見するための取り組み

リジェクトによる手戻りは大きく、またタイミングによっては休日に対応する必要があるため、できるだけ早期に発見したいところです。DeNAのSWETグループではReviewガイドラインをシステムに落とし込んで運用することで早期発見を実現しているとのことでした。システム化はもちろん、開発者からSWETグループへメモを送れるようにしてコミュニケーションコストを削減している点もすごいな〜と思いました。

また、最新のReviewガイドラインのキャッチアップ方法としては、コネヒトでもすでにhttps://developer.apple.com/news/を購読してslackに流すようにしていましたが、セッション内で紹介されていた「Reviewガイドラインのdiffを取る」という取り組みが結構手軽にできて良さそうなので、試しにマネしてみることに!

f:id:aboy_perry:20190911175358p:plain
社内情報共有ツールDocbaseに作ってみたReviewガイドラインページ

実機の管理とおさらば!AWS Device FarmでiOSのテストをしよう!

タイトルの「実機の管理とおさらば!」に惹かれて聴きに行きました。なぜテストを書くのか、どうやって書けばいいのかというところに触れつつ、最終的にAWS Device Farmを使った自動テストの運用方法がイメージできる内容になっています。

現実的には全パターンのデバイスを検証機として用意できない場合のほうが多いでしょうし、特定のOS、特定のデバイスでしか再現しない不具合を事前に検知するというのはなかなか難しく、例えばユーザーからの報告で気づいてもそのデバイスが無ければデバッグできません。セッションを聴いて、AWS Device Farmのようなアプリケーションテストサービスを使うことも選択肢のひとつだな〜と思えるようになりました。ちょうどまたAppleから新たなiPhoneが発表されましたし、iOS/Androidともにデバイスは本当にたくさんありますからね・・・。

1ヶ月半でプッシュ通知許諾率を17%から40%にあげた話

こちらはLTです。タイトルの時点で色々と仮説をたてて聴いていたんですが、結論は「起動直後に承諾ダイアログを表示する」というものすごくシンプルなものでした!

会場でもドカッと笑いが起きていて、私も笑ったのですが、これすごく学びがあるな〜と思っています。問題を解決するときに、その問題を無駄に複雑に考えてしまってはないかという切り口での考察も重要なのかもな〜と考えさせられました。

セッション以外にも楽しいことがたくさん!

セッション以外にも楽しいことがたくさんあって、例えば、お茶会のときにpixivの方からいただいたリジェクトに効く御守りは、早速チームのカンバンにぶら下げています。Androidアプリでも審査が入るようになったこともありますし、iOS/Android両方に効果があるといいなーと願っています!

f:id:aboy_perry:20190910152350j:plain
リジェクト除けの御守り

スポンサーブースも楽しくて、RoomClipで利用されているデザインガイドラインの写真を撮らせていただいて、社内のデザイナーに共有できたり。Uberが公開しているクロスプラットフォームアーキテクチャRIBsと、昨年のiOSDCで話題になったMicroViewControllerを組み合わせて本番運用している話を聞けたりしました!

それから、大学時代の先輩や、前職で一緒に仕事していた人と久しぶりに会って話すことができて、これもiOSDCの魅力だな〜としみじみ感じました。

おわりに

クロージングで主催者が「We are a community. We are not a school.」と言っていたのが強く印象に残っています。今年もこの楽しいコミュニティは関わる人全員で作られました。スタッフの方々、早稲田大学、スポンサーやスピーカーの方々、そして参加者のみなさんに感謝しています!

帰ってブログ書くまでがiOSDCでおなじみのiOSDCですので、本ブログの公開をもって私のiOSDCは終了です!ありがとうございました!