スマートニュースでiOSアプリを担当している荒巻です。 弊社にて「iOS 11 Programming」の刊行記念イベントを開催しました。

iOS 11 Programmingについて

Core MLやARKitなどのiOS 11の開発トピックを、豊富な例を交えながら解説した技術書です。 新機能だけでなくXcodeやAuto Layoutなどの変更点も扱っており、iOS 11の主要な開発トピックを全てカバーしています。

「iOS 11 Programming」刊行記念 Nightについて

「iOS 11 Programming」刊行記念 Night (connpass)

本書の刊行を記念して、著者によるイベントを開催しました。 はじめに著者の方々により、7本のライトニングトークが行われました。

休憩後はパネルディスカッションに移りました。飛び入りありの自由な形式で、アプリ開発の現場で日々試行錯誤されている方々ならではの話を聞くことができました。 イベントの内容については、著者兼司会の @7gano 氏のこちらの記事にまとまっています。

[まとめ]「iOS 11 Programming」刊行記念 Nightを開催しました #iOS11book

100名以上の方にお越しいただき、素晴らしいイベントになりました。

普段は新鮮なニュースを提供している弊社ですが、今回はビールサーバーにより新鮮なビールをお届けしました。

弊社の発表について

著者陣のライトニングトークとパネルディスカッションの間に枠をいただいて発表しました。

弊社のアプリ開発にて、二つの事象が発生しました。

  • iPhone X対応にて safeAreaInsets が反映されない不具合が発生した際、デバッガで値が表示できなかった
  • NSProxy を継承したオブジェクトの値がデバッガで表示できないことがあった

今回、これらについて疑問だったことを調べ直してまとめました。 デバッガが内部で respondsToSelector: を呼び出していることなどがわかり、表示されなかった理由を知ることができました。 ちなみに respondsToSelector: にブレークポイントを設定したとしても、デバッガが expression コマンドを処理する間は停止しないのですが、ログ出力すれば呼ばれていることが確認できます。

個人的に「必要とする情報の少し先を調べる」ということをモットーにしています。 今回も、特段開発には役に立ちませんが、内部のメカニズムに対する理解が進み、もやもやを解消することができてよかったと思います。

なおLLDB in LLDBですが、WWDC 2017の Debugging with Xcode 9 に触発されてやりました。

スマートニュースは iOS エンジニアを絶賛募集中です

スマートニュースではiOS 11対応をはじめ、日々の改善に取り組んでいます。少しでも興味を持たれた方は、ぜひ募集要項をご覧いただけますと幸いです。