The Rave SDK will always preserve your current user’s RaveID and credentials on upgrade.
Version-specific Upgrade Notes#
v4.4.0 Upgrade Notes#
CocoaPods & Migration#
The SDK is now published to CocoaPods. This is the recommended integration going forward.
New integrations can use:
platform :ios, '12.0' target 'MyApp' do # Core only: pod 'RaveSocial', '~> 4.4' # Or include the demo pack: # pod 'RaveSocial/DemoScenePack', '~> 4.4' # Optional providers used by your app: # pod 'GoogleSignIn' # pod 'FBSDKCoreKit' # pod 'FBSDKLoginKit' # pod 'FBSDKShareKit' end
pod install --repo-update
If you previously integrated via manual ZIP and want to stay manual, update your references to the new layout:
RaveSocial/XCFrameworks/RaveSocial.xcframework
RaveSocial/Resources/RaveSocial.bundle
(optional)
RaveSocial/XCFrameworks/RaveDemoScenePack.xcframework
(optional)
RaveSocial/Resources/RaveDemoScenePack.bundle
Ensure bundles appear in Build Phases → Copy Bundle Resources.
For manual installs only, add Other Linker Flags →
-ObjC
if you hit missing symbols.
v4.0.0 Upgrade Notes#
Breaking Change: Google+ Removed#
Google+ support was removed in 4.0.0. If your app still referenced the legacy Google+ flow:
Remove any Google+ specific code, URL schemes, and Info.plist entries.
Migrate to Google Sign-In (Google Identity). Ensure your app has: - The reversed client ID URL scheme (from your Google client configuration). - Any required privacy strings if your flow accesses Contacts/Photos/Camera.
If you were not using Google+, no action is required here.
Settings Consolidation#
The following deprecated settings were removed in favor of consolidated keys. Update your configuration to the new keys:
Example (before → after)
// BEFORE (deprecated keys)
{
"RaveSettings": {
"General": {
"PhoneContactsUpdateInterval": 86400
},
"Facebook": {
"AutoUpdateContactsOnConnect": true,
"ContactsUpdateInterval": 86400
},
"Google": {
"AutoUpdateContactsOnConnect": true,
"ContactsUpdateInterval": 86400
}
}
}
// AFTER (4.0.0+)
{
"RaveSettings": {
"General": {
"AutoSyncFriends": true,
"ContactsUpdateInterval": 86400
}
}
}
Notes & Gotchas#
Old keys are ignored in 4.0.0; leaving them in your config has no effect. Clean them up to avoid confusion.
If you relied on
DefaultNewUserName
, set your app’s own default username during onboarding.After moving from Google+ to Google Sign-In, verify your URL scheme and Google client ID are correct (otherwise app switch/auth will fail).
Re-run your contact sync and sign-in flows on a test device to confirm behavior with the consolidated settings.
v3.5.1 Upgrade Notes#
- Xcode 8 support
Added support for Xcode 8.
- App Data Keys
Added full support for App Data Key management.
v3.4.6 Upgrade Notes#
- New required plist entries:
Starting with iOS10 Apple requires new privacy values in the plist when using Contacts. These are required when using scene pack components for adding phonebook contacts. (See new-plist-ios10)
v3.4.2 Upgrade Notes#
- New required plist entries:
Starting with iOS10 Apple requires new privacy values in the plist when using the Camera or Photo Library. These are required when using scene pack components for modifying profile picture. (See new-plist-ios10)
- New CAL requirements:
Due to deprecation of certain UIPasteboard methods we are adding shared container based storage for CAL data. To limit exposure to variance in functionality, pasteboard function changed between iOS10 Beta5 and Beta6 for example, it is required to implement shared container support going forward. (See new-cal-setting-ios10)
v3.1.1 Upgrade Notes#
NOTICE: Rave now integrates with Facebook SDK v4.x starting with version 4.6. When using FBSDK 4.x please use the new variations of +[RaveSocial initializeRave…] that include the launchOptions where possible. These can be passed from your applications implementation of -[UIApplicationDelegate application:didFinishLaunchingWithOptions:].
v3.01 Upgrade Notes#
NOTICE: Please refer to https://developers.facebook.com/docs/ios/ios9 for other considerations. Similarly, due to increased security constraints in iOS9, a network security exception may be needed in your project’s plist for the BigFish SUSI API to work correctly.
There are minor but sweeping changes to some basic methods in the RaveSocial API. If you’re using the scene pack as the front-end to your integration you should be largely unaffected. If, however, you’re using login and other APIs directly there are some important changes to consider.
More callbacks have been simplified to RaveCompletionCallback
. That means that success is represented by a nil
result for the error. User cancellation is now representated by an error with domain set to NSCocoaErrorDomain
and code set to NSUserCancelledError
. Notable instances where the callback changed are +[RaveSocial loginWith...]
, +[RaveSocial connectTo...]
, +[RaveSocial disconnectFrom...]
. A RaveCompletionCallback
callback was added to +[RaveSocial logOut]
.
Constants for referring to social network providers have been changed (e.g. RaveProviderNameFacebook
is now RaveConnectPluginFacebook
). Some methods that referred to providers in their name now refer instead to plugins to more accurately reflect the extensible nature of Rave (e.g. +[RaveSharing shareWith: viaPlugin:...]
).
NOTICE: New integration point. Please add a call to
+[RaveSocial handleURL]
to your app delegates openURL method. This is automatically handled for Unity integrations.
v2.8 Upgrade Notes#
Considerations for upgrading the Rave SDK for an iOS project should be minimal.
NOTICE: Both Google and Facebook SDKs have been updated to their respective latest versions as for July 2014.
RaveToastWidget
has been replaced withRaveToast
- References toRaveToastWidget
should be updated as necessary+[RaveGifts sendGiftWithKeyToContactsAndShareVia]
- Theinteractive
boolean parameter for this function has been removed. The functionality it provided has been made automatic.
Upgrading from SDK with IDFA-On to IDFA-Off#
Using Facebook Tokens From Previous Non-Rave Integration#
Rave will automatically find and use an active Facebook session on startup if the session was created using the default session storage in the Facebook SDK. If the session did not use default storage, Rave provides an API which can be used to set the token to use. When using the explicit token setting method, it should only be used once so an integrator should delete the token from local storage once handed off to Rave for initialization. Either method will result in an automatic login to Rave either for the existing user linked to the Facebook account or a new Rave user will be created and linked to the Facebook account.
Explicit Token Setting Method#
You can set an access token from custom storage as shown below:
[RaveFacebookLoginProvider createAndRegister];
[[RaveSocial.loginProviderManager providerByName:RaveConnectPluginFacebook] useTokenForRaveUpgrade:accessToken];