Difference between revisions of "iPhone/iPod development/zh CN"

From Free Pascal wiki
Jump to navigationJump to search
Line 43: Line 43:
  
 
== 开发中的技术局限 ==
 
== 开发中的技术局限 ==
 +
 +
至今,我们还无从得知是否能够将应用复制到iPhone/iPod Touch上并执行而无须使用Xcode. 但毋庸置疑的是可以在任何IDE(Lazarus, Lightweight IDE等)上开发iPhone/iPod Touch,并在模拟器上运行.但是所有的应用必须在Xcode上传见以加载到iPhone/iPod Touch设备上并在设备上调试.
  
 
=== iPhone模拟器与iPhone的不同 ===
 
=== iPhone模拟器与iPhone的不同 ===

Revision as of 04:58, 2 March 2013

安装

系统需求:

  • Intel Mac (iPhone SDK 需求)
  • Mac OS X 10.5.5 or later (iPhone SDK 需求)
  • iPhone SDK 3.x 或更高版本(调试需 2.2 - 5.1). 注意: 在iPhone SDK 3.0链接时,存在一个漏洞. 更多信息参考下文.

部分特征:

  • 模拟器支持
  • Xcode模板直接支持(实际上是需要)将Pascal和Objective-C源文件在同一应用中使用
  • Pascal语言翻译了从SDK中抽取的OpenGL ES 1.1 C语言头文件(这是我们唯一能提供的, 因为这一文件时基于SGI开源许可证), 此文件在gles11单元中

在提问之前,请阅读安装盘镜像中的ReadMe.rtf文件全文. 这一文件包含了大量的需要关注的信息(尤其是关于模拟器使用的信息),以及当需要增加Pascal源文件时,如何替换使用的模板.

请注意,与其他的FPC发布版本不同,这一安装包会安装FPC的源文件和脚本文件,并运行这些脚本来编译FPC(当你向安装文件提供了iPhone SDK的安装路径,就会自动生成所需的C语言头文件的Pascal版本). 这一做法是为了符合iPhone SDK的协议条文, iPhone SDK协议不允许发布任何的有SDK衍生产物. 如果脚本因某种原因终止,你可以在以下路径/Developer/FreePascalCompiler/2.6.0/InstallScript/finish_fpc_iphone_install.command 重新加载. 你也可以从我们的官网下载.

如果你在安装结束后运行脚本过程中出现问题,请在提问时务必提供脚本所运行的完整终端截屏。

(Xcode 4兼容性问题: Xcode模板只在Xcode 3上运行, 而不能在Xcode 4上运行.)

iPhone SDK 3.0

iPhone SDK 3.0在链接过程中会出现一个由包含了FPC的Xcode模板引发的错误. 你可以通过在创建设置中的"其他链接器"中加入链接信息"-Wl,-no_order_inits"来回避这一错误. 这一修正已包含在了上文2.4.0rc1的链接中,但是你如果使用之前版本的模板,可能需要手动修改.

这个链接错误已经向苹果报告了(rdar://problem/7120987). 这一错误已经在Xcode4中修复.

Xcode 4, iOS SDK 5.0, Objective-Pascal

关于Xcode 4模板和在iOS上用Objective-Pascal编程,请参阅http://dl.dropbox.com/u/28343282/ObjP/index.html

苹果许可证限制

iPhone/iPod应用开发

FPC并不能回避苹果发布的对于iPhone/iPod Touch开发程序的要求.因此开发者必须注册一个苹果iPhone开发者项目账户(美元$99/年)来对真是硬件做FPC编译程序的开发(与常规的Xcode编译程序项目).

如果没有此许可,开发者只可以在模拟器上运行程序(也可能在已越狱的iPhone/iPod Touch上运行,但是这只限于自有设备).

关于苹果iPhone开发项目的更多信息,请参阅: http://developer.apple.com/iphone/program/

开发所需的Pascal单元

发布iPhone SDK衍生品是违反iPhone SDK协议的,这包括了Pascal语言对于框架头文件的翻译版本.因此,如何在发布包括了GUI的纯Pascal程序同时,又遵守苹果iPhone SDK协议是一项巨大的挑战.更多信息,请参阅ReadMe.rtf(包含在上文的.dmg镜像文件中).

开发中的技术局限

至今,我们还无从得知是否能够将应用复制到iPhone/iPod Touch上并执行而无须使用Xcode. 但毋庸置疑的是可以在任何IDE(Lazarus, Lightweight IDE等)上开发iPhone/iPod Touch,并在模拟器上运行.但是所有的应用必须在Xcode上传见以加载到iPhone/iPod Touch设备上并在设备上调试.

iPhone模拟器与iPhone的不同

在iPhone/iPod Touch上编译和运行纯Pascal应用

仅使用Xcode

使用编译指令和Xcode

对FPC 2.6.0

对FPC 2.6.0之前版本

在iPhone模拟器上编译和运行纯Pascal应用

安装ARM交叉编译器

更多信息

参考信息