IPhone & IPad/작은 팁2011/06/02 16:53
개발하다보면 Common Module 혹은 Common Library 등.. 이런 뉘앙스의 이름으로 불리는 녀석들이 있다.
개발하는데 공통적으로 쓰이는 것들을 모아놓은 녀석들을 지칭하는 말인데,
cocoa에서는 이렇게 안부르고 static library라고 부른다.

iPhone, iPad의 경우 시뮬레이터가 있다보니 시뮬레이터(simulator)용, 디바이스(device)용 이렇개 2가지를 만들어서 상황에 맞게 사용을 해야 하는데, 이게 참 번거로운 일이다.

생각해보라.
시뮬레이터로 테스트 할땐 시뮬레이터용 라이브러리를 넣고
디바이스에서 테스트 할땐 시뮬레이터용 라이브러리를 삭제하고, 디바이스용 라이브러리를 넣고
다시 시뮬레이터로 테스트 할땐 디바이스용 라이브러리를 지우고, 시뮬레이터용 라이브러리 넣고.
지금 TAd(SK T에서 제공하는 광고)가 이렇게 구현되어 있다.

하지만, 다행스럽게도 라이브러리를 하나로 합칠 수 있다.
lipo를 이용하면 되는데, 잠시 후에 언급하겠다.

1. 라이브러리로 만들 프로젝트 생성


라이브러리로 만들 프로젝트를 새로 만든다. 이때 타입은 Cocoa Touch Static Library이다. 
iOS > Framework & Library > Cocoa Touch Static Library


Library라는 이름으로 프로젝트를 생성했고, 공통으로 쓰이는 모듈을 모아놓은 파일을 프로젝트에 추가를 한다.
Common.h, Common.m 파일을 추가했다.


2. 시뮬레이터용(simulator) Target 만들기.


새로운 Target을 추가를 하는데, Target의 타입 또한 Cocoa Touch Static Library이다.


시뮬레이터용 라이브러리이므로, Target이름은 Library-Simulator로 하겠다. (네이밍은 본인 마음대로)


그리고 파일을 Build Phases에 추가를 해야 한다.
헤더(.h) 파일은 Copy Headers에, 소스(.m)파일은 Compile Sources에 드래그&드랍(Drag&Drop)으로 추가를 한다.
Header는 Public, Private, Project 이렇게 3가지 타입을 가지고 있다. 목적에 맞는곳에 넣으면 되며, 기본값은 Project이다.


그리고 마지막으로 Scheme 타입에 Build Configuration을 Release로 변경한다.
Product > Edit Scheme


3. 디바이스용(device) Target 만들기.


2. 시뮬레이터용(simulator) Target 만들기.와 똑같은 작업의 반복이다. 이름만 다른것으로 바꿔주면 된다.
Library-Device라고 하겠다.


4. Targets 합치기.


위에서 언급했던대로, 지금 만든 2개의 Target을 하나로 합치는 Target을 만든다.
이번에도 Add Target을 하는데, Aggregate로 만든다.
Other > Aggregate


이름은 Library-iOS4.0 으로 하겠다.
이번에도 마찬가지로 Edit Scheme에서 Build Configuration을 Release로 변경한다.


Run Script를 추가를 한다.
Add Build Phases > Add Run Script


그리고 나서 lipo를 이용한 두 Target을 Merge하는 구문을 넣는다.

rm -rf ${BUILT_PRODUCTS_DIR}/libLibrary-ios4.0.a 

lipo -create "${BUILT_PRODUCTS_DIR}/../${BUILD_STYLE}-iphonesimulator/libLibrary-Simulator.a" \
"${BUILT_PRODUCTS_DIR}/libLibrary-Device.a" -output \
"${BUILT_PRODUCTS_DIR}/libLibrary-ios4.0.a"

보시다시피 sh 명령어이다. 파일명은 본인의 상황에 맞게 수정하면 된다.
위 명령어를 보면 대충 파악 되겠지만, 두개의 .a를 하나의 .a로 Merge해주는 명령어다.
지금은 빌드를 안했기 때문에 libLibrary-simulator.a와 libLibrary-device.a가 없다. 
여기서 주의할점은, 빌드를 하면 lib이 접두어로 붙게 된다. 그러므로 .a 파일명에 접두어로 lib을 붙이는걸 잊지말자. 


5. 빌드하기


자, 이제 세팅은 완료가 되었다. 각각의 Target을 Build해주면 된다.


