iPad开发环境搭建和基本概念

55 篇文章 2 订阅
48 篇文章 1 订阅


安装黑苹果
 

下载东皇的iAntares 10.6.3 v2.2,最简单的安装方法是刻盘安装,如果不想刻盘,可以采用硬盘安装,工具:Leopardhdhelper 0.3。用写入U盘的安装方式安装失败。到安装结束大多会提示安装失败,其实是设置引导程序失败,对我们来说是好事。第一次安装的话可能会修改主分区的活动盘导致重启不能引导,这个时候不要慌,随便找个可以引导的办法进pe系统,重新设置原来的主分区为活动即可。
 
安装这个不但要硬件支持,还要有耐心,最主要的是需要RP要好。
 
如果RP实在不怎么样,下载一个别人安装好的Vmware虚拟机最方便,但是这个最好CPU带VT支持,不然速度可想而知了。
 


上图为在weiphone下载的由easystudio提供的MacOSX 10.6.4的VM虚拟机文件。
 
安装iPhone SDK和xcode
 

开发iPad的程序,为啥要安装iPhone SDK呢?因为他们用的是同一个系统,现在叫iOS了。我安装的是xcode_3.2.3_and_iphone_sdk_4_gm_seed.dmg,只能用在雪豹上。好像是iOS4的beta3版本。
 
安装完成后有如下几个程序:
 
l Xcode:集成开发环境(IDE)。
 
l Dashcode:基于Web的集成开发环境。(这个看的那本书没涉及)
 
l iPhone模拟器。用来模拟运行你开发的程序。注意这个是虚拟机,不是仿真器。他是i386架构的,真正的iPad是arm架构的。所以这个叫模拟器,不叫虚拟器。很绕口呵呵。具体一点就是你编译的程序在模拟器上能跑,但是到真机上肯定不能跑,如果要真机上能跑要基于arm架构重新编译才行。这个再xcode里面选择一下编译上对虚拟器还是设备就可以了。但是想编译设备,不好意思,需要认证。老乔卖的个人认证时99刀一年,当然可以破解,说的苹果一点觉xcode 越狱,呵呵。具体怎么jailbreak,后面会提到。
 
模拟器不支持iTunes和opengl加速,其他好像都没问题。当然哪些需要拍照,mic这类的肯定也不支持了,需要物理硬件,呵呵
 
l Interface Builder:根据名字可以看出是用来搞界面的。
 
l Instruments:优化程序,实时监控内存泄露问题(这个没用过,不知道怎么用)
 
其他一些基本知识
 

屏幕分辨率:9.7寸屏,分辨率1024*768,去除状态烂20后剩1004*768。程序一般在这个尺寸下工作,当然你也可以选择开发全屏的程序,感觉全屏的程序其实是不友好的,因为我好多手势全都设置在状态栏上,所以现在特别讨厌全屏的程序。呵呵
 
单窗体程序:也就是说不支持向普通PC程序一样多个窗体。
 
不能后台运行:这个是iOS之前的概念了,据说iOS4是支持多任务的。之前支持单任务好像一个原因说是为了电池的续航问题。其实这个单任务多任务的用过iPad的都能理解。并不是不能一边听歌一边看书的。苹果的意思应该是不能把普通用户开发的程序作为后台运行。他自己的iPod好像可以。因为我越狱装了background破解,所以这里用了好像这个字。不知道是自身的iPod就可以后台,还是这个破解提供的。苹果为了解决这个不能后台运行的问题,特别提供了一个解决方案就是push service。具体我还没有深入,现在只是入门阶段,所以也不是很清楚。大概的意思就是比如你有一个聊天软件,可以注册一个push service服务。当你关掉聊天软件的时候,如果有好友向你发送消息,他可以提醒你。
 
参考:
 

1、 pcbeta上的黑苹果安装
 
2、 weiphone上的xcode越狱及easystudio提供的vm虚拟macosx 10.6.4。
 
3、 Wei-Meng Lee写的《Beginning iPad™ Application Development》
 


--------------------------------------------------------------------------------


编写HelloWorld
 
上文环境搞好后打开xcode,显示xcode的欢迎界面,如下:
 


点击Create a new Xcode project,选择iPhone OS-Application-View based Application,创建一个最简单的iPad空白程序HelloiPad。点击Build and Run后iPad模拟器自动启动。
 
Xocde的文件如下
 


找到HelloiPadViewController.xib文件,双击后启动Interface Builder,编辑用户界面。点击右上角的旋转箭头,可以旋转为横屏编辑,拖入一个标签,一个编辑框和一个按钮后,简单编辑一下属性后运行,如下显示横屏和竖屏两个界面。
 


(请无视每个界面上的两个小点点,那个是因为虚拟机的截屏快捷键正好跟模拟器的测试多点触摸快捷键冲突所致)
 
上图发现在横屏下显示是居中很好看,但是竖起来后并没有自动适应而显示在中间,这个是需要设置自动适应属性,选中其中一个控件,选中右边属性中带有滑动块的那页,点击中间正方形上的线,就可以设置控件的自动适应属性,这一点apple搞的非常好,鼠标放在这个正方形上,右边就会动画显示你所设置的自动适应的动画,很好让人理解。三个控件设置完成后,保存一下,或者直接点击Build and Run会提示你保存,现在再看看是否居中了。
 


目前屏幕是四个方向自动适应的,那如果我只想程序在特定的方向下显示,怎么办呢?这就需要编码控制了。回到Xcode,双击HelloiPadViewController.m文件,找到如下代码:
 


将return YES注释,换为上面的代码,再看看是不是只能两个方向了呢。
 
这里要说一下苹果的方向定义。
 
