(后面就是代码了,我就不翻译了。)

#!/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打包工具脚本的更多相关文章

  1. InnoSetup汉化版打包工具下载-附带脚本模板

    InnoSetup汉化版打包工具下载地址: https://www.90pan.com/b1907264 脚本模板 ; 脚本用 Inno Setup 脚本向导 生成.; 查阅文档获取创建 INNO S ...

  2. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  3. Pyinstaller打包Selenium脚本为exe文件执行问题

    由于同事辞职,许多运维工具的维护工作就交到我这里处理了,运维居然没人会Python脚本! 用Selenium编写的一个爬虫脚本cctv.py,需要给不懂软件的人运行.为了不让他去搭建,安装各种包,库, ...

  4. Winform打包工具SetupFactory 9 的使用

    写了个WinForm的小程序..以前没打过包..只是直接把Bin里的东西复制出来使用..自己使用是足够.但是发给别人毕竟不太好看(不牛逼)..所以就想着打包.. Vs2012自带的有打包的功能..相信 ...

  5. Inno Setup 打包工具总结

    Inno Setup 打包工具总结 分类: Install Setup 2013-02-02 15:44 2386人阅读 评论(0) 收藏 举报 最近打包用到了Inno setup,在这个过程中容易犯 ...

  6. 打包python脚本为exe可执行文件-pyinstaller和cx_freeze示例

    本文介绍使用cx_freeze和pyinstaller打包python脚本为exe文件 cx_freeze的使用实例 需要使用到的文件wxapp.py, read_file.py, setup.py ...

  7. Python打包工具setuptools的使用

    将我们写的Python程序发布成包后,可以使其能够安装使用. 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试. setuptools是常用的打包工具. 一个简单 ...

  8. PyInstaller打包python脚本的一些心得

    PyInstaller打包python脚本的一些心得 因为在公司经常要帮同事做一个从excel表格中提取出需要的内容的重复工作,比较繁琐还容易出错:于是就想着要写个程序,但是同事又不可能在电脑上也装上 ...

  9. 前端框架VUE----webpack打包工具的使用

    在这里我仅仅的是对webpack做个讲解,webpack这个工具非常强大,解决了我们前端很繁琐的一些工具流程繁琐的事情.如果感兴趣的同学,还是看官网吧. 中文链接地址:https://www.webp ...

随机推荐

  1. B/S、C/S模式介绍

    1.B/S模式 B/S(Browser/Server,浏览器/服务器)方式的网络结构. ①.客户端统一采用浏览器如:Netscape和IE,通过Web浏览器向Web服务器提出请求,由Web服务器对数据 ...

  2. android:sharedUserId

    <manifest> syntax: <manifest xmlns:android="http://schemas.android.com/apk/res/android ...

  3. 【Tempest】openstack自动化测试组件tempest及自动化测试工具nose

    宝宝心里苦,但是宝宝只能在这穷乡僻壤说,下周又要开组会必须得干点事了.这次是做论文中的实验部分,主要利用到了openstack中的自动化测试组件Tempest,具体原因不细说了. 安装 分两种安装方法 ...

  4. Abp数据库迁移注意事项

    前记:昨天下载了一个Abp模板,然后尝试利用EF CodeFirst进行数据库生成操作,然后就是一直报错 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务 ...

  5. 关于phonegap的白名单机制

    今天在项目中发现了一个问题,使用phonegap开发的APP默认情况下可以将外部网页加载进入手机APP当中,这是相当危险的,同时也会给人一种APP非native的感觉. 可能遇见的一种情况是有些WiF ...

  6. 【BZOJ 4572】【SCOI 2016】围棋

    http://www.lydsy.com/JudgeOnline/problem.php?id=4572 轮廓线DP:设\(f(i,j,S,x,y)\). \(S\)表示\((i,1)\)到\((i, ...

  7. [BZOJ2654]tree(二分+Kruskal)

    2654: tree Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 2733  Solved: 1124[Submit][Status][Discus ...

  8. 伤逝——shoebill关于noip2017的手记

    如果我能够,我要写下我的悔恨和悲哀,为机房爆炸的dalao们,为自己. jzyz的被遗忘在实验楼里的机房依然喧闹而空虚,时光过得真快,我学oi,仗着她逃过班级的寂静,已经满一年了.事情又这么不凑巧,我 ...

  9. 【BFS】Pots

    [poj3414]Pots Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16925   Accepted: 7168   ...

  10. python3-开发进阶Django中序列化以及rest_framework的序列化

    一.django框架的序列化 直接上代码 1.这是app下的models.py from django.db import models # Create your models here. clas ...