Dear TextExpander touch SDK Adopters,
Thank you again for including TextExpander touch support in your app.
We have revised the TextExpander touch SDK to write its data elsewhere to deal with the changes Apple made to UIPasteboard which break inter-app UIPasteboard sharing in iOS 7. We've settled upon using a completed Reminder for the TextExpander data. We believe this is superior to a calendar entry for three reasons:
- By default, completed Reminders do not appear in the Reminders interface; the user must select the Completed Reminders group (iOS 6) or tap "Show Completed Reminders" (iOS 7) to see them. The reminder containing the TextExpander data is far in the past -- it's dated August 25, 2009.
- It's less strange for a far broader set of apps to request access to Reminders than to request access to the Calendar or to Contacts. In the hierarchy of privacy concerns, we suspect the priority order is Contacts, Calendar, Reminders, with Reminders in last place, of least concern to users.
- Reminders does not crash when viewing the default TextExpander data in the completed Reminder. This puts it one up on Calendar and Contacts which hang or crash.
We promised a pre-release beta before the end of the month, and here it is:
The basic steps for adoption are:
- Add EventKit to your app's linked frameworks
- Add an NSRemindersUsageDescription entry to your app's Info.plist file
- Update to the new TextExpander.framework
- Test on devices (because the simulator doesn't do Reminders permissions)
To reset privacy permissions on a device for testing, visit Settings > General > Reset > Reset Location & Privacy.
We have submitted TextExpander touch 2.1 to the App Store today. We'll keep you posted on approval. As in the past, there's a Default.textexpander file in the sample app you can include in your project so that you have access to a few snippets for testing. We hope 2.1 is approved promptly to make everyone's live testing that much easier.
We don't consider 2.1b5 to be the final SDK, as we suspect there will be another iOS build for us to test against. We'll do our best to turn around promptly on that once it's available. When we have a final SDK, we'll reorganize and update the GitHub repository, and we'll reach out to CocoaPods to get included there.