[objective-c] Swift 프로젝트에서 Objective-C CocoaPods를 사용하는 방법

Swift를 사용하여 Swift 프로젝트에서 Objective-C로 작성된 CocoaPod를 사용할 수있는 방법이 있습니까?

브리징 헤더 만 만드나요? 그렇다면 Swift의 CocoaPod에있는 라이브러리에 의해 정의 된 객체, 클래스 및 필드에 액세스 할 수 있습니까?



답변

귀하의 질문에 대한 기본 대답은 예입니다. CocoaPods로 빌드 된 객관적인 C 코드를 사용할 수 있습니다.

더 중요한 질문은 “이러한 라이브러리를 사용하는 방법”입니다.
이 질문에 대한 답변에 따라 use_frameworks!당신의 깃발 Podfile:
하자 당신이 이름을 사용 오브젝티브 C 포드를 원하는 상상 CoolObjectiveCLib.

포드 파일이 use_frameworks!플래그를 사용하는 경우 :

// Podfile
use_frameworks!
pod 'CoolObjectiveCLib'

그러면 브리지 헤더 파일을 추가 할 필요가 없습니다.
필요한 것은 Swift 소스 파일에 프레임 워크를 가져 오는 것입니다.

// MyClass.swift
import CoolObjectiveCLib

이제 lib에있는 모든 클래스를 사용할 수 있습니다.

포드 파일이 use_frameworks!플래그를 사용하지 않는 경우 :

// Podfile
pod 'CoolObjectiveCLib'

그런 다음 브리징 헤더 파일을 만들고 필요한 모든 Objective-C 헤더를 가져와야합니다.

// MyApp-Bridging-Header
#import "CoolObjectiveCLib.h"

이제 가져온 헤더에 정의 된 모든 클래스를 사용할 수 있습니다.


답변

podFile에서 use_frameworks! Pod종속성 의 폴더 구조에있는 Xcode 내 xxxxxxx-umbrella.h에서 지원 파일 을 추가 합니다.

당신에 {PROJECT_NAME}-Bridging-Header.h사용 :

#import "xxxxxxx/xxxxxxx-umbrella.h"

그것은 나를 위해 작동합니다.


답변

브리징 헤더가 필요하고 필요한 것을 가져옵니다.


답변

그리고 Bridging Header 파일 이름을 Target-> Build Settings-> Objective-C Bridging Header에 추가하는 것을 잊지 마십시오.


답변