码迷,mamicode.com
首页 > 其他好文 > 详细

IPhone打包工具脚本

时间:2014-09-27 13:43:49      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   ar   for   sp   div   

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

#!/usr/bin/perl 
   use File::Copy; 
   
   my $installPath = $ARGV[0]; 
   
   #the name that displays on the iPhone 
   my $bundleDisplayName = "New App"; 
   # prerendered icons dont have the glossy effect applied over them. 
   my $prerenderedIcon = 1; 
   # determines orientation of OS popups (text messages, volume controls) 
   my $landscapeOrientation = 0; 
   
   # these three are values defined in AppController.m 
   my $fpsRate = "60.0"; 
   my $accelerometerRate = "60.0"; 
   my $profilerOn = "0"; 
   
   #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[1]; 
   
   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 dont 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 = 0;    
       
   while(<OLDPLIST>) 
   {     
      if ($nextLine == 1) 
      { 
         $_ =~ s/\${PRODUCT_NAME}/$bundleDisplayName/; #swap the product name for display name 
       
         $nextLine = 0; 
      } 
   
      if ($_ =~ m/$findLine/) 
      { 
         $nextLine = 1; 
      } 
       
      ################################################################ 
      # 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/0/$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打包工具脚本

标签:style   blog   color   io   os   ar   for   sp   div   

原文地址:http://www.cnblogs.com/123ing/p/3996208.html

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