먼저, Library-simulator 빌드!


이젠 Library-Device 빌드!


Library-simulator.a, Library-device.a 파일 모두 생성되었다.



마지막으로 Library-iOS4.0 빌드!


이제 만들어진 libLibrary-iOS4.0.a를 사용하면 되는데, 이 녀석의 위치는
libLibray-Device.a를 우클릭해서 Show in Finder로 보면 Finder가 열리는데, 그 위치에 있다.


이제 libLibrary-ios4.0.a와 Common.h 파일을 작업중인 프로젝트에 넣어서 사용하면 끝!

만약. libLibrary-ios.4.0 빌드를 실패했다면 십중팔구 파일을 lipo에서 파일을 못찾아서 나는 에러이다.
아래 4가지 항목을 체크해보면 해결 될 것이다.
  • 만들어놓은 Target들의 Build Configuration이 Release로 되어 있는지
  • Library-simulator는 Simulator로 빌드했는지
  • Library-device는 device로 빌드했는지
  • Library-ios는 device로 빌드했는지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/193 관련글 쓰기

댓글을 달아 주세요

  1. 반딧불 축제는 두시간 반 걸려서 가서 그것만 보기에는 좀 작고 덥고 볼것도 많지는 않은 듯 했지만 - 더워서 자세히 보지도 못했지만. - 점심먹은 적상면에 순두부마을 음식들이 너무 맛있어서 계곡 구경도 하고 찜질방도 가고 - 나는 안즐기는지라 안가지만 - 곤돌라 타고 경치구경도 한번 해도

    2011/06/16 20:05 [ ADDR : EDIT/ DEL : REPLY ]

IPhone & IPad/작은 팁2011/03/14 17:13
XCode4로 업데이트 되면서 App 등록을 시킬려고 했더니.. 이거 뭔가 잘 안된다.
그래서 가볍게 구글링 해봤는데.. 없다. (다들 아는걸 나만 모르고 있었나?;;)
어쩔 수 없이 XCode 페이지에서 Xcode 4 Transition Guide를 살펴보니 끝트머리(96 of 98)에 나와있다.
만약 검색안하고 처음부터 살펴봤으면(물런 그럴일은 없겠지만)... 끔찍하다 -ㅅ-;
뭐 암튼 어떻게 바뀌었는지 정리 한번 해봤다.

과거 App Upload방식의 변경이 웹페이지에서 직접 파일을 업로드 하는 방식에서, File Upload 부분만 Application Loader로 바뀌었었다면. 이번엔 Upload하기 전 과정이 바뀌었는데, Archive(새로 추가됨)를 이용하도록 변경되었다.

어떻게 바뀌었는지 둘러보자.
아참. 웹페이지에서 하던일은 똑같이 해줘야 한다. 순전히 XCode에서의 작업만 변경되었다.

1. Build Configuration, Distribution?
1-1. XCode3에서 넘어온 경우
XCode3에서 Build Configure "Distribution"을 만들어서 사용했던 경우인데, 
 Archive Build Configuration만 변경해줘도 되고 아래 1-2 방법을 사용해도 된다.

Editor에서 Edit Scheme를 클릭


Archive가 Release로 선택되어 있는데, 이를 Distribution으로 변경.


1-2. 새로 프로젝트를 만든 경우 (CodeSign 적용)
 
과거에는 Build Configuration에서 Release를 복사해서 Distribution을 만들었었는데 XCode4에서는 어떻게 Distribution을 만드는지 모르겠다.
이런 프로세스 자체가 사라진것 같은데, 개인적인 추측으론 쓸대없이 Distribution만들지말고 Release쓰라고 그런게 아닐까? 한다.
암튼 돌아와서, Release의 CodeSign만 변경해주면 된다.

 
Project Navigator에서 현 프로젝트를 선택한 후 Build Setting 탭으로 이동 (아래 캡쳐에서는 탭이 짤려서 안나온다)
여기서 Release CodeSign을 Distribution용 CodeSign으로 선택


결국 이 과정은 CodeSign을 맞추는 과정이다.

2. Archive
Organizer의 Archives 에 등록을 해야먄 App을 Upload할 수 있다.
현재는 아무것도 없는 상태


Editor로 돌아와서, iOS Device로 시뮬레이터 선택


Product -> Archive를 실행

Archive를 위한 Compiling중.

