We know that it's important for you to make sure your apps can run on the latest
and greatest technology out there. And in the world of iOS development, there's
this little release on the horizon called iOS 10 that many of you are excited
about supporting with your apps.
Well, we here on the Firebase team also want to make sure your apps are up and
running on iOS 10 as soon as it's made available to the general public. So we're
going to go over some of the changes that we've included in the latest version
(3.5.1) of the Firebase Cocoapod, and let you know about upcoming changes that
will affect you as we move into the exciting new world of iOS 10 development.
Dynamic Links, Invites, App Indexing
With the latest version of the Firebase library, we've added support for
handling deep links on iOS 10. If your app uses a feature that relies on deep
links -- specifically, Dynamic Links, Firebase Invites, and App Indexing -- go
ahead and update to the latest version of the library. Rebuild your app (no code
changes needed!), and these features should all work properly.
The latest version of the Firebase SDK includes some changes to more accurately
track app installs resulting from AdWords search and display ads. If this sounds
familiar, it’s because this feature was also included in version 3.3.0 of
Firebase, but now we've added support for this on iOS 10 as well. Like the new
deep link support, this should work automatically if you rebuild your code with
the new library.
Firebase Cloud Messaging
iOS 10 made a lot of exciting changes around notifications, along with new ways
for you as a developer to handle incoming user notifications. Specifically,
notifications are now handled by methods belonging to the
UNUserNotificationCenterDelegate protocol, while the old
UIApplicationDelegate methods like
application:didReceiveRemoteNotification are now deprecated.
That said, you might notice that the most recent release of the Firebase SDK is
still calling the older appDelegate methods. We hope to have support for these
new UNUserNotificationCenterDelegate protocol methods soon, so do
keep an eye out for any future announcements as we update our libraries.
A Quick Note About Firebase Auth and Xcode 8
We've noticed what seems to be an issue with the latest iOS 10 simulators (up to
beta 6 at the time of this writing) that causes Firebase Auth to throw an error
due it to not being able to write values to the keychain. This issue does not
affect real devices.
We have filed a radar with Apple and are hoping to get this issue resolved
shortly, but you may encounter errors when testing Firebase Auth in the
simulator. As a workaround, we recommend testing Auth on a physical device
running iOS 10. If you do not have access to a real device, you also can try
enabling Keychain Sharing in the Capabilities section of your app, as
described in this StackOverflow
What about Swift 3?
You might have noticed that the code samples in our documentation still reflect
Swift 2.3. With all the changes that are still happening in Swift 3, we've
decided to wait until version 3.0 has been officially released before switching
over the code samples in our documentation.
Of course, if you're interested in trying out our samples in Swift 3, you can
always download our latest sample code and let Xcode's Swift conversion tool
convert the samples for you. It does a remarkably good job. And, in the next few
days, we'll be creating a specific Swift 3 branch of our sample apps, so you can
check out those branches from GitHub and see the source code without having to
go through the conversion process.
Send us Feedback!
Obviously, releasing a library to support an operating system that's still in
beta is a tricky proposition. Issues may still arise here and there as new
versions of iOS 10 are made available, and if they do, we'll try to address them
as quickly as we can. So if you encounter an error that seems to be specific to
iOS 10, please let us know! Our Google Group is
a good place to start.