Skip to main content

iOS SDK v4 Installation Guide

This guide provides step-by-step instructions for installing and integrating the WOVN iOS SDK v4 into your application.

Prerequisites
  • Xcode 15 or newer (Xcode 16 recommended)
  • iOS 12.0 or newer

Integrate SDK

Step 1: Download the Framework

SDK Access Required

Please contact our customer support team to receive the SDK download link. Once you have the link, download the SDK ZIP file and extract it to your preferred location.

For SwiftUI Projects: If your application uses SwiftUI, you will also need to download the WovnExtensions.swift file. Please contact our customer support team for the download link to this additional file.

Step 2: Add Framework to Project

Add WOVN SDK to Xcode Project

Framework Integration Steps
  1. Add file to the project - Drag and drop the framework into your Xcode project
  2. Select the project target and make sure "Embed & Sign" for framework is enabled

Step 3: Add WovnExtensions.swift (SwiftUI Projects Only)

For SwiftUI Projects Only

If your application uses SwiftUI, you need to add the WovnExtensions.swift file to your project. This step can be skipped for UIKit-only applications.

  1. Add the file to your project - Drag and drop the WovnExtensions.swift file into your Xcode project, similar to how you added the WOVN framework
  2. Verify the integration - Ensure that SwiftUI components can access the WOVN extensions by checking that the components point to the WOVN extensions as shown below:

Verify WOVN Extensions

Step 4: Initialize WOVN SDK in AppDelegate

Add to your AppDelegate.m file:

//...
#import "WOVNswift/WOVNswift-Swift.h"
//...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//...
[Wovn startWithAppGroupIdentifier:@"your.group.identifier" autoTranslateUIKit:true isNotificationServiceEnv:false];
//...

return YES;
}

Step 5: Configure WOVNswift.plist

Add WOVNswift.plist to your project with your specific token:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>loglevel</key>
<integer>0</integer>
<key>token</key>
<string>YOUR_TOKEN</string>
<key>translation_preview_mode</key>
<true/>
</dict>
</plist>
Replace Token

Replace YOUR_TOKEN with your actual WOVN project token from the dashboard.

Step 6: Language Switching (Optional)

By default, the SDK automatically attempts to translate content to match your device's system language setting. You can customize this behavior and manually switch languages as needed:

// Switch to English
[Wovn changeLangWithLang:@"en" callback:nil];

// Switch to SystemLang
[Wovn changeToSystemLangWithCallback:nil];

// Get current language
NSString lang = [Wovn getCurrentLangCodeWithWaitForInstance:true];

Step 7: Verify Your Integration

  1. Run Your App - Build and run your application in the simulator or on a device
  2. Check Console Logs - In Xcode's console output, filter by Wovn.swift:start to verify successful initialization
In successful integration, you should see logs similar to
[Wovn.swift:start(appGroupIdentifier:autoTranslateUIKit:isNotificationServiceEnv:):326] WOVN: Info: Wovn: OnAfterCacheLoadHandler:
Version: v4.0.0
appGroupIdentifier: group.io.wovn.sample.wovn-ios-demoapp-objc
autoTranslateUIKit: true
getToken(): YOUR_TOKEN
Bundle.main.bundlePath: /Users/macbookpro/Library/Developer/CoreSimulator/Devices/96E22002-4394-46F6-B245-C5EA98053283/data/Containers/Bundle/Application/6DAF6377-3C70-4291-BFB5-21BDDA4E7E94/wovn-ios-demoapp-objc.app
Configs.initLanguage: nil
Configs.initReportPermission: Optional(true)
[Wovn.swift:start(appGroupIdentifier:autoTranslateUIKit:isNotificationServiceEnv:):344] WOVN: Debug: Wovn: OnAfterAPICallHandler: clientVerificationHeader: false
[Wovn.swift:start(appGroupIdentifier:autoTranslateUIKit:isNotificationServiceEnv:):362] WOVN: Info: Wovn: OnAfterAPICallHandler: API data loaded
getCurrentLangCode(): Optional("")
Is development mode: false
Client ID: fa78f73b-625f-4805-91af-e64939b43b05
Configs.wovnSettingsBundle: Optional({
userDefaults: {
> wovn_settings_bundle_debug_status: SDK Version: v4.0.0
Satisfy all report conditions: false
Project allows end users report: false,
Have end user report permission: true,
Use allowed connection: true
Report interval (second): 300
Development mode enabled: false
ClientID: fa78f73b-625f-4805-91af-e64939b43b05,
> wovn_settings_bundle_auth: ,
> wovn_settings_bundle_client_id: fa78f73b-625f-4805-91af-e64939b43b05,
> wovn_settings_bundle_token: YOUR_TOKEN,
> wovn_settings_bundle_loglevel: 0,
> wovn_settings_bundle_bulk_settings: ,
> wovn_settings_bundle_env: ,
> wovn_settings_bundle_report_permission: 1,
> wovn_settings_bundle_initial_usage_timestamp: 1755757425,
> wovn_settings_bundle_error_report_permission: 1,
},

userDefaultsStandard: {
> verify_token: nil,
> bulk_settings: ,
> debug_status: nil,
},

wovnPDict: {
loglevel = 0;
token = YOUR_TOKEN;
}
})
Data refresh interval: 1800 seconds
Integration Complete

These logs confirm that the WOVN SDK has been successfully installed and initialized.

Next Steps

To enable rapid reporting and instant translation updates, proceed to Activate Development Mode.