Compile이 끝나고 Organizer를 확인해보면, Archive한 App이 나타난다.
여기서 Submit 버튼을 누르면 AppStore 등록 프로세스로 넘어간다.



3. App Store에 등록
여기서부터는 과거 Application Loader 방식과 동일하다고 보면 된다.
Organizer에서 Submit을 하면, 로그인창이 나오는데, 개발 계정으로 접속을 하면 된다.

로그인을 하면, Application과 CodeSign이 나오는데, 웹페이지(개발센터)에서 Ready for Upload인 App들만 나온다. (과거와 동일)

Next누르면 Upload가 시작된다.

Upload가 끝나면 이런 화면이 뜨는데..
이슈거리가 있으면 어떤 화면이 뜰지 모르겠다. 인증서가 잘못되면 여기서 걸리지 않을까 추측해본다.

Status를 확인해보면 Submitted라고 나온다.


웹페이지(개발센터)로 가서 한번 확인해보면, "Upload Received"

몇초후 Reload하니 "Waiting For Review"로 status가 변경되었다.


4. 정리

   XCode3 XCode4
 Distribution 만들기 (CodeSign)  1. Info 에서 Release 복사해서 Distribution 타입 만들기.  1. Schema에서 Archive의 Build Type을 Distribution으로 변경 혹은 Release의 CodeSign 변경
 Compile 및 Upload 준비
 2. Distribution으로 Build.
 3. Compress
 2. Product -> Archive
 App Upload
 4. Application Loader를 이용해서 Upload.  3. Organizer -> Submit

Finder왔다갔다 할 필요 없이 XCode내에서 클릭 먗번으로 줄여줬고,
Application Loader를 이용해서 Upload하는 방식은 변하지 않았다.





크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/185 관련글 쓰기

