Loading
2015. 9. 9. 07:05 - Twocap_Dev

Xcode 프로젝트 셋팅 자동화


Xcode 프로젝트 셋팅 자동화


mod_pbxproj.py 이용한 자동화 방법입니다.


Google Analytics 쪽을 보다가 알게되었네요. 매번 Create Build 할때마다 직접 framework 를 넣어주는건 고통입니다..


1. mod_pbxproj.py script 를 다운받습니다. (링크)


필요한 파일은 mod_pbxproj.py 입니다.




2. PostprocessBuildPlayer 라는 파일을 하나 만듭니다.


안의 내용은 아래를 복사해서 붙여주세요. 확장자는 없습니다.

귀찮으신분은 다운로드 하시면됩니다. 내용은 같습니다. 


PostprocessBuildPlayer




#!/bin/bash


#Runs post-process build scripts. 

#Must follow naming convention PostprocessBuildPlayer_* and be kept in the Assets/Editor folder.


echo "Running post-process build scripts."

for script in `/bin/ls -1 Assets/Editor | grep -i ^postprocessbuildplayer_ | grep -v [.]meta$`; do

    chmod +x "Assets/Editor/$script"

    echo "[[[ $script ]]]"

    "Assets/Editor/$script" "$@"

done






3. framework를 추가해주는 내용의 파일을 작성합니다.


Google Analytics 의 PostprocessBuildPlayer_GA 의 내용입니다만,

아래 내용과 복사붙여넣기하고 framework만 변경하시면 되겠습니다.


파일명은 PostProcessBuildPlayer_* (*는 상황에 맞게 적어주시고요. 확장자는 없습니다)



#!/usr/bin/python


#Add required libraries to Xcode project during build for Google Analytics

from mod_pbxproj import *

from os import path, listdir

from shutil import copytree

import sys


frameworks = [

              'AdSupport.framework',

              'CoreData.framework',

              'SystemConfiguration.framework',

              'libz.dylib',

              'libsqlite3.dylib'

              ]


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')


pbx_object.save()




4. 파일은 Assets/Editor 안에 넣어줍니다.




저는 Google Analytics 를 붙이다보니 그대로 GA를 사용하였습니다.



5. 주의해야할 점

* 꼭 Assets/Editor 폴더에 넣어주셔야합니다.

* PostprocessBuildPlayer_* 이름으로 추가해주셔야합니다.


일반적으론 문제가 없을 것 같고, 만약 개별적으로 xcode 를 다루시는 분들은 환경에 맞게 설정을 해주셔야하는 부분이 있을 것 같네요



'iOS' 카테고리의 다른 글

업적 및 리더보드 작성하기  (0) 2015.09.03
iOS Native - InApp  (0) 2015.08.19
애플 개발자 문의 전화번호  (0) 2015.07.24
IOS 홈 버튼 후 다시 어플 실행시 재실행  (0) 2015.07.22
iOS Tester  (0) 2015.07.21