Skip to main content
Version: 2025.0.19

iOS

This article will walk you through installing the Skillz SDK in your native iOS project.

note

If you are developing in Unity, follow the Unity instructions, instead.

1. Download the Skillz SDK​

The latest version of the Skillz SDK for Unity can be found in the Downloads section of the Skillz Developer Console. Decompress the downloaded file.

2. Install CocoaPods​

  1. Install CocoaPods:

    Open the terminal app and run

    brew install cocoapods
  2. Close the game’s xcode project if open. Change the directory to the project's folder location

    cd /Path/to/your/project
  3. Initialize the pod

    pod init
  4. Open the pod file that is now created under your project’s path as “Podfile” and edit it to have the below contents. Change the target to your app’s target name

    Podfile
    platform :ios, '12.0'
    use_frameworks!
    target 'YourAppTargetName' do
    pod 'Skillz'
    end
  5. Install the pod changes

    All the skillz dependencies will be installed

    pod install
  6. Open the .xcworkspace file created.

3. Add the Geocomply SDK to the Xcode Project​

Inside the decompressed SDK archive you will find the folders Skillz.framework and GeocomplySDKs. Select your project target and click + under Frameworks, Libraries, and Embedded Content. Select Add Other... -> Add Files..., navigate to the GeocomplySDKs folder, and click Open.

caution

If you click and drag GeocomplySDKs into your project, make sure that the Create groups option is selected.

On the General tab, verify the Pods_YourGameName.framework , GeoComplySDK.xcframework , GeoComplySDK280.xcframework, and GCSDKDomain.xcframework are listed under Frameworks, Libraries, and Embedded Content and toggle each to Embed & Sign if not already set.

Skillz.framework (installed via CocoaPods) contains everything needed for Skillz to operate. Your project should now contain the Skillz SDK.

4. Set the Deployment Target​

Edit the project build settings by double clicking on your project’s root entry and selecting the General tab. Deployment Target must be 12.0 (the minimum iOS version the Skillz SDK is compatible with) or higher.

Deployment Target

5. Update Embed Binaries Build Step​

The framework will need to be embedded in your app via Xcode’s Embed Binaries build setting. This setting can be found under the General settings page of your app target.

Skillz.framework should then be listed under both the Link Binary With Libraries build phases step, and the new Embed Frameworks build step as seen below. Make sure Code Sign on Copy is checked.

caution

This error will occur if Code Sign on Copy is not checked

6. Add the Skillz Run Script​

The final configuration step is to add a Skillz specific script to the Build Phases of your project.

Go into your project target in Xcode. Select the Build Phases section and click the + sign to add a New Run Script Phase.

Confirm the shell is set to /bin/sh and paste the following in the box.

if [ -e "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Skillz.framework/postprocess.sh" ]; then
/bin/sh "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Skillz.framework/postprocess.sh"
fi

Ensure that this run script is the last item in Build Phases.

This script will add a standard NSLocationWhenInUseUsageDescription property to your project’s Info.plist if it isn’t already present. If this property already exists, we recommend updating the description string to reflect that cash gameplay requires location information for legal reasons.

7. Build and Run​

Make sure the project builds successfully.

It is suggested to build and run the project to resolve any remaining conflicts or issues prior to further Skillz implementation. Once the project has been tested, you're ready to implement the Skillz UI.