댓글을 달아 주세요

  1. 도움감사

    감사합니다.
    xcode4가 많이 변경되어서 힘들어 하고 있었는데 덕분에 해결했습니다.
    스크랩 해 가겠습니다.

    2011/03/15 11:36 [ ADDR : EDIT/ DEL : REPLY ]
    • 도움이 되셨다니, 다행이네요
      소중한 댓글 감사합니다!! ;)

      - 본문내용이 추가가 되었습니다.

      2011/03/16 13:56 [ ADDR : EDIT/ DEL ]
  2. 비기너

    바뀐 Xcode4 버전에 적응못하고 헤매고있었는데
    좋은 정보 감사합니다.
    스크랩 해 가겠습니다~^^

    2011/03/16 11:04 [ ADDR : EDIT/ DEL : REPLY ]
  3. 비밀댓글입니다

    2011/03/16 22:04 [ ADDR : EDIT/ DEL : REPLY ]
  4. JombieDeveloper

    감사합니다. 정말 도움이 됬어요.

    2011/03/29 19:12 [ ADDR : EDIT/ DEL : REPLY ]
  5. Rainstar

    Release를 복사해 Distribution 만드는 법이요..
    Project에서 info로 가셔서요.
    configurations에서 밑에 보면 +,- 가 있는데요 여기 +를 누르시면 Release를 복사할수 있어요.. 후에 이름을 Distrubution으로 변경 후 CodeSign을 변경해서 쓰시면 되겠죠.. 릴리즈 모드에서 테스트 하실일이 많으실 테니 릴리즈를 배포용 컴파일로 사용하면 좀 귀찮으실 거예요.. ^^

    정보 정말 잘 얻어 갑니다. 그 후에 도데체 어떻게 해야 하는지 당황하고 있었는데 감사합니다.

    2011/03/30 15:39 [ ADDR : EDIT/ DEL : REPLY ]
    • 아, 그렇게 추가를 해도 되긴 합니다만,
      결국 해당 Schema의 Archive에 가서 CodeSign을 변경을 해줘야 해서요.. ㅎㅎ
      (근데 제가 제대로 이해한거 맞나요? ㅎㅎ)

      2011/03/31 10:19 [ ADDR : EDIT/ DEL ]
  6. 이 글은 정말 도움되네요. 감사합니다.

    2011/04/27 11:54 [ ADDR : EDIT/ DEL : REPLY ]
  7. 이근수

    감사합니다. 큰 도움이 되었습니다 ㅠㅠ

    2011/04/28 14:33 [ ADDR : EDIT/ DEL : REPLY ]
  8. 즐겨찾기

    감사합니다~! 4오면서 애먹었는데
    바로 즐겨찾기 누질렀습니다!

    2011/06/03 14:17 [ ADDR : EDIT/ DEL : REPLY ]
  9. 방랑군

    좋은정보 얻어갑니다.
    http://support.testflightapp.com/kb/tutorials/how-to-create-an-ipa-xcode-4
    이건 구글링은 통해 알아본건데, 어차피 CodeSign변경을 한다면.. 새로 배포용 Schema를 추가해서 사용하는 방법이네요.Release를 변경 안해도 되니.. 이방법도 괜찮은듯 합니다.

    2011/06/14 03:41 [ ADDR : EDIT/ DEL : REPLY ]
  10. 랑유

    감사합니다 >ㅂ<//

    2011/07/14 22:28 [ ADDR : EDIT/ DEL : REPLY ]
  11. 좋은 정보 제공해 주셔서 도움 받고 갑니다. 감사합니다.

    2011/09/15 09:58 [ ADDR : EDIT/ DEL : REPLY ]
    • 스크랩 한다는 말씀을 못드렸네요.
      스크랩 해가겠습니다 ^^

      2011/09/15 11:17 [ ADDR : EDIT/ DEL ]
  12. heywb

    질문잇습니다 디버깅모드에서 distribute가 나오지 않으면 어떻게 해야하나요 ?

    2011/11/07 18:13 [ ADDR : EDIT/ DEL : REPLY ]
  13. 여름의달

    처음이런건 쓰게 되는군요~~

    너무 감사합니다.^^

    완전 헛짓하던 일인.ㅋㅋㅋ

    2012/02/28 18:24 [ ADDR : EDIT/ DEL : REPLY ]
  14. alice

    완전감사합니다. 하루종일 헤메었는데 속이 다 시원하네요.

    2012/04/10 19:57 [ ADDR : EDIT/ DEL : REPLY ]
  15. 변경을 한다면.. 새로 배포용 Schema를 추가해서 사용하는 방법이네요.Release를 변경 안해도 되니.. 이방법도 괜찮은듯 합니다

    2012/05/04 21:28 [ ADDR : EDIT/ DEL : REPLY ]
  16. 가 있는데요 여기 +를 누르시면 Release를 복사할수 있어요.. 후에 이름을 Distrubution으로 변경 후 CodeSign을 변경해서 쓰시면 되겠죠.. 릴리즈 모드에서 테스트 하실일이 많으실 테니 릴리즈를 배포용

    2012/05/05 06:05 [ ADDR : EDIT/ DEL : REPLY ]
  17. 제공해 주셔서 도움 받고 갑니다. 감사합니다.

    2012/05/05 06:05 [ ADDR : EDIT/ DEL : REPLY ]
  18. 여기 +를 누르시면 Release를 복사할수 있어요.. 후에 이름을 Distrubution으로 변경 후 CodeSign을 변경해서 쓰시면 되겠죠.. 릴리즈 모드에서 테스트 하실일이 많으실 테니 릴리즈를 배포용

    2012/05/11 17:13 [ ADDR : EDIT/ DEL : REPLY ]

IPhone & IPad/작은 팁2010/08/09 10:53
푸쉬하다가 인증서가 엉켜서 새로 인증서를 받고 추가를 할려니..
아래와 같은 에러 메세지를 꽥 내고.. 인증서 추가를 안해주더군요. 고얀놈!
자 모두 함께 읽어보고 이해해봅시다.

 
 "시스템 루트" 키체인을 수정할 수 없습니다.
루 트 인증의 신뢰 여부를 변경하려면, 키체인 연결에 있는 루트 인증을 열고 신뢰 설정을 수정하십시오. 현재 사용자를 위해 새로운 루트 인증을 로그인 키체인으로 추가하거나 이 컴퓨터의 모든 사용자가 공유해야 한다면 시스템 키체인으로 추가해야 합니다

응? 읽어봐도 문말인지 모르겠습니다.
이것 때문에 보낸 시간과 스트레스를 생각하면..

해결방법은 간단합니다.
다운받은 인증서를 Drag&Drop으로 키체인의 로그인에 놓으면 됩니다.


결국 문제는 Double-Click시 멍청한 눈탱이표범이 시스템 루트로 인증서를 추가하려 했던것이지요.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/177 관련글 쓰기

댓글을 달아 주세요

IPhone & IPad/작은 팁2010/07/22 12:48

UIView.backgroundColor = [UIColor clearColor];



