기존 코드를 Embedded Framework로 만드는 방법

4268 단어 XcodeSwiftObjective-C

개요



Embedded Framework로 잘라내는 작업 단계의 메모입니다.

배경


  • 한 프로젝트에서 여러 앱을 만들고 싶습니다
  • Scheme 전환시 빌드가 느립니다
  • 공통 부분은 Framework로 잘라내고 싶다

  • 방법


  • 1. Target에 새로 Cocoa Touch Framework 추가


  • 2. Xcode의 왼쪽 파일 트리에서 옮기려는 여러 파일을 선택하여 새 Target 폴더로 드래그하십시오.




  • 3. 옮긴 파일을 모두 선택하고 마우스 오른쪽 버튼으로 클릭하고 Show in Finder를 선택합니다.


  • 4. Finder에서 선택한 파일을 새 Target 디렉토리로 이동합니다.


  • 5. Xcode로 돌아가서 선택한 상태로 오른쪽 창에서 Identity and Type 아래의 Location 폴더 아이콘을 클릭하여 새 Target 디렉토리를 선택합니다.


  • 6. .m 및 .swift를 선택하여 Xcode의 오른쪽에있는 Target Membership에서 원래 Target을 선택 취소하고 새 Target을 확인합니다.


  • 7. 공개하고 싶은 .h를 선택하고 Xcode의 오른쪽의 Target Membership에서 새로운 Target을 체크하고 Public을 선택한다.


  • 8. 프레임 워크 사용 Target의 Embedded Framework에 작성한 프레임 워크를 추가한다.


  • 9. Modulemap 만들기



  • Shared.modulemap
    framework module Shared {
        umbrella header "Shared.h"
    
        export *
        module * { export * }
    }
    

    추가한 Framework Build Settings Module Map File에 만든 파일 경로 Shared/Shared.modulemap 지정
  • 10. 게시할 헤더를 #import
  • 
    #import <UIKit/UIKit.h>
    
    //! Project version number for Shared.
    FOUNDATION_EXPORT double SharedVersionNumber;
    
    //! Project version string for Shared.
    FOUNDATION_EXPORT const unsigned char SharedVersionString[];
    
    // In this header, you should import all the public headers of your framework using statements like #import <Shared/PublicHeader.h>
    
    #import <Shared/Preference.h>
    

    framework 내에서 objc에서 swift 코드를 호출 할 때의주의


    #include "FooBar-Swift.h"
    대신
    #include <FooBar/FooBar-Swift.h>
    사용

    좋은 웹페이지 즐겨찾기