Getting Started
Requirements
iOS 14.0 and above. Xcode 15+.
Installation
Manual (.xcframework)
The SDK is distributed as a pre-built .xcframework shared via email. Repeat the step below for every framework in the delivery:
- Open your Xcode project or workspace.
- Drag and drop
GoPayEnterpriseSDK.xcframeworkinto the Project Navigator (preferably into an Frameworks or Embedded Content group). - In the prompt, ensure:
- "Copy items if needed" is checked.
- The framework is added to the correct target.
- Select your target → General → Frameworks, Libraries, and Embedded Content. Confirm the framework is listed and set to Embed & Sign.
CocoaPods
If your integration uses CocoaPods you can pull the SDK directly:
pod 'GoPayEnterprise', '1.0.12'Add the required pod sources at the top of your Podfile (credentials shared via email):
source 'https://cdn.cocoapods.org/'
source '<internal-podspec-source-url>'Then run:
pod installDependencies
When using the .xcframework route, the following dependencies must be present in your project. Add them via CocoaPods or manually:
| Name | Pod | Version | Required for |
|---|---|---|---|
| Clickstream | Clickstream | ~> 2.0.49 | Analytics and event tracking |
| SwiftProtobuf | SwiftProtobuf | ~> 1.30.0 | Protobuf message serialisation |
| GRDB.swift | GRDB.swift | ~> 6.7.0 | Local database used by Clickstream |
| Starscream | Starscream | 4.0.5 | WebSocket support for Clickstream |
| ReachabilitySwift | ReachabilitySwift | >= 5.0.0 | Network reachability checks |
| SSZipArchive | SSZipArchive | ~> 2.4.3 | Archive handling |
Sample Podfile snippet
pod 'Clickstream', '~> 2.0.49'
pod 'SwiftProtobuf', '~> 1.30.0'
pod 'GRDB.swift', '~> 6.7.0'
pod 'Starscream', '4.0.5'
pod 'ReachabilitySwift', '>= 5.0.0'
pod 'SSZipArchive', '~> 2.4.3'Required post-install build settings
Add the following post_install block to your Podfile to ensure the dependency frameworks are built with module stability enabled:
post_install do |installer|
installer.pods_project.targets.each do |target|
if ["SwiftProtobuf", "ReachabilitySwift", "GRDB.swift", "Clickstream",
"Starscream", "SSZipArchive"].include?(target.name)
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '14.0'
end
end
end
endSize
Approximately ** MB** (xcframework, arm64 + x86_64 slices).
Permissions
No permissions are required for the core container features.
KYC flows (KTP Scan, Selfie Liveness, Selfie Verification, KYC Verification) require the following entry in your app's Info.plist:
| Key | Required for |
|---|---|
NSCameraUsageDescription | KTP document capture and selfie flows |
Configurations
| Staging | Production | |
|---|---|---|
| clientID | Provided with artifact via email | Provided with artifact via email |
| featureID | Provided by GoPay team | Provided by GoPay team |
Build Troubleshooting
| Issue | Resolution |
|---|---|
Linker error: missing symbols from GoPayWebkitEnterprise | Ensure the .xcframework is set to Embed & Sign, not Do Not Embed. |
| Sandbox: rsync.samba script errors | In Build Settings → Build Options, set User Script Sandboxing to No. |
| Module not found at runtime | Verify BUILD_LIBRARY_FOR_DISTRIBUTION = YES is set on all dependency pods (see post-install above). |
| Bitcode errors | Bitcode is not supported; ensure Enable Bitcode is set to No in your target's build settings. |
Updated about 13 hours ago