-
Notifications
You must be signed in to change notification settings - Fork 0
MigrationGuide from 1.2.2 to 1.3.0
This guide discusses the migration from BandyerSDK version 1.2.2 to version 1.3.0
Starting from version 1.3.0 the Bandyer SDK module has been renamed to Bandyer
(formely BandyerSDK
). The new SDK version resolves two issues related to the swift compiler. First, the version 1.3.0 contains "swiftinterface" files for all the architectures supported, those files enable interoperability between swift libraries compiled with different versions of the swift compiler. As some of you might already have noticed, compiling your app with the older sdk version on Xcode 11.2 is not possible because the new swift compiler shipped with Xcode complains about missing "swiftinterface" files in the Bandyer SDK framework. The new Bandyer SDK version resolves this issue. Second, the new Bandyer SDK version works around a known swift compiler bug that it first presented after enabling swift libraries interoperability. When a swift module contains a type with the same name as the module, the compiler, instead of trying to fully-qualify any name in the module, will attempt to find something inside the type itself. In order to workaround the issue we had to rename the module. However, this breaking change should have a very minimum impact on your code. Folling, you will find the steps you need to take in order to update our SDK to the latest version.
If you are using cocoapods, you must change your Podfile in order for cocoapods to download and replace the older sdk version with the newer one.
platform :ios, '9.0'
use_frameworks!
target '<YOUR_TARGET_NAME>' do
# was BandyerSDK
# pod 'BandyerSDK', :git => 'https://github.com/Bandyer/Bandyer-iOS-SDK.git'
# now it's Bandyer
pod 'Bandyer', :git => 'https://github.com/Bandyer/Bandyer-iOS-SDK.git'
end
If you are integrating the binary framework manually, you must replace BandyerSDK
with Bandyer
in any configuration directive.
You must also change any file importing the Bandyer framework as well. If you try to compile your app after installing the new framework, the compiler will start to complain a lot about unknown "BandyerSDK" module or "BandyerSDK.h" header file missing. For swift files, you must update any file importing the old BandyerSDK module like so:
import Bandyer
// was
//import BandyerSDK
For any objective-c files, you must update any file importing the older BandyerSDK umbrella header like so:
#import <Bandyer/Bandyer.h>
// was
// #import <BandyerSDK/BandyerSDK.h>
Looking for other platforms? Take a look at Android, Flutter, ReactNative, Ionic / Cordova. Anything unclear or inaccurate? Please let us know by submitting an Issue or write us here.