googleanalytics / google-analytics-plugin-for-unity

Google Analytics plugin for the Unity game creation system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The iOS Extras/PostprocessBuildPlayer_GA script is not adding the needed libraries

ltomov opened this issue · comments

For iOS there are a number of libraries that need to be added in the Xcode project.
The documentation says that you can use the script in iOS Extras/PostprocessBuildPlayer_GA to automate this process, but the script seems outdated and no longer works.

I managed to get it to work with a few tweaks (it needs python3 and the pbxproj module installed):

#!/usr/bin/python3

#Add required libraries to Xcode project during build for Google Analytics
from pbxproj.XcodeProject import *
from os import path, listdir
from shutil import copytree
import sys

frameworks = [
              'AdSupport.framework',
              'CoreData.framework',
              'SystemConfiguration.framework',
              'libz.tbd',
              'libsqlite3.tbd'
              ]

framework_dir = path.join(sys.argv[0],'..','..','Plugins','iOS')

pbx_file_path = sys.argv[1] + '/Unity-iPhone.xcodeproj/project.pbxproj'
pbx_object = XcodeProject.load(pbx_file_path)

pbx_object.add_framework_search_paths([path.abspath(framework_dir)])

for framework in frameworks:
    pbx_object.add_file('System/Library/' + framework, tree='SDKROOT', file_options= FileOptions(embed_framework=False))

pbx_object.save()

Furthermore it seems this script wasn't even getting executed after a build, perhaps Unity dropped that feature, so I'm now manually running it.