ps. IB에서 Opaque, Alpha 조절해도 투명 안될때 해보세요.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/176 관련글 쓰기

댓글을 달아 주세요

IPhone & IPad/작은 팁2010/07/05 18:05
GlobalVariable.m

static NSString *GlobalVariable;


@implementation GlobalVariable


...


- (void)setGlobalVariables {

...

GlobalVariable = [[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)] retain];

}

여기서 중요한것은 SQLite에서 뽑아온 값을 retain 하는것입니다.
물런 그냥 NSString도 마찬가지겠죠?

뭐 이유는 당연히 릴리즈때문. ㅎㅎ;

ps. 다들 아실만한 것들이라.. 올리기도 민망한;;
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/175 관련글 쓰기

댓글을 달아 주세요

IPhone & IPad/작은 팁2010/06/28 16:50

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

return YES;

}


했는데도 Rotate가 안될때.


pushViewController할때의 코드가 만약 alloc만으로 되어 있는 코드라면


subView = [subViewController alloc];

[navigationController pushViewController:subView animated:YES];


initialize한 후 pushViewController를 하면 됩니다.


subViewController = *subView = [[subViewController allocinit];

[navigationController pushViewController:subView animated:YES];

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/174 관련글 쓰기

댓글을 달아 주세요

IPhone & IPad/작은 팁2010/04/30 06:02

- 증상

앱 개발중 sqlite부분을 구현중이었습니다.

어느순간부터 컴파일시 이유를 알 수 없는 에러가 뜨더군요.

ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libsqlite3.0.dylib, missing required architecture i386 in file
ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libSystem.dylib, missing required architecture i386 in file
ld: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libobjc.A.dylib, missing required architecture i386 in file
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

(결론만 알고 싶은분은 아래로 스크롤 퀵다운 하세요 ㅎㅎ)



-하소연잡소리

어느라인에서 에러가 났는지 트래킹도 안해주더군요..

이때 직감했습니다.. "지금시각 새벽3시.. 오늘 잠 다잤다."


sqlite붙이면서 작성했던 코드.. 메쏘드 하나씩 주석으로 처리를 했는데도.. 여전히 저 에러는 뜨더군요.

그래서 코드자체를 지워봤는데도.. 여전히 뜨는겁니다.

혹시나 싶어 초창기때 떠논 스냅샷으로 했는데도 뜨더군요.

이때 직감했습니다.. "지금시각 새벽 3시 30분.. 오늘 잠 다잤다."



맥부기와서 "gcc-4.2 failed with exit code 1"로 검색을 해봅니다.

질문글들은 있는데.. 대부분 무플.. 그나마 있는 답변은 저랑 케이스가 안맞더군요.


구글에서 검색했습니다.

역시 건질거 없습니다.


포기하고 잘까하다가..

시뮬레이터 버전을 바꿔봅니다.

역시 변하는거 없습니다.


침착하게 맘먹고.. 에러코드를 찬찬히 봅니다.

그랬더니 눈에 안보이던 에러코드가 보입니다.

d: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libsqlite3.0.dylib, missing required architecture i386 in file
ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libSystem.dylib, missing required architecture i386 in file
ld: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib/libobjc.A.dylib, missing required architecture i386 in file

이번에 추가한 libsqlite3.0.dylib는 링크파일이어서 못찾나? 했는데...

libSystem.dylib랑 libobj.cd.A.dylib은 기존에 있던것들인데 missing이라고 하는게 의심스럽더군요.

이때 직감했습니다.. "오늘밤 잘 수 있겠구나.."


다시 맥부기로와서

"missing required architecture i386 in file" 검색합니다.

와우!!! 검색결과가 없답니다....


구글로 가서 검색을 합니다.

그중 뭔가 냄새가 나는글을 포착.. 링크에 링크를 타다보니.. stackoverflow.com에 저와 동일한 증상에 대한 질문이 있고 답글이 있더군요. (제가 RoR하는데 종종 stackoverflow.com에서 도움받았는데.. stackoverflow.com최고!!)

거기에 나와있는 해결책대로하니..

젠장......... 잘됩니다 ㅠ,.ㅠ

지쟈스.. 감사합니다. ㅠ,.ㅠ

이거 안되면

#1 일단 걍 잔다

#2 아침에 SDK새로깐다.

#3 그래도 안되면 다....다...다....다시 짠다.


자.. 저의 재미없는 하소연을 읽느라 지루하셨죠~?

이제 그 마법의 비법을 소개해드리겠습니다.



- 해결책

#1 문제가 있는 프로젝트의 프로젝트코드를 textmate나 textedit같은 text editor로 열어제낍니다.

예) example.xcodeproj

