Plug-in
...
Embed plug-in
Embed in mobile app

Native IOS

introduction the ios integration of the intelliprove plug in involves incorporating the intelliprove sdk files into your project dependencies all this is nicely laid out in our step by step guide below the integration guide covers three sections adding the sdk setting up the project usage github our github repository provides a fully functional example of our platform's integration, demonstrating the seamless setup and utilisation of our native sdks for ios platforms https //github com/intelliprove/intelliprove web plugin ios https //github com/intelliprove/intelliprove web plugin ios adding the sdk we provide an sdk to facilitate the setup and configuration of the webview component last update 18/06/2024 19 13 https //archbee doc uploads s3 amazonaws com/ 0r dnpmbbllxmaowvg2u/sxxlp1szxoirsbbgtghsi intelliprovesdkxcframework zip unzip the intelliprovesdk xcframework open your project in xcode open project settings > general and in the frameworks, libraries, and embedded content section, add the intelliprovesdk xcframework from above as a dependency setting up the project we need to add some keys to the info plist otherwise, the ios application will not request camera permissions and will not pass the app store certification process in project settings > build settings tab, verify that the ios deployment target is set appropriately the minimum supported version for the intelliprovesdk is ios 15 0 now open the project settings > info tab to add the following info plist value nscamerausagedescription add a string here that will be displayed when the application asks the user for camera usage permissions usage uikit use the intelliwebviewfactory class to create a new intelliwebviewcontroller instance pass the following arguments to the factory's newwebview method the generated web plug in url your implementation of the intelliwebviewdelegate protocol please note the webview is automatically dismissed by the sdk when receiving the dismiss post message the sdk creates a new uiviewcontroller, which should be presented as a fullscreen modal this means the entire screen will be filled with the intelliprove plug in import swiftui import intelliprovesdk class scenedelegate uiresponder, uiwindowscenedelegate { private let url = "https //plugin intelliprove com/?action token=xxx" var window uiwindow? private lazy var navigationcontroller = uinavigationcontroller( rootviewcontroller uihostingcontroller(rootview rootview(onbuttontap { \[weak self] in self? showwebview() })) ) func scene( scene uiscene, willconnectto session uiscenesession, options connectionoptions uiscene connectionoptions) { window\ rootviewcontroller = navigationcontroller } private func showwebview() { let webviewcontroller = intelliwebviewfactory newwebview(urlstring url, delegate self) webviewcontroller modalpresentationstyle = fullscreen navigationcontroller present(webviewcontroller, animated true) } } extension scenedelegate intelliwebviewdelegate { func didreceive(postmessage string) { // postmessage is received as json string, so needs to be parsed print("poc \\(postmessage)") } } struct rootview view { let onbuttontap () > void var body some view { vstack { text("webview poc") button { onbuttontap() } label { text("open webview") } } } } swift ui use the intelliwebviewlink view component in your existing swift ui page this component works similar to the swift ui navigationlink component pass the following arguments to the component's initializer the generated web plug in url your implementation of the intelliwebviewdelegate protocol control the visual appearance of the link by providing view content in the link’s label closure please note the webview is automatically dismissed by the sdk when receiving the dismiss post message the sdk's intelliwebviewlink presents the webview as a fullscreen modal when tapped this means the entire screen is filled with the intelliprove plug in import swiftui import webkit import avkit import intelliprovesdk class contentviewmodel observableobject { let urlstring = "https //plugin intelliprove com/?action token=xxx" } extension contentviewmodel intelliwebviewdelegate { func didreceive(postmessage string) { print("poc \\(postmessage)") } } struct contentview view { @observedobject private(set) var viewmodel contentviewmodel var body some view { vstack { text("intelliprove swiftui poc") font( largetitle) intelliwebviewlink( urlstring viewmodel urlstring, delegate viewmodel ) { // visual appearance of the link text("show webview") } } } } \#preview { contentview(viewmodel contentviewmodel()) } next steps to match the plug in with your brand's colours and fonts, please visit our customisation docid 0ukxybkmvpnt1kv0jgwml documentation