iPad开发学习之二HelloWorld及发布ipa

编写HelloWorld

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

clip_image002

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

Xocde的文件如下

clip_image004

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

clip_image006clip_image008

(请无视每个界面上的两个小点点,那个是因为虚拟机的截屏快捷键正好跟模拟器的测试多点触摸快捷键冲突所致)

上图发现在横屏下显示是居中很好看,但是竖起来后并没有自动适应而显示在中间,这个是需要设置自动适应属性,选中其中一个控件,选中右边属性中带有滑动块的那页,点击中间正方形上的线,就可以设置控件的自动适应属性,这一点apple搞的非常好,鼠标放在这个正方形上,右边就会动画显示你所设置的自动适应的动画,很好让人理解。三个控件设置完成后,保存一下,或者直接点击Build and Run会提示你保存,现在再看看是否居中了。

clip_image010

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

clip_image012

将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。呵呵

clip_image014

程序编辑好了,下面我们在模拟器上按home键发现程序的图标是白色的,下面我们就要给程序添加一个图标。

找一个72*72的png图片,书上是这么说的,我没找到这么大的,小点的也是可以的。拖动图片到Xcode的Resources文件夹,出现提示后最好选择拷贝(Copy)。如下图:

clip_image016

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

clip_image018

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

clip_image020

什么原因呢?因为你没买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了。

clip_image022 clip_image024

(请无视边上那个,带我儿子头像的那个是刚打包的)

真机运行

Ipa文件有了,你要用iTunes同步还是其他方法,那就随便了,安装到真机后的运行界面如下:

clip_image026

clip_image028

posted @ 2010-08-27 15:22 傻样精英 阅读(...) 评论(...) 编辑 收藏