Sign in Join
Wiki copytemporary

iPhone/iPod development/ko

한국어 · English · 中文(中国) · 中文(台灣)

아래 내용은 번역 중입니다.

Statement from Apple(애플社의 발표)

Apple has relaxed all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code.

Apple은 iOS의 apps을 만들기위해 사용되는 개발툴에 대한 모든 제한을 완화하였다( 다만 결과물로서의 Apps가 어떠한 (악성)코드를 다운로드 하지 않는 다는 전제조건하에서..)1

Before this change it was not legally possible to ship FPC-compiled applications for iPhone OS 4.0 and later.

이러한 변화전에는 iPhone OS 4.0 또는 그 이후버젼을 위하여 FPC로 컴파일된 application을 배포하는 것은 법적으로 불가능하였었다.

Installation(설치)

Requirements(요구사항):

주의사항: iPhone SDK 3.0 linker에는 버그가 존재한다. 더많은 정보를 위해서는 아래를 참조해라!

특징:

이용가능하다.( 이것은 SGI open source license에 의해 배포가능하다)

Please read the entire ReadMe.rtf on the installer disk image before asking for help. It contains quite a bit of information on things to watch out for (especially when using the Simulator), and how to change the included template when adding extra Pascal source files.

Note that unlike other FPC releases, this installer will install the FPC sources and a script, and will then launch this script in order to compile FPC (after you tell it where you installed the iPhone SDK, so it can generate a Pascal version of some required C headers). This modus operandi is necessary to comply with the iPhone SDK agreement's stipulation that no derived works of the SDK may be distributed. If the script aborts for some reason, you can find it at /Developer/FreePascalCompiler/2.4.0/InstallScript/finish_fpc_iphone_install.command to relaunch it.

There are two installation options, but both require FPC 2.4.0 for Mac OS X/i386 (65MB) to be installed first:

The main difference between the two is that the FPC 2.5.1 snapshot uses VFP instructions instead of software emulation for floating point calculations, and that the MacOSAll unit is available for iPhoneOS, to the extent that its functionality exists on that platform (with interfaces to, a.o., CoreFoundation and CoreAudio). This snapshot also contains support for Objective-Pascal, but it does not yet automatically convert the iPhone-specific headers (and still contains various small errors in the Foundation translations).

Note that to use the FPC 2.5.1 snapshot, you should use the included new 2.5.1 Xcode template. This template has been modified to make it trivial to switch to a different FPC version using the same project file, so that starting a project file from scratch should no longer be necessary in the future. See the included readme file for information on how to switch the used FPC version.

If you encounter problems with the script that is launched when the installer finishes the installation, please always provide the entire contents of the Terminal window in which the script was executed when asking for help.

Update: A small error has been found in the new Xcode template included in the above 2.5.1 template: it always passes -Cfvfpv2 to the compiler, which will cause it to give an error when not compiling for ARM (it selects the VFPv2 floating point unit, which does not exist for Intel). For now, you will have to remove this parameter from the FPC_COMMON_OPTIONS when compiling for the simulator, and re-add it when compiling for the device. See the readme for information on where to find this setting.

(Xcode 4 compatibility: It appears the template works for Xcode 3 only, but not Xcode 4.)

iPhone SDK 3.0

The linker included with the iPhone SDK 3.0 contains a bug that is triggered by the Xcode template included with FPC. You can work around this bug by adding -Wl,-no_order_inits to the "Other Linker" flags in the Build settings of the project. This is already done for the Xcode templates included in the 2.4.0rc1 download above, but you may have to do this manually if you are using a project based on a template from a previous snapshot.

The linker bug has been reported to Apple (rdar://problem/7120987), so it will hopefully be fixed in a future release of the iPhone SDK.


From the Free Pascal wiki, page "iPhone/iPod development/ko", as it stood on 2020-02-29 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.