开心人生

用今天的努力----实现我所向往的明天

导航

如何编译iPhone官方提供的HelloWorld

官网例子:HelloWorld_iPhone

1)直接Build and Run, 抱怨找不到SDK 2.0

打开工程, 在菜单中选择Projects, General标签中的最下面有一个
Base SDK for All Configurations (默认的是 iPhone Device 2.0)

但这个SDK版本已经不维护了, 改成 iPhone Device 3.1.3

2)再次Build,抱怨:
Code Sign error: The identity ‘iPhone Developer’ doesn’t match any valid certificate/private key pair in the default keychain--这种错误太多了.注意:

这是因为默认Build选择的是设备, 如果改成Simulator 则可以编译通过,并在模拟器里运行.如果你没有证书,请修改build的target为Simulator

所以,必须建立自己的 .mobileprovision 资料 或者 .cer 证书
登录到苹果开发中心 (http://developer.apple.com/iphone/index.action), 选择右边的
iPhone开发计划入口(iPhone Developer Program Portal), 然后点击 Launch Assistant, 它将引导你
建立和安装 provisioning profile和certificate

在iPhone上安装ldid
0)JailBreak后的手机,安装Cydia,利用Cydia安装OpenSSH Server
1)登录到iPhone
apt-get install ldid

在Groups & Files的 列表下,右键点击HelloIphone项目, 菜单, GetInfo(用Projects 菜单也可设置)

Projects–>Set Active SDK–> 设置合适的SDK版本

Projects–>Build 标签下 的

Code Signing –> Code Signing Identity –> Any iPhone OS Device
不要选择iPhonde Developer, 而是选择Don’t Code Sign
distribution profile showing

如果选择Device 2.1的,请修改:
打开 /Developer/Platforms/iPhoneOS.platform/Info.plist文件,
设置
PROVISIONING_PROFILE_ALLOWED 的变量为 NO
PROVISIONING_PROFILE_REQUIRED 的变量为 NO

如果选择Device 2.2的,请修改:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/SDKSettings.plist
设置 CODE_SIGNING_REQUIRED 为 NO

如果是 3.1.2,
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/
vi SDKSettings.plist

将CODE_SIGNING_REQUIRED设置为 NO
为避免出错,可以使用 /Developer/Applications/Utilities/Property List Editor 来编辑

或者只修改本工程的设置(Projects–>Build–>User-Defined Settings 添加
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO

右键点击Groups & Files 的Excutables, Get Info

复制到 iPhone的 /Applications/ 目录
用ldid对其进行签名
ldid -s HelloiPhone
killall SPringBoard (刷新桌面)
或者 kill -HUP (springboard进程)

还可能需要删除
需要删除 /private/var/mobile/Library/Caches/com.apple.mobile.installation.plist 文件

还有方法就是就是自己建立签名

http://bbs.weiphone.com/read-htm-tid-222380-page-1.html

自制证书,用来仿造官方证书,这里只列出必要的步骤,没列出的步骤按默认继续就行了

a 打开“钥匙串访问”程序,在“应用程序->实用工具”目录下

b 选择“创建证书”,在名称栏输入“iPhone Developer”,并选中“让我覆盖此要求的默认”,选这个名称是为了和“项目设置”保持一致

c 证书类型选为“代码签名” (这里代码签名很重要)

d 电子邮件随便填一个就行,其它项不用管

e 钥匙串选为“登录”

f 证书创建成功

xcode将进行编译并把目标文件部署到实机上,在此期间xcode将提示你codesign,点击“允许”而不是“总是允许”

参考

http://blog.csdn.net/cryfish/archive/2009/01/13/3769238.aspx

http://www.cocoachina.com/index.php/archives/cocoachina_248.html

posted on 2010-07-14 12:44  hai  阅读(1450)  评论(0)    收藏  举报