Apple will be releasing iOS version 13 in September 2019. To support this new OS, you will need to upgrade your SDK and potentially take additional actions if you use Xcode 11 to build your app.
Upgrade your SDK to one of two options:
- iOS SDK version to the newest 52 build (18.104.22.16872)
- iOS SDK beta 2.0.1 (Analytics Only Customers)
For customers who will or have built their mobile app with Xcode 11, you will need to migrate your screens and elements if you plan on supporting both iOS12 and iOS 13 users.
How Do I Choose Which SDK Version?
Customers should upgrade their SDK to the most recent version (22.214.171.12472) before iOS 13 is available to end users for a seamless transition. You may need to take further action if you decide to build your app using Xcode11.
- If you deployed or plan to deploy Guides, upgrade to the newest version
- If you are only using Analytics and don’t plan to deploy Guides, reach out to your CSM about upgrading to beta version (2.0.1)
For Customers Using Xcode 11
If you’re planning to or using Xcode 11 to build your mobile application, you will need to take additional steps. Pendo screen identification relies on the screen’s structure. This structure changes between iOS 12 and 13 users so:
- Screens captured on iOS12 will only identify screens of iOS12 app users
- Screens captured on iOS13 will only identify screens of iOS13 app users.
Because of this, you will need to migrate and re-capture screens and elements to ensure Guides deliverability and preserve analytics in both iOS12 and iOS13.
Preserving Screen & Element Analytics For Both iOS12 and iOS13
Naturally, you’d like to get screen/element analytics from all your users. However we, at Pendo, want to suggest a practical approach that will not require too much work from your side. This all depends on when your app will be published to the Apple store with Xcode 11:
If you are planning to publish your app using Xcode 11 in Nov. - Dec. 2019 or after, most of your users will already be on iOS13 at that point. Pendo recommends that you migrate your screens to iOS13 to receive continuity of analytics moving forward. (Learn more in the How to Migrate screens to iOS13 section below).
- If you are planning to publish your app using Xcode 11 in Sept. - Oct. 2019, you might want to capture 2 versions of your screens to keep capturing page/feature analytics in the 2-3 months until your users upgrade to iOS13. Pendo suggests that your main (Home) screen to be “migrated” to iOS13 to maintain continuity of analytics. (See How to Keep 2 Copies of Your Screens for Analytics for iOS12 and iOS13)
Ensuring Guide Deliverability in Both iOS12 & iOS13
Take the following steps to ensure your mobile Guides will work for end users in both iOS 12 and iOS 13:
- List all Guides that you want to keep in your new app version for both iOS12 and iOS13 users.
- List the screens/elements used in triggering/activation in those Guides.
- Tag those screens/elements in both iOS12 and iOS13 (See “How to Keep a Copy of screens/elements for Each iOS12 and iOS13״ below)
- Update your Guides to include the two versions of the screen as ‘triggers.’ This will allow your Guide to trigger for either iOS12 and iOS13.
- Once you’re done, save and publish your Guides as applicable.
How to Migrate Screens to iOS13
Take the following steps to migrate your screen to iOS13 and preserve your analytics:
- Compile your app with Xcode 11 and run the app-version-setup wizard with an iOS13 device.
- For each screen in the ‘app version setup’ wizard”
- Copy your screen on your iOS13 device
- Repeat this for any screen in your app
- If your screen copy fails, this is likely because the change of screen structure between iOS12 and iOS13. Write down the name of the screen and its elements for reference.
- At the end of the app version setup - go back to any screen that you couldn’t copy.
- Capture the screen as a new screen on your iOS13 device
- Give this screen the same name of the original screen, to ensure analytics continuity
- Give the screen elements the same name as in the original screen, to ensure analytics continuity
- At the end of this process, you should have all your screens in iOS13 capturing analytics of your iOS13 end users.
- If you have published Guides using a screen/element that couldn’t be copied, update the Guide to use the newly captured screen/element and re-publish it.
How to Keep a Copy of Each Screen/Element for iOS12 and iOS13 to Use with Analytics & Guides
You can migrate/copy a previously configured screen to either iOS12 or iOS13, but can only do so for one OS. Whichever iOS version you decide to copy the screen with the new SDK, the other must be manually configured. Pendo recommends that you migrate your main (or home) screen to iOS13 to get continuity of analytics.
- For any screen you want to capture iOS12 users’ analytics as well on the new app version
- Re-capture the screen/element on an iOS12 device with a different name (example: ‘Login iOS12’)
- This will allow you to keep analytics on iOS12 users, and the iOS13 users analytics on the original ‘Login’ screen that you migrated.
- (If you have active Guides) List all screens/elements that are used to trigger a Guide.
- Be sure to perform the “How to Migrate Screens to iOS13” process for each screen. At the end of this flow, you will have all your screens capturing analytics of your iOS13 users.
- (If you have active Guides)For any active Guide which you wish to show to all your users on your new app version:
- Be sure to recapture the same screen/element activating the Guide on an iOS12 device with a different name (example: ‘Login iOS12’)
- Update the Guide’s trigger to point at the two re-captured screens (the iOS13 version and the iOS12 version), and publish the Guide.
What Happens If I Don’t Upgrade My SDK?
Apple iOS13 breaks Pendo’s mobile tooltip Guides which could potentially crash the app. If you have published, intend to publish a tooltip guide, or plan to republish a tooltip Guides, you will need to upgrade your iOS SDK build to the latest version.
Do I Need To Take Any Additional Steps If I’m Using Xcode 10?
You will only need to upgrade your iOS SDK build to the latest version 126.96.36.19972. No further action is required.
What is the New 2.0 SDK?
Pendo is currently working on enhancing the mobile experience similar to the web experience and released a beta version (2.0.1) for customers to start using it. This will include the ability to have retroactive analytics across all of your app versions:
- Using only three lines of code to integrate the SDK into your iOS app.
- Immediately collect analytics before you even tag your screens/features.
- Preserve analytics continuity for all new app versions that you publish without requiring additional setup.
Guides support will be added to the beta build around mid-September. Learn more in this Getting Started article for what’s in Beta today.
To opt-in this beta program, please reach out to your Customer Success Manager (or firstname.lastname@example.org).