cocos2dx3.8 ios打包脚本编写

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编译成字节码并加密,尽情的发挥想象吧!

时间: 2024-10-01 19:37:04

cocos2dx3.8 ios打包脚本编写的相关文章

cocos2dx 3.8 android打包脚本编写

cocos集成了打包命令 cocos compile -p android 在这里并没有采用这个方案,而是编写自己的脚本, 理由如下 脚本掌握在自己手中可以第一时间解决和发现bug 游戏项目总会出现各种各样定制的需求,官方不可能给出全部的解决方案 为了便于管理和扩展 我们在项目根目录下新建了两个文件夹 build/android:打包脚本目录, publish/android:apk输出目录 android的打包分两步: 编译so 生成apk so的编译脚本 #!/usr/bin/env bas

iOS 制作自动打包脚本 Xcode8.3.2

本文包含以下内容: 前言 1.shell脚本的编写 2.xcodebuild命令 3.完整的可用示例 参考资料 前言 做iOS开发,打包APP是比较频繁的事情,每次都手动去配置一堆东西确实是比较乏味. 另外,我目前负责维护的APP在发布时,不同的Mode设置不同的AppIcon和BundleID, 所以要是可以简单执行一个脚本就完成打包的各种配置,那就轻松了! 于是乎,我就在网上学习了一下实现自动打包的方法,但是好多都是老版本的教程. 所以我打算参考别人的教程,然后自己也研究研究,再把研究的结果

【原】ios打包ipa的两种实用方法(.app转.ipa)

总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选一,一般选后两个. 局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦.一般多人开发时都是采用provisioning profile+P12文件来进行真机调试.上述方法在最后导出ipa包时需要输入appleID,这时还要向团队的其他人要.采用provisioning profile+P12

【原】ios打包ipa的四种实用方法(.app转.ipa)

总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选一,一般选后两个. 局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦.一般多 人开发时都是采用provisioning profile+P12文件来进行真机调试.上述方法在最后导出ipa包时需要输入appleID,这时还要向团队的其他人要.采用 provisioning profile+P

mac jenkins ios打包

需要的插件 Xcode integration                                                         xcode打包命令 FTP publisher plugin                                                     把ipa包上传到ftp服务器 Keychains and Provisioning Profiles Management         管理证书和授权文件 Post-Bu

ios打包ipa的四种实用方法(.app转.ipa)

总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选一,一般选后两个. 局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦.一般多人开发时都是采用provisioning profile+P12文件来进行真机调试.上述方法在最后导出ipa包时需要输入appleID,这时还要向团队的其他人要.采用provisioning profile+P12

LoadRunner脚本编写

一.脚本编写 案例一 Action() { //请求1 web_custom_request("WebTours", //可以自定义 "URL=http://127.0.0.1:1080/WebTours/", //Get请求的地址 "Method=GET", //方式GET "Resource=0", //说明URL是否是一个资源,0代表不是资源,1代表是资源 "RecContentType=text/html&q

SecureCRT中python脚本编写

SecureCRT中python脚本编写学习指南 SecureCRT python 引言 在测试网络设备中,通常使用脚本对设备端进行配置和测试以及维护:对于PE设备的测试维护人员来说使用较多是SecureCRT工具:SecureCRT支持VB.JavaScript.Python等多种脚本语言,为了实现脚本在CRT中更加丰富稳定地执行,掌握CRT的常用函数是非常有用的.接下来的时间我将对SecureCRT脚本编写的常用函数展开学习应用. 内容 (1)使用python语言实现SecureCRT中的D

SecureCRT脚本编写常用函数(一)

SecureCRT脚本编写常用函数(一) 测试 python 引言 在测试网络设备中,通常使用脚本对设备端进行配置和测试以及维护:对于PE设备的测试维护人员来说使用较多是SecureCRT工具:SecureCRT支持VB.JavaScript.Python等多种脚本语言,为了实现脚本在CRT中更加丰富稳定地执行,掌握CRT的常用函数是非常有用的.接下来的时间我将对SecureCRT脚本编写的常用函数展开学习应用. 索引 本阶段重点对SecureCRT中Screen相关函数进行学习,针对Pytho