전 textmate로 열었습니다.


#2 textmate로 열면 3개의 파일이 나타나는데 그 중 project.pbxproj를 오픈합니다.



#3 그리고 FRAMEWORK_SEARCH_PATHS 혹은 LIBRARY_SEARCH_PATHS의 경로를 상황에 맞게 적절하게 수정해줍니다.

저같은 경우 이렇게 되어 있더군요.

LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/usr/lib\"",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib\"",
);

네.. 그렇습니다 문제는 여기 있었던겁니다.

외부 프레임웤 파일을 추가할때(libsqlite3)이 경로도 변경이 된 것이죠... -ㅅ-; 버그죠. (전 스노우 레오파드입니다.)

벅차오르는 분노와.. 해결할 수 있다는 기쁨과 희망이 오묘하게 교차하는 순간이었습니다. ㅎㅎ

전 아래와 같이 수정해주었습니다.

LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Library/Frameworks\"",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/Frameworks\"",
);


이렇게 수정후 컴파일하니.. 시뮬레이터 잘 뜹니다.

네.. 제가 짠 sqlite부분은 문제가 없었던 것이었습니다.!!! (역시 난 틀리지 않았어!! ㅎㅎ)

정말로 기쁘더군요..

저의 기쁜 마음을 알아주는건지.. 창밖은 서서히 밝아오고..-ㅅ-


문제를 해결한 기쁜마음이 있을때 이렇게 써놓아야지.. 안그러고 자고나면 귀차니즘으로 안쓸걸 알기에..

이렇게 앞뒤문맥따위 예쁘게 무시해버린 글을 휘갈겨놓습니다.


참고링크http://stackoverflow.com/questions/1456185/build-error-missing-required-architecture-i386-in-file/1467238#1467238

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Johan Kim hiphapis

TRACKBACK http://hiphapis.net/trackback/173 관련글 쓰기

  1. hiphapis의 생각  삭제

    2010/05/02 18:56TRACKBACK FROM hiphapis' me2DAY

    아이폰 앱개발시 코드는 문제 없는데 이유를 알 수 없는 에러가 날때..

댓글을 달아 주세요

  1. coreagt

    감사합니다.
    덕분에 해결했습니다.
    저 같은 경우엔 simulator 쪽 library 경로를 주석 처리 하니 잘 되었네요.

    2011/02/17 11:17 [ ADDR : EDIT/ DEL : REPLY ]
  2. NewToXcode

    *.xcodeproj 경로;;;?? 잘모르겠어요... project.pbxprj 파일또한;;; 어디있는지;

    2011/05/30 02:13 [ ADDR : EDIT/ DEL : REPLY ]
    • xcodeproj는, xcode에서 프로젝트를 생성했을시 생기는 파일입니다.
      이 파일을 열면 해당 프로젝트가 xcode에서 열리게 되지요.

      pbxprj는, 위에 적은 xcodeproj를 textmate(혹은 textedit등의 text기반 editor)로 여시면 나오는 파일입니다.

      2011/06/02 14:42 [ ADDR : EDIT/ DEL ]
  3. 감사합니다.
    거슬리는 오류였는데.. 덕분에 해결 되었네요~!! ^^
    즐거운 하루 보내십시용~! ^^

    2011/07/01 16:52 [ ADDR : EDIT/ DEL : REPLY ]
  4. textmate

    텍스트 메이트를 썼는데 작성자님처럼 안나와요....

    ImageTargets.xcodeproj/
    project.pbxproj
    project.xcworkspace/
    contents.xcworkspacedata
    xcuserdata/
    whalesprogram.xcuserdatad/
    UserInterfaceState.xcuserstate
    xcuserdata/
    whalesprogram.xcuserdatad/
    xcschemes/
    ImageTargets.xcscheme
    xcschememanagement.plist
    이렇게만 뜨고 선택할수없던데 이건 왜그런건가요?

    2011/08/03 14:36 [ ADDR : EDIT/ DEL : REPLY ]
  5. textedit 로 열면 .xcodeproj 파일이 안열리네요 ㅠㅠ
    비활성화된 버튼상태 ㅠㅠ

    2011/08/06 14:28 [ ADDR : EDIT/ DEL : REPLY ]