[この記事は Todd Kerpelman、デベロッパー アドボケートによる The Firebase Blog の記事 "iOS 10, Xcode 8, and Swift 3, oh my!" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]


Frank van Puffelen


Todd Kerpelman
デベロッパー アドボケート

最新かつ最高のテクノロジーを導入した環境で、自身のアプリを正しく動作させることは非常に重要です。iOS 開発について言えば、近々リリースされる iOS 10 向けにアプリをサポートしようと考えているデベロッパーの方も多いと思います。

Firebase チームでは、iOS 10 が一般公開されてすぐに、デベロッパーの皆様が自身のアプリを iOS 10 上で実行できるように準備を進めています。本記事では、Firebase CocoaPod の最新バージョン(3.5.1)における変更点を改めて紹介します。あわせて、今後予定されている変更点のうち、iOS 10 向けの開発を始めるにあたり影響がある内容についてお伝えします。

Dynamic Links、Invites、App Indexing

最新版の Firebase ライブラリでは、iOS 10 向けのディープリンク機能が新たにサポートされています。自身のアプリで Dynamic Links、Firebase Invites、App Indexing などのディープリンクを活用する機能を使用している場合は、ライブラリを最新版に更新してください。これらの機能は、(コードを変更しなくても)アプリを再ビルドするだけで正しく動作するようになります。

Firebase Analytics

Firebase SDK の最新版では、検索機能と連動した AdWords 広告経由でのアプリのインストール状況を、より正確にトラックできるようになっています。この機能は Firebase SDK のバージョン 3.3.0 で追加済みなので、既にご存じの方もいると思いますが、今回はさらに iOS 10 向けのサポートを追加しています。上述のディープリンク機能の更新と同様に、新しいライブラリを用いてコードを再ビルドすると、自動的に新機能が有効になります。

Firebase Cloud Messaging

iOS 10 では通知関連の機能が大幅に進化しており、デベロッパー側で受信したユーザー通知を処理するための新たな方法も提供されています。具体的には、 application:didReceiveRemoteNotification などの古い UIApplicationDelegate メソッドの廃止に伴い、UNUserNotificationCenterDelegate プロトコルのメソッドで通知を処理するようになっています。

ただし、お気づきの方もいるかと思いますが、Firebase SDK の最新版では、まだ古い appDelegate メソッドを使用しています。新しい UNUserNotificationCenterDelegate プロトコルのメソッドについては、近々サポートを開始できるように努めています。ライブラリを更新した際はお知らせしますので、今後の配信情報をチェックしておいてください。

Firebase Auth と Xcode 8 に関するお知らせ

最新の iOS 10(この記事を書いている時点では ベータ版 6 まで)のシミュレータでは、キーチェーンに値が書き込めず、Firebase Auth がエラーを返すという問題が発生することが判明しています。なお、この問題による実機への影響はありません。

本件は、既に Apple のバグ トラッキング システムに報告済みですので、近いうちに解決されると見込まれますが、それまではシミュレータで Firebase Auth の試験を実施すると、エラーが発生する可能性があります。この問題を回避する方法として、Auth の試験は iOS 10 が搭載された実機で実施することをお勧めします。実機をお持ちでない場合は、 アプリの Capabilities セクションで Keychain Sharing を有効にしてください。 詳しくは StackOverflow の投稿をご覧ください。

Swift 3 対応

既にお気づきの方もいるかもしれませんが、ドキュメントのサンプルコードでは、まだ Swift 2.3 を使用しています。Swift 3 は現在も開発中であるため、バージョン 3.0 が正式にリリースされてから、ドキュメント内のサンプルコードを入れ替える予定です。

もちろん現段階で、Swift 3 でサンプルの動作を試すことも可能です。最新のサンプルコードをダウンロードして、Xcode の Swift 変換ツールでサンプルを変換すると、ご利用いただけます。また、近日中にサンプルアプリ用に Swift 3 の専用ブランチを作成する予定です。そちらのブランチを GitHub からチェックアウトすれば、変換処理をしなくてもソースコードをご覧いただけます。

フィードバックをお待ちしています

今回は、ベータ版のオペレーティング システム向けにライブラリをリリースしているため、厄介な問題が発生することが見込まれます。iOS 10 の新バージョン公開に伴い、さまざまな不具合が検出された際は、できるだけ迅速に改修するよう努めてまいります。皆様の方でも iOS 10 固有の問題を発見しましたら、ぜひお知らせください。まずは Google グループ をご活用ください。


Posted by Khanh LeViet - Developer Relations Team