HTML

Hackstock

Hack the planet! Hackers unite!

Címkék

Címkefelhő

XCode 3.0 végre

2007.12.30. 13:33 :: theshadow

Jogosan merül fel, hogy használjuk az XCode-ot, ha már feltelepítettük és nem utolsósorban az intelligens kódkiegészítés, szintaxis szerinti szinezés is nagyon hasznos lenne, mert vi, TextEditor nagyon fapados. Különben sem mondta senki, hogy feszüljön meg, aki iPhone programozásra adta a fejét és már XXI. századot írunk.
Lássunk hozzá. Nem kisebb dolgot fogunk elkövetni, mint iPhone.sdk-t fogunk összeállítani. Néhány napos nézelődés és kísérletezés után arra jutottam, hogy a következő néhány könyvtár létrehozásával ki lehet alakítani az alap struktúrát. Természetesen nem a feladat bonyolultsága miatt tartott ilyen sokáig, hanem szerettem volna rendesen körüljárni minden lehetőséget és kísérleteztem.
mkdir -p /Developer/SDKs/iPhone.sdk/System/Library/Frameworks
mkdir -p /Developer/SDKs/iPhone.sdk/Developer
mkdir -p /Developer/SDKs/iPhone.sdk/Library
mkdir -p /Developer/SDKs/iPhone.sdk/usr
cp /Developer/SDKs/MacOSX10.4u.sdk/SDKSettings.plist /Developer/SDKs/iPhone.sdk/
Másik SDK könyvtárakban a System/Library/Frameworks könyvtárában a framework-ök érdekes struktúrája van, de erre nekünk nincs szükségünk. A telefon framework-jeit a következőképpen linkeltem.
ln -fs /usr/local/arm-apple-darwin/include/BluetoothManager/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/BluetoothManager.framework
ln -fs /usr/local/arm-apple-darwin/include/Celestial/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/Celestial.framework
ln -fs /usr/local/arm-apple-darwin/include/CoreFoundation/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/CoreFoundation.framework
ln -fs /usr/local/arm-apple-darwin/include/Foundation/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/Foundation.framework
ln -fs /usr/local/arm-apple-darwin/include/LayerKit/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/LayerKit.framework
ln -fs /usr/local/arm-apple-darwin/include/Message/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/Message.framework
ln -fs /usr/local/arm-apple-darwin/include/TelephonyUI/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/TelephonyUI.framework
ln -fs /usr/local/arm-apple-darwin/include/UIKit/ \
    /Developer/SDKs/iPhone.sdk/System/Library/Frameworks/UIKit.framework
Itt még azt szeretném megjegyezni, hogy ezek a framework-ök csak azok, amiket az SVN-ből letöltött változat tartlmaz. Ennél többet találtam Erica Sadun chaintool-jában, de ezeket később varázsolom a helyükre. Egyenlőre még nem tanulmányoztam, de elképzelésem szerint csupán annyiból fog állni a művelet, hogy a megfelelő könyvtárakat header-ekkel együtt a /usr/local/arm-apple-darwin/include könyvtárba fogom másolni és ugyanilyen módon linkeket fogok létrehozni. Most legyen elég az, ami rendelkezésünkre áll.
Elkészítettem egy sablon projektet, amit innen lehet letölteni. Kicsomagolás után a /Developer/Library/Xcode/Project Templates/Application könyvtárban kell elhelyezni.
   
Mondhatni el is készültünk vele.
Itt szeretném még megjegyezni, hogy némely header file-ban hibákat fedeztem fel. Például a BluetoothManager framework-ben a file-ok importjában a következő szerepel.
#import "NSObject.h"
Mivel tudjuk, hogy ha macskakörmökkel írjuk az #import után a file nevét, akkor a file-hoz képest relatíven értelmezi a helyét. Ha kisebb-nagyobb jelekkel, akkor az include könyvtárakhoz képest relatíven kerül értelmezésre. A magam részéről a következőképpen javítottam.
#import <Foundation/Foundation.h>
Ilyen és ehhez hasonló hibákra még számítani lehet és célszerű javítani őket (sudo vi).
Ha mindent jól csináltunk, akkor a build zökkenésmentesen működik. Ha mégis probléma adódna, akkor a Build/Build Results menüpont alatt láthatjuk az üzeneteket.

Szólj hozzá!

A bejegyzés trackback címe:

https://hackstock.blog.hu/api/trackback/id/tr92279021

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.