码迷,mamicode.com
首页 > 移动开发 > 详细

cocos2dx3.8 ios打包脚本编写

时间:2015-09-22 01:18:32      阅读:628      评论:0      收藏:0      [点我收藏+]

标签:

cocos集成了打包命令 cocos compile -p ios

在这里并没有应用这个方案,而是编写自己的脚本, 理由如下

  1. 脚本掌握在自己手中可以第一时间解决和发现bug
  2. 游戏项目总会出现各种各样定制的需求,官方不可能给出全部的解决方案

查了一下资料xcode 支持命令行

xcodebuild:   编译xcode工程生成app文件

xcrun:       将app文件转换为ipa文件

如果不清楚, 直接命令行 xcodebuild -help即可查看所有命令

为了便于管理和扩展 这里新建了两个文件夹

  1. build/ios:脚本目录,
  2. publish/ios:ipa输出目录 

直接上脚本, 将XXXX换成自己的证书 文件 和工程路径即可

#!/bin/bash

schemeName="$1"
outputPath="$2"

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
CertIdentity="XXXXXXX"
Profile="XXXXXX"
IOS_SDK=iphoneos8.4
projectPath="${DIR}/../../frameworks/runtime-src/proj.ios_mac/XXXX.xcodeproj"

if [ ! -d "${outputPath}" ]; then
    mkdir -p "${outputPath}"
fi

#xcodebuild -project $projectPath -scheme ${schemeName} -sdk ${IOS_SDK} -configuration Release clean

xcodebuild -project "$projectPath" -scheme ${schemeName} -sdk ${IOS_SDK} -configuration Release DEPLOYMENT_POSTPROCESSING=YES CONFIGURATION_BUILD_DIR="${outputPath}" CODE_SIGN_IDENTITY="${CertIdentity}" PROVISIONING_PROFILE="${Profile}" build

xcrun -sdk iphoneos PackageApplication -v "${outputPath}/${schemeName}.app" -o "${outputPath}/${schemeName}.ipa"

我们再编写一个python脚本调用shell并传递scheme和outpath参数

# -*- coding: utf-8 -*- 
import os
import datetime

class BuildIos:
    def __init__(self):
        self.dir = os.path.split(os.path.realpath(__file__))[0]
        self.outputPath = self.dir + "/../../publish/ios"
        self.schemeName = "XXXXXXX"
    def build(self):
        os.system("sh build_ios.sh " + self.schemeName + " " + self.outputPath)
        filePrefix = self.outputPath + "/" + self.schemeName
        #获得当前时间
        now = datetime.datetime.now()
        #转换为指定的格式:
        otherStyleTime = now.strftime("%Y%m%d%H%M")
        os.rename(filePrefix + ".ipa", filePrefix + "_" + otherStyleTime + ".ipa")
    def run(self):
        os.chdir(os.path.split(os.path.realpath(__file__))[0])
        self.build()
buildIos = BuildIos()
buildIos.run()

以后我们可以继续完善python,比如在不同的平台下 预先进行文件夹的整理,在执行打包脚本之前先将lua编译成字节码并加密,尽情的发挥想象吧!

 

cocos2dx3.8 ios打包脚本编写

标签:

原文地址:http://www.cnblogs.com/ColaZhang/p/4827685.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!