-
Notifications
You must be signed in to change notification settings - Fork 0
iOS SDK install
See the example to install the last version of the Screeb SDK dependency in a native iOS app.
You can find here useful information if you are using one of these technologies:
The Screeb SDK is configured to work with iOS version 12.4 minimum.
The Swift version is >= v5.5.2 and XCode version >= 13.2.1.
The size of the SDK is approximately 3.2 MB.
First, log in to the Screeb application, then create your first survey.
When your survey is ready to share, we will provide a Swift snippet to copy into the scene() function of the SceneDelegate protocol.
If your application doesn't use a SceneDelegate, you should place the snippet in AppDelegate instead.
If your application is using SwiftUI lifecycle without an AppDelegate then you can try to access rootViewController this way:
https://developer.apple.com/forums/thread/695115
To install the sdk, you just need to add the following lines in your project Podfile file :
pod "Screeb", "x.x.x"At the end of the Podfile, add this code :
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
endScreeb sdk supports module stability across Swift versions used by dependencies, so we need all dependencies to be built with the BUILD_LIBRARY_FOR_DISTRIBUTION flag enabled
To install the sdk, you just need to add the following lines in your project Package.swift file :
dependencies: [
.package(url: "https://github.com/ScreebApp/sdk-ios-public", .upToNextMajor(from: "x.x.x"))
]You can also do it from Xcode:
- Go to File > Add Packages...
- In the top right corner paste the project URL: https://github.com/ScreebApp/sdk-ios-public
- Click Next and select the version you want to use
// Initialization using SceneDelegate
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
Screeb.initSdk(
context: window?.rootViewController,
channelId: "<ios-channel-id>",
identity: "<user-id>", // optional
visitorProperty: ["age": AnyEncodable(12), "name": AnyEncodable("JohnDoe")], // optional
initOptions: InitOptions(automaticScreenDetection: true|false) // optional
)
guard let _ = (scene as? UIWindowScene) else { return }
}
// [..]
}Or:
// Initialization using AppDelegate
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Screeb.initSdk(
context: window?.rootViewController,
channelId: "<ios-channel-id>",
identity: "<user-id>", // optional
visitorProperty: ["age": AnyEncodable(12), "name": AnyEncodable("JohnDoe")], // optional
initOptions: InitOptions(automaticScreenDetection: true|false) // optional
)
return true
}
// [..]
}At any time, you can disable the Screeb SDK with the following command:
Screeb.close()We update the dependencies very frequently, if you face any issues, please contact [email protected] or contact our support team.
- 'Alamofire', '~> 5.4'
- 'Starscream', '~> 4.0.0'
- 'Kingfisher', '~> 7.0'
- 'KeyboardGuide', '~> 0.2.1'