Skip to main content

WOVN 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. To enable real-time reporting and instant translation updates, proceed to the next section to activate development mode.

Activate Development Mode

Development Mode Benefits

Development mode enables your app to:

  • Report newly detected texts automatically
  • Receive faster translation updates
  • Access additional features for development and testing

To activate development mode, you need to register your device's Client ID in the WOVN Dashboard.

Step 1: Get Your Client ID

The Client ID is automatically generated when the SDK initializes. You can find it in the console logs from the previous verification step.

  1. Run your app in Xcode
  2. In the console output, filter by Client ID
  3. Look for a line similar to:
    Client ID: fa78f73b-625f-4805-91af-e64939b43b05

Step 2: Register Your Client ID

  1. Open the WOVN Dashboard
  2. Navigate to your project
  3. Go to SettingsAppSecurity
  4. Click Add Device and enter your Client ID

Register client ID

Step 3: Verify Development Mode Activation

After registering your Client ID:

  1. Wait 2-3 minutes for the changes to take effect on the server

  2. Rerun your application

  3. Filter the console logs by Is development mode

  4. You should now see:

    Is development mode: true

Step 4: Verify Reported Texts

Once development mode is active, your app will automatically report newly detected texts to the WOVN Dashboard. To verify this functionality:

  1. Navigate through your app to display various text elements
  2. Open the WOVN Dashboard and check for newly reported texts
  3. The reported texts should appear in your project's text management section

Verify reported texts

Processing Time

It may take 2-3 minutes for the server to process reported texts and display them in the dashboard.

Important Notes

Client ID Management
  • Client ID Reset: The Client ID will change each time you delete and reinstall the app, or install on a new device. You'll need to register the new Client ID in the dashboard.
  • Log Level: Ensure the loglevel in your WOVNswift.plist file is set to 0 to display all log information, including development mode status and Client ID.
  • Activation Delay: It may take 2-3 minutes for Client ID registration changes in the dashboard to affect your app.