2012-11-02 2 views
11

저는 Coredata 프레임 워크, Quartzcore 등을 가져 오는 것과 같은 프레임 워크로 다른 프로젝트로 가져올 프로젝트가 있습니다. 어떻게 달성 할 수 있습니까? 내 프로젝트를 다른 프로젝트로 가져올 수있는 라이브러리 또는 프레임 워크로 컴파일하는 방법? 단계를 설명하십시오.Xcode 프로젝트를 정적 라이브러리 또는 프레임 워크로 변환하는 방법은 무엇입니까?

미리 감사드립니다.

답변

4

https://github.com/jverkoey/iOS-Framework 프레임 워크 및 자원 번들 생성을 위해이 링크를 사용해보십시오. 프로젝트에서 사용한 이미지, xib 및 기타 리소스를 묶음으로 정리하고 클래스를 Cocoa Touch 정적 라이브러리 프로젝트로 복사하십시오.

4

당신이 UIKit.framework 같은 '표준'프레임 워크를 컴파일하려면이 다른 Universal Framework iPhone iOS

  1. 'TestPlugin'라는 이름의 새 프로젝트 만들기를 선택 유형 "코코아 터치 정적 라이브러리"시도 . 여기에 'TestPlugin.a'라는 대상이 있습니다.
  2. 새로운 타겟을 추가하십시오. 프로젝트 설정의 왼쪽 구석에있는 이름은 'Add Target'입니다. 'OS X'에서 '프레임 워크 및 라이브러리'에서 '번들'을 선택하십시오. 이 두 번째 대상은 'TestPluginBundle.bundle'입니다.
  3. TestPlugin.a 타겟의 'Build Phrases'설정에서 새로운 'Target Denpendencies'를 추가하십시오. 그러면 .bundle 파일과 .a 파일이 먼저 생성됩니다.
  4. TestPlugin 프로젝트에 '원본'프로젝트 파일 (main.m 및 .xcodeproj 파일 제외)을 모두 복사하여 추가하십시오.
  5. TestPluginBundle의 'Build Phases'설정에서 모든 .xib .png (.jpg) 파일을 'Compile Sources'에 추가하십시오. 공간 리소스 (예 : .wav, .gif 및 .html)를 '번들 리소스 복사'에 추가하십시오.
  6. 주 번들의 리소스를로드하는 모든 코드를 TestPluginBundle의 리소스를로드하는 코드로 바꿉니다. 어쩌면 imageNamed:을 사용하여 [UIImage testPluginImageNamed:@"small.png"]을 사용할 수 있기 때문에 UIImage의 범주를 추가하려고합니다. 프로젝트에서 대체하고 관련 헤더 파일을 쉽게 추가 할 수 있습니다. 예를 들어 .xib 파일을 가지고이 다른 프로젝트에 운영자와 파일 및 .bundle 파일을 추가

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
    { 
        //self = [super initWithNibName:nibNameOrNil bundle:[NSBundle mainBundle]]; 
        // you need to define a method to get the bundle 'TestPluginBundle.bundle', here I used '[TestPlugin TestPluginBundle]' 
        self = [super initWithNibName:nibNameOrNil bundle:[TestPlugin TestPluginBundle]]; 
        ... 
    } 
    
  7. 후. 다른 프로젝트에서는 관련 프레임 워크를 다시 추가해야합니다.

나는 내 작업에이 방법을 성공적으로 사용했습니다.

+0

위의 모든 단계를 수행 한 후 마침내 프레임 워크를 빌드하는 방법을 설명해 주시겠습니까? – booleanBoy

+0

'프레임 워크'는 무엇을 의미합니까? – sunkehappy

+0

나는 xcode 프로젝트에 포함 된 것과 같은 것을 의미했다. coredata, quartzcore 등과 같은 미리 정의 된 프레임 워크. 그런 프레임 워크를 만드는 방법은? – booleanBoy

관련 문제