IPhone打包工具脚本
(后面就是代码了,我就不翻译了。) #!/usr/bin/perl
use File::Copy; my $installPath = $ARGV[]; #the name that displays on the iPhone
my $bundleDisplayName = "New App";
# prerendered icons don't have the glossy effect applied over them.
my $prerenderedIcon = ;
# determines orientation of OS popups (text messages, volume controls)
my $landscapeOrientation = ; # these three are values defined in AppController.m
my $fpsRate = "60.0";
my $accelerometerRate = "60.0";
my $profilerOn = ""; #go through the info.plist file line by line until you find this one:
my $findLine = "CFBundleDisplayName";
my $endOfPlist = "</dict>"; #copy Default.png and Icon.png from Asset to installPath
my $iconFilename = "Icon.png";
my $defaultFilename = "Default.png"; # The type of player built:
# "dashboard", "standaloneWin32", "standaloneOSXIntel", "standaloneOSXPPC", "standaloneOSXUniversal", "webplayer", "iPhone"
my $target = $ARGV[]; print ("\n*** PostprocessBuildPlayer - Building at '$installPath' with target: $target ***\n"); my $dst = $installPath . "/" . $iconFilename;
print ("Copying Icon.png [$iconFilename -> $dst]\n");
copy($iconFilename, $dst) or die "Icon file can not be copied "; my $dst = $installPath . "/" . $defaultFilename;
print ("Copying Default.png [$defaultFilename -> $dst]\n");
copy($defaultFilename, $dst) or die "Default file can not be copied "; ################################################################
# This modifies info.plist so you don't have to #
# set BundleDisplayName manually #
################################################################ #open this file $oplistPath = $installPath."/Info.plist";
$nplistPath = $installPath."/Info.plist.tmp"; open OLDPLIST, "<", $oplistPath or die("Cannot open Info.plist");
open NEWPLIST, ">", $nplistPath or die("Cannot create new Info.plist"); my $nextLine = ;
while(<OLDPLIST>)
{
if ($nextLine == )
{
$_ =~ s/\${PRODUCT_NAME}/$bundleDisplayName/; #swap the product name for display name
$nextLine = ;
} if ($_ =~ m/$findLine/)
{
$nextLine = ;
}
################################################################
# Add any key/value pairs you want at the end of Info.plist #
################################################################ if ($_ =~ m/$endOfPlist/)
{
my $keys = "";
if ($prerenderedIcon)
{
$keys .= " <key>UIPrerenderedIcon</key>\n";
$keys .= " <true/>\n";
}
if ($landscapeOrientation)
{
$keys .= " <key>UIInterfaceOrientation</key>\n";
$keys .= " <string>UIInterfaceOrientationLandscapeRight</string>\n";
}
$_ = $keys . $_;
}
print NEWPLIST $_;
} close OLDPLIST;
close NEWPLIST; `mv \'$nplistPath\' \'$oplistPath\'`; ################################################################
# Change default Profiler & kFPS rates #
################################################################ $oacmPath = $installPath."/Classes/AppController.mm";
$nacmPath = $installPath."/Classes/AppController.mm.tmp"; open OLDACM, "<", $oacmPath or die("Cannot open AppController.mm");
open NEWACM, ">", $nacmPath or die("Cannot create new AppController.mm"); while(<OLDACM>)
{
if ($_ =~ m/ENABLE_INTERNAL_PROFILER/)
{
$_ =~ s//$profilerOn/;
}
if ($_ =~ m/kFPS/)
{
$_ =~ s/60.0/$fpsRate/;
}
if ($_ =~ m/kAccelerometerFrequency/)
{
$_ =~ s/60.0/$accelerometerRate/;
}
print NEWACM $_;
} close OLDACM;
close NEWACM; `mv \'$nacmPath\' \'$oacmPath\'`;
IPhone打包工具脚本的更多相关文章
- InnoSetup汉化版打包工具下载-附带脚本模板
InnoSetup汉化版打包工具下载地址: https://www.90pan.com/b1907264 脚本模板 ; 脚本用 Inno Setup 脚本向导 生成.; 查阅文档获取创建 INNO S ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- Pyinstaller打包Selenium脚本为exe文件执行问题
由于同事辞职,许多运维工具的维护工作就交到我这里处理了,运维居然没人会Python脚本! 用Selenium编写的一个爬虫脚本cctv.py,需要给不懂软件的人运行.为了不让他去搭建,安装各种包,库, ...
- Winform打包工具SetupFactory 9 的使用
写了个WinForm的小程序..以前没打过包..只是直接把Bin里的东西复制出来使用..自己使用是足够.但是发给别人毕竟不太好看(不牛逼)..所以就想着打包.. Vs2012自带的有打包的功能..相信 ...
- Inno Setup 打包工具总结
Inno Setup 打包工具总结 分类: Install Setup 2013-02-02 15:44 2386人阅读 评论(0) 收藏 举报 最近打包用到了Inno setup,在这个过程中容易犯 ...
- 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例
本文介绍使用cx_freeze和pyinstaller打包python脚本为exe文件 cx_freeze的使用实例 需要使用到的文件wxapp.py, read_file.py, setup.py ...
- Python打包工具setuptools的使用
将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单 ...
- PyInstaller打包python脚本的一些心得
PyInstaller打包python脚本的一些心得 因为在公司经常要帮同事做一个从excel表格中提取出需要的内容的重复工作,比较繁琐还容易出错:于是就想着要写个程序,但是同事又不可能在电脑上也装上 ...
- 前端框架VUE----webpack打包工具的使用
在这里我仅仅的是对webpack做个讲解,webpack这个工具非常强大,解决了我们前端很繁琐的一些工具流程繁琐的事情.如果感兴趣的同学,还是看官网吧. 中文链接地址:https://www.webp ...
随机推荐
- CAS无锁操作
https://coolshell.cn/articles/8239.html 主要讲的是<Implementing Lock-Free Queues>的论点,具体直接看论文最好.这里总结 ...
- 桌面笔记工具KeepNote
桌面笔记工具KeepNote 在渗透测试过程中,安全人员经常需要记录各种数据,如输出结果.运行截图.测试心得.这类信息格式多样,可能是图片.文字.文件等.为了便于管理这些内容,Kali Linux ...
- 使用appframework前端框架中输入框圆角问题
目前使用HTML5技术来开发手机跨平台app已经成为了曾经的web开发人员介入移动开发的一条捷径.与此对应也出现了很多新的技术来支撑这样的开发方式,例如国外的phonegap和国内的APPcan等.很 ...
- Section One
1.1.1 #include <iostream> using namespace std; int main() { int a,b,N; cin >> N; while ( ...
- FlowPortal BPM官网改版了,推出20个流程免费基础版
我一直使用的FlowPortal BPM官网网站近期改版了,看起来更加高大上了.不仅美感提高了,所传递的信息,特别是新老用户所需要的信息也更多了. 对于新版网站,我觉得比较赞的地方: 1.新增开发者中 ...
- [Codeforces 1053C] Putting Boxes Together
Link: Codeforces 1053C 传送门 Solution: 先推出一个结论: 最后必有一个点不动且其为权值上最中间的一个点 证明用反证证出如果不在中间的点必有一段能用代价少的替代多的 这 ...
- cream 的qsqrt 及其原理
首先,是creamk 的qsort: float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5 ...
- 【构造】Gym - 100781B - Bell Ringing
根据n-1推n的情况,让n从每一个的最右走到最左,再从下一个最左走到最右,如此往复即可. #include<cstdio> using namespace std; int n,a[500 ...
- [转] json字符串转换为JSONObject和JSONArray
一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String ...
- HDU 4633 Who's Aunt Zhang (2013多校4 1002 polya计数)
Who's Aunt Zhang Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...