我英文不好,不知道这个怎么翻译,横屏叫:Landscape,left,right是指home键在左还是右。竖屏叫Portrait。(本人也是刚入门,看了两章的书,所以很多都不懂)。
 
终于看到代码了,这个可能也是程序员最喜欢的看到的。下面,就编写一个点击按钮的响应事件。
 
首先在HelloiPadViewController.h文件中添加如下(红色为添加内容):
 
#import <UIKit/UIKit.h>
 
@interface HelloWorldViewController : UIViewController {
 
}
 
-(IBAction) btnClicked:(id) sender;
 
@end
 
在HelloiPadViewController.m中添加
 
-(IBAction) btnClicked:(id) sender {
 
//---display an alert view---
 
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Hello World!”
 
message:@”iPad, here I come!”
 
delegate:self
 
cancelButtonTitle:@”OK”
 
otherButtonTitles:nil];
 
[alert show];
 
[alert release];
 
}
 
这样事件处理程序就已经写好了,下面就是把这个事件处理程序挂到按钮的点击事件上,打开Interface Builder,选择按钮,按住Control拖动到HelloWorldViewController.xib窗体的File’s Owner,会出现一个弹出选择,选中刚才编写的btnClicked即可。编译运行一下,点击按钮,如下图出现一个提示信息。这个类似于VS系的MessageBox,Delphi系的ShowMessage,Justep系的jsDialogs。呵呵
 


程序编辑好了,下面我们在模拟器上按home键发现程序的图标是白色的,下面我们就要给程序添加一个图标。
 
找一个72*72的png图片,书上是这么说的,我没找到这么大的,小点的也是可以的。拖动图片到Xcode的Resources文件夹,出现提示后最好选择拷贝(Copy)。如下图:
 


然后双击HelloiPad-Info.plist文件,编辑Icon file值为刚才拖动的图片名字,这里是Apple.png。再B&R,按home回到首页看看,如下图:
 


Ok,万事俱备,只欠东风了。下面选择编译目标为Device,点击Build and Archive,报错了,如下:
 


什么原因呢?因为你没买99刀一年的证书,所以只能编译到模拟器,不能编译到设备。555555555555
 
破解越狱xcode
 
上文说了不能编译为设备执行程序,这里就介绍一个破解的办法。我是参考的weiphone论坛上的(Xcode 3.1.4 证书破解+iphone 3G 3.1.2真机部署(对3.2.1同样有效)),首先需要在macosx里打开程序-实用工具-钥匙串,选择证书助理,创建一个用于代码编辑的证书,然后执行下面一系列命令,拷贝自weiphone论坛。
 
证书伪造:
 
先按照 该教程 的步骤添加证书。注意,原教程选择的是“系统”证书,这里我们用“登录”证书,切记。
 
Xcode破解
 
关闭Xcode,打开你的命令行终端,复制粘贴下面的代码:
 
#!/bin/bash
 
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
 
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
 
printf “\x8f\x2a\x00\x00″ >> working
 
dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
 
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
 
/bin/mv working iPhoneOS\ Build\ System\ Support
 
chmod a+x iPhoneOS\ Build\ System\ Support
 
执行完后再复制粘贴下面的代码到命令行终端:(需要internet网络连接)
 
mkdir /Developer/iphoneentitlements30
 
cd /Developer/iphoneentitlements30
 
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
 
mv gen_entitlements.txt gen_entitlements.py
 
chmod 777 gen_entitlements.py
 
执行完脚本后修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,做如下修改:
 
新增如下两项:
 
PROVISIONING_PROFILE_ALLOWED = NO
 
PROVISIONING_PROFILE_REQUIRED = NO
 
再用文本编辑器打开”/Developer/Platforms/iPhoneOS.platform/Info.plist”文件,将所有“XCiPhoneOSCodeSignContext”替换为“XCCodeSignContext”,(非常重要,不进行此步骤会导致打开项目文件Xcode会崩溃报错退出)保存退出。
 
打开Xcode,打开你的项目,Project>>Edit Project Setting,选择“Build”页面,Configurations和Show都选择All,找到Code Signing Identity项,删除其子项,并将“Code Signing Identity”赋值为“iPhone Developer”(其实是个选项)。
 
然后找到你项目的xxx-Info.plist文件,添加“SignerIdentity”项,其值为“Apple iPhone OS Application Signing”.保存。
 
期间会出现让我们选择签名证书,点选“允许”后,据说不能点永久。
 
Ok,再次点击Build and Archive,成功!!
 
打包ipa
 
编译完了的程序是HelloiPad.app文件夹,我们需要制作成ipa安装包,方便安装在iPad上。
 
第一步,新建一个文件夹,名字任意。找一个不大于500*500的jpg图片,改名为:iTunesArtwork,注意不能有后缀名。
 
第二步,建立一个文件夹,名为:Payload,把刚才编译的HelloiPad.app拷贝到这个文件夹里面。
 
第三部,修改app里面的Info.plist文件,windows下可以用Pledit.exe编辑,在<dict></dict>节点里面加入:
 
<key>SignerIdentity</key>
 
<string>Apple iPhone OS Application Signing</string>
 
然后选中Payload和iTunesArtwork,右键生产压缩zip文件,比如:HelloiPad.zip,把后缀名改为ipa就可以了。现在可以双击HelloiPad.ipa文件,看看可以加入到iTunes了。
 
 
 
(请无视边上那个,带我儿子头像的那个是刚打包的)
 
真机运行
 
Ipa文件有了,你要用iTunes同步还是其他方法,那就随便了,安装到真机后的运行界面如下:
 

 


 从此学习网 http://www.congci.com/item/ipaddevbasic

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值