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:

  1. Open your Xcode project or workspace.
  2. Drag and drop GoPayEnterpriseSDK.xcframework into the Project Navigator (preferably into an Frameworks or Embedded Content group).
  3. In the prompt, ensure:
    • "Copy items if needed" is checked.
    • The framework is added to the correct target.
  4. Select your target → GeneralFrameworks, 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 install

Dependencies

When using the .xcframework route, the following dependencies must be present in your project. Add them via CocoaPods or manually:

NamePodVersionRequired for
ClickstreamClickstream~> 2.0.49Analytics and event tracking
SwiftProtobufSwiftProtobuf~> 1.30.0Protobuf message serialisation
GRDB.swiftGRDB.swift~> 6.7.0Local database used by Clickstream
StarscreamStarscream4.0.5WebSocket support for Clickstream
ReachabilitySwiftReachabilitySwift>= 5.0.0Network reachability checks
SSZipArchiveSSZipArchive~> 2.4.3Archive 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
end

Size

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:

KeyRequired for
NSCameraUsageDescriptionKTP document capture and selfie flows

Configurations

StagingProduction
clientIDProvided with artifact via emailProvided with artifact via email
featureIDProvided by GoPay teamProvided by GoPay team

Build Troubleshooting

IssueResolution
Linker error: missing symbols from GoPayWebkitEnterpriseEnsure the .xcframework is set to Embed & Sign, not Do Not Embed.
Sandbox: rsync.samba script errorsIn Build Settings → Build Options, set User Script Sandboxing to No.
Module not found at runtimeVerify BUILD_LIBRARY_FOR_DISTRIBUTION = YES is set on all dependency pods (see post-install above).
Bitcode errorsBitcode is not supported; ensure Enable Bitcode is set to No in your target's build settings.