-
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 11.0 minimum.
The Swift version is >= v5.5.2 and XCode version >= 13.2.1.
The size of the SDK is approximately 198 KB.
The SDK also need theses permissions if you want to use the Screeb Audio/Video feature.
<key>NSCameraUsageDescription</key>
<string>This app needs access to the camera to take photos.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app needs access to microphone to record audio.</string>
<key>UISupportedInterfaceOrientations</key>
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
end
Screeb 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 {
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
Screeb.initSdk(
context: nil,
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 {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Screeb.initSdk(
context: nil,
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()
The iOS SDK does not have any external dependencies from version 2.0.0 onwards.