일단 cocos2d를 0.99.3으로 잡았습니다.
이유인 즉슨.. 일단 cocos2d 0.99.3을 넘어가면 용량이 꽤 커지고.. (생각해보니 별이유는 없는듯..)
기본적으로 이전 포스트한 블로그 내용대로 ipad에서 UI 개발 환경이 된 상태라고 가정하겠습니다.
일단 제 MacOSX는 10.6.8로 스노우레오파드입니다. (맥북이 2.0 듀얼코어라서 xcode 4로 가려면 10.7 라이언으로 갈아타야하는데 xcode가 좀 버벅인다더군요;; )
10.6.6이상부터 xcode 3.2.6 그리고 iphone sdk 4.3을 설치할 수 있습니다.
developer.apple.com 에서 로그인 후 아래 파일을 받습니다.
xcode_3.2.6_and_ios_sdk_4.3.dmg
그리고 macosx 탐색기에서 하기 디렉터리들을 아이패드에 옮깁니다.
(이런 파일 복사를 하는 이유는 추가적인 Frameworks나 libz 같은 라이브러리를 복사하기 위해서 입니다. )
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk에 있는 System과 usr 디렉터리를
아이패드의 /var/toolchain/iPhoneOS4.3.sdk라는 이름으로 만들어 둡니다.
이렇게 준비해둔 후 컴파일하다가 에러가 나는 프레임워크나 libz.1.2.3.dylib같은 파일이 없다고 하면
그에 맞춰서 /usr/lib라든가 /System/Library/frameworks/OpenGLES같은 곳에 복사해온 프레임워크 파일을 복사해서 문제를 해결합니다.
Makefile을 수정해서 아예 /var/toolchain을 쓰도록 하는것도 나쁘지 않을듯하네요..
그리고 cocos2d 0.99.3을 다운 받아서 역시 아이패드의 /var/toolchain/cocos2d_0.99.3 대충 이름 만들고 놓습니다.
소스는 cocos2d 에 있는 tests디렉터리에 ScenceTest.h 와 m을 가져왔고 main역시도 거기 있는거 가져 왔습니다.
Makefile은 아래처럼 cocos2d를 위해서 추가로 프레임워크 및 libz를 추가했습니다.
( 맥북에서 terminal로 아이패드 ssh접속한 후 vim으로 본 화면을 걍 긁어다 놓아서 보기 안좋네요.. )
Info.plist도 번들이름도 Scence으로 바꾸었습니다.
대략 첨부파일로 프로젝트 파일을 올려두겠습니다.
make 한 후..
make install하고 ..
실행해보았습니다.
이유인 즉슨.. 일단 cocos2d 0.99.3을 넘어가면 용량이 꽤 커지고.. (생각해보니 별이유는 없는듯..)
기본적으로 이전 포스트한 블로그 내용대로 ipad에서 UI 개발 환경이 된 상태라고 가정하겠습니다.
일단 제 MacOSX는 10.6.8로 스노우레오파드입니다. (맥북이 2.0 듀얼코어라서 xcode 4로 가려면 10.7 라이언으로 갈아타야하는데 xcode가 좀 버벅인다더군요;; )
10.6.6이상부터 xcode 3.2.6 그리고 iphone sdk 4.3을 설치할 수 있습니다.
developer.apple.com 에서 로그인 후 아래 파일을 받습니다.
xcode_3.2.6_and_ios_sdk_4.3.dmg
그리고 macosx 탐색기에서 하기 디렉터리들을 아이패드에 옮깁니다.
(이런 파일 복사를 하는 이유는 추가적인 Frameworks나 libz 같은 라이브러리를 복사하기 위해서 입니다. )
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk에 있는 System과 usr 디렉터리를
아이패드의 /var/toolchain/iPhoneOS4.3.sdk라는 이름으로 만들어 둡니다.
이렇게 준비해둔 후 컴파일하다가 에러가 나는 프레임워크나 libz.1.2.3.dylib같은 파일이 없다고 하면
그에 맞춰서 /usr/lib라든가 /System/Library/frameworks/OpenGLES같은 곳에 복사해온 프레임워크 파일을 복사해서 문제를 해결합니다.
Makefile을 수정해서 아예 /var/toolchain을 쓰도록 하는것도 나쁘지 않을듯하네요..
그리고 cocos2d 0.99.3을 다운 받아서 역시 아이패드의 /var/toolchain/cocos2d_0.99.3 대충 이름 만들고 놓습니다.
소스는 cocos2d 에 있는 tests디렉터리에 ScenceTest.h 와 m을 가져왔고 main역시도 거기 있는거 가져 왔습니다.
Makefile은 아래처럼 cocos2d를 위해서 추가로 프레임워크 및 libz를 추가했습니다.
( 맥북에서 terminal로 아이패드 ssh접속한 후 vim으로 본 화면을 걍 긁어다 놓아서 보기 안좋네요.. )
1
2 # Makefile for gcc compiler for iPhone
3
4 PROJECTNAME=Scence
5 APPFOLDER=$(PROJECTNAME).app
6 INSTALLFOLDER=$(PROJECTNAME).app
7
8 CC=arm-apple-darwin9-gcc
9 LD=$(CC)
10 LDFLAGS = -arch arm -lobjc -lz
11 LDFLAGS += -framework CoreFoundation
12 LDFLAGS += -framework Foundation
13 LDFLAGS += -framework UIKit
14 LDFLAGS += -framework QuartzCore
15 LDFLAGS += -framework CoreGraphics
16 LDFLAGS += -framework OpenGLES
17 //LDFLAGS += -framework GraphicsServices
18 //LDFLAGS += -framework CoreSurface
19 //LDFLAGS += -framework CoreAudio
20 //LDFLAGS += -framework Celestial
21 //LDFLAGS += -framework AudioToolbox
22 //LDFLAGS += -framework WebCore
23 //LDFLAGS += -framework WebKit
24 LDFLAGS += -L"/usr/lib"
25 LDFLAGS += -F"/System/Library/Frameworks"
26 LDFLAGS += -F"/System/Library/PrivateFrameworks"
27 LDFLAGS += -bind_at_load
28 LDFLAGS += -multiply_defined suppress
29 LDFLAGS += -L"/var/toolchain/cocos2d-iphone-0.99.3/cocos2d"
30 LDFLAGS += -L"/var/toolchain/cocos2d-iphone-0.99.3/external/FontLabel"
31 LDFLAGS += -L"/var/toolchain/cocos2d-iphone-0.99.3/cocos2d/Support"
32
33 CFLAGS = -I"/var/include"
34 CFLAGS += -I"/usr/include"
35 CFLAGS += -F"/System/Library/Frameworks"
36 CFLAGS += -F"/System/Library/PrivateFrameworks"
37 CFLAGS += -I"/var/toolchain/cocos2d-iphone-0.99.3/cocos2d"
38 CFLAGS += -I"/var/toolchain/cocos2d-iphone-0.99.3/external/FontLabel"
39 CFLAGS += -I"/var/toolchain/cocos2d-iphone-0.99.3/cocos2d/Support"
40
41 #CFLAGS += -DDEBUG -O3 -Wall -std=c99 -funroll-loops
42 CFLAGS += -DDEBUG -Wall -std=c99
43 CFLAGS += -DMAC_OS_X_VERSION_MAX_ALLOWED=1050
44
45 BUILDDIR=./build/2.0
46 SRCDIR=./Classes
47 RESDIR=./Resources
48 OBJS=$(patsubst %.m,%.o,$(wildcard $(SRCDIR)/*.m))
49 OBJS+=$(patsubst %.c,%.o,$(wildcard $(SRCDIR)/*.c))
50 OBJS+=$(patsubst %.cpp,%.o,$(wildcard $(SRCDIR)/*.cpp))
51 RESOURCES=$(wildcard $(RESDIR)/*)
52
53 COCOS2D_SRCDIR=/var/toolchain/cocos2d-iphone-0.99.3/cocos2d
54 OBJS+=$(patsubst %.m,%.o,$(wildcard $(COCOS2D_SRCDIR)/*.m))
55 OBJS+=$(patsubst %.c,%.o,$(wildcard $(COCOS2D_SRCDIR)/*.c))
56 OBJS+=$(patsubst %.cpp,%.o,$(wildcard $(COCOS2D_SRCDIR)/*.cpp))
57
58 COCOS2D_SRCDIR2=/var/toolchain/cocos2d-iphone-0.99.3/external/FontLabel
59 OBJS+=$(patsubst %.m,%.o,$(wildcard $(COCOS2D_SRCDIR2)/*.m))
60 OBJS+=$(patsubst %.c,%.o,$(wildcard $(COCOS2D_SRCDIR2)/*.c))
61 OBJS+=$(patsubst %.cpp,%.o,$(wildcard $(COCOS2D_SRCDIR2)/*.cpp))
62
63 COCOS2D_SRCDIR3=/var/toolchain/cocos2d-iphone-0.99.3/cocos2d/Support
64 OBJS+=$(patsubst %.m,%.o,$(wildcard $(COCOS2D_SRCDIR3)/*.m))
65 OBJS+=$(patsubst %.c,%.o,$(wildcard $(COCOS2D_SRCDIR3)/*.c))
66 OBJS+=$(patsubst %.cpp,%.o,$(wildcard $(COCOS2D_SRCDIR3)/*.cpp))
67
68 all: dist
69
70 $(PROJECTNAME): $(OBJS)
71 $(LD) $(LDFLAGS) -o $@ $^
72
73 %.o: %.m
74 $(CC) -c $(CFLAGS) $< -o $@
75
76 %.o: %.c
77 $(CC) -c $(CFLAGS) $< -o $@
78
79 %.o: %.cpp
80 $(CC) -c $(CPPFLAGS) $< -o $@
81
82 dist: $(PROJECTNAME)
83 /bin/rm -rf $(BUILDDIR)
84 /bin/mkdir -p $(BUILDDIR)/$(APPFOLDER)
85 /bin/cp $(RESDIR)/* $(BUILDDIR)/$(APPFOLDER)
86 /bin/cp Info.plist $(BUILDDIR)/$(APPFOLDER)/Info.plist
87 @echo "APPL????" > $(BUILDDIR)/$(APPFOLDER)/PkgInfo
88 /usr/bin/ldid -S $(PROJECTNAME)
89 /bin/cp $(PROJECTNAME) $(BUILDDIR)/$(APPFOLDER)
90
91 install: dist
92 /bin/cp -r $(BUILDDIR)/$(APPFOLDER) /Applications/$(INSTALLFOLDER)
93 @echo "Application $(INSTALLFOLDER) installed"
94 killall SpringBoard
95
96 uninstall:
97 /bin/rm -fr /Applications/$(INSTALLFOLDER)
98 killall SpringBoard
99
100 reinstall: dist
101 /bin/rm -fr /Applications/$(INSTALLFOLDER)
102 /bin/cp -r $(BUILDDIR)/$(APPFOLDER) /Applications/$(INSTALLFOLDER)
103 @echo "Application $(INSTALLFOLDER) installed"
104
105 clean:
106 @rm -f $(SRCDIR)/*.o
107 @rm -rf $(BUILDDIR)
108 @rm -f $(PROJECTNAME)
Info.plist도 번들이름도 Scence으로 바꾸었습니다.
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-
3 <plist version="1.0">
4 <dict>
5 <key>CFBundleDevelopmentRegion</key>
6 <string>en</string>
7 <key>CFBundleExecutable</key>
8 <string>Scence</string>
9 <key>CFBundleIdentifier</key>
10 <string>org.iphone.ScenceApp</string>
11 <key>CFBundleInfoDictionaryVersion</key>
12 <string>6.0</string>
13 <key>CFBundleName</key>
14 <string>Scence</string>
15 <key>CFBundlePackageType</key>
16 <string>APPL</string>
17 <key>CFBundleShortVersionString</key>
18 <string>1.0.0</string>
19 <key>CFBundleSignature</key>
20 <string>????</string>
21 <key>CFBundleVersion</key>
22 <string>1.0</string>
23 <key>SignerIdentity</key>
24 <string>Apple iPhone OS Application Signing</string>
25 </dict>
26 </plist>
대략 첨부파일로 프로젝트 파일을 올려두겠습니다.
make 한 후..
make install하고 ..
실행해보았습니다.
'KB > iPhone 개발' 카테고리의 다른 글
아이패드에서 git 소스 받기 (0) | 2012.08.14 |
---|---|
hid-spport compile (0) | 2012.08.14 |
mac osx 스노우레오파드 10.6.6이상 + xcode 3.2.6 + ios sdk 4.3 (0) | 2011.12.18 |
아이패드 터미널에서 app실행하기 (0) | 2011.12.08 |
아이패드1에서 iSSH 폰트 설정 (0) | 2011.12.06 |