Apps that only use
StringProvider, FAQProvider, SBText, SBLabel and the UIKit extensions compile unchanged. Your cached strings, FAQs and Device-ID survive the upgrade.
1. Update the package
SDK 3.0 ships as a binary Swift package at a new URL and requires iOS 15 or macOS 12 and Xcode 27 or later. Replace your package dependency withhttps://github.com/Stringboot-SDK/stringboot-ios-sdk and set the requirement to from: "3.0.1":
2. Use a Client Token
Pass your App’s Client Token (sb_...) as apiToken. Create one in the dashboard (see API Tokens). The token travels in the URL path, not in a header. A Figma Plugin Token, or a revoked or expired token, gets 401.
3. Review these changes
Removed APIs
FAQSyncClient, the Core Data classes (StringbootDatabase, FAQDatabase, CachedString, CachedFAQEntity), the old wire models (MetaData, CatalogData, DeltaUpdatesResponse, and others) and StringbootAPI’s v1/v2 methods.
What happens to installed apps
On the first launch after the upgrade, the SDK migrates once and never crashes doing it:- Strings and FAQs cached by 2.x are kept and served offline until the first successful sync replaces them. The old store is then deleted. If it can’t be read, it’s discarded and the app starts like a fresh install (bundle strings until the first sync).
- Obsolete settings are removed. The Device-ID (
sb_device_id) and the selected language are kept.
Checklist
- The package points at
https://github.com/Stringboot-SDK/stringboot-ios-sdkwithfrom: "3.0.1" - The deployment target is iOS 15 / macOS 12 or later, and you build with Xcode 27 or later
-
apiTokenis a Client Token starting withsb_ -
startPeriodicSync()is called if you want edits while the app stays open - Analytics code handles an empty assignments dictionary
- A fresh install shows your strings, and an edit in the dashboard appears within about two minutes