xcframework 만들기(2차)
지난번 이후 Swift에서 xcframework를 만들고 사용하는 절차를 정리합니다.
이번에는 3단계다.지원되지 않는 문제
●xcframework의 제작, 사용 절차
1. 프로젝트 만들기
2.xcframework에서 생성된 구축 설정
3.Objective-C 대응
4. 테스트용 어플리케이션 만들기
3.Objective-C 대응 @objc
또는 @objcMembers
속성을 설정하여 Swift에서 정의한 방법과 클래스도 Objective-C에서 얻을 수 있도록 합니다.@objc
는 특정 방법만 사용하고, @objcMembers
는 전체 종류를 사용하는 방법에 사용한다.
여기에서 우리는 지난번에 만든 클래스의 방법 @objc
속성을 설정할 것입니다.
Ore.swiftimport UIKit
public class Ore: NSObject {
@objc public func oreMethod(){
print("Hello Ore XCFramework");
}
}
Objective-C에서 xcframework 이하로 정의된 <프로젝트 이름>-Swift를 참조할 수 있습니다.h에서 묘사한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다.
지난번에 구축된 xcframework에서 @objc
속성을 설정하기 전에 다음과 같이 설명합니다.
OreXCFramework-Swift.h(@objc 설정 전)(略)
SWIFT_CLASS("_TtC14OreXCFramework3Ore")
@interface Ore : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
(略)
@objc
속성을 설정한 후 xcframework를 다시 구축합니다.
그리고 다음과 같이 출력 내용이 변경되어 oreMethod()를 참조할 수 있습니다.
OreXCFramework-Swift.h(@objc 설정 후)(略)
SWIFT_CLASS("_TtC14OreXCFramework3Ore")
@interface Ore : NSObject
- (void)oreMethod;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
(略)
4. 테스트용 어플리케이션 만들기
xcframework의 기능을 테스트하는 프로그램을 만듭니다.이번에는 xcframework와 같은 프로젝트에 각각 Swift 버전, Objective-C 버전의 테스트 응용 프로그램을 추가하기로 했다.
4.1.Swift 버전 테스트용 어플리케이션 제작
xcframework 항목에서 메뉴에서 "File"→ "New"→ "Target"을 선택합니다.템플릿의 선택 화면에서 Single ViewApp을 선택합니다.
선택 화면으로 이동합니다.Language에서 "Swift"를 선택하고 Product Name에서 테스트 응용 프로그램 이름을 지정하여 "Finish"를 선택합니다.
이 테스트 응용 프로그램의 이름은 "OreSwiftTestApp"입니다.
테스트 프로그램에서 프레임워크를 활용하는 설정을 합니다.
"TARGETS"에서 Swift 버전 테스트 응용 프로그램의 "OreSwiftTest App"을 선택하고 "General"탭을 선택하십시오.프레임워크, 구조, 삽입식 내용에 구축된 xcframework를 드래그합니다.
테스트 응용 프로그램의 ViewController에 프레임워크를 사용하는 코드를 기술합니다.
ViewController.swiftimport UIKit
import OreXCFramework
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Ore().oreMethod()
}
}
응용 프로그램을 구축하고 동작을 확인합니다.
이번 xcframework는 로그 출력을 진행합니다. 로그 출력을 확인하기 위해 Xcode의 디스플레이 설정을 변경합니다.화면 상단의 도구 모음에서 디버그 영역을 표시하는'Hide or show the Debug Area'단추를 선택하십시오.그런 다음 화면 아래쪽에 있는 [콘솔 표시] 버튼을 선택합니다.
화면의 실행 설정이 테스트 응용 프로그램(OreSwiftTestApp)으로 설정되어 있는지 확인한 후 실행 단추를 선택합니다.만약 xcframework의 내장에 문제가 없다면, 컨트롤러에 다음 문자가 표시될 것입니다(Hello Ore XCframework).
4.2.Objective-C 버전 테스트용 어플리케이션 제작
xcframework 항목에서 메뉴에서 "File"→ "New"→ "Target"을 선택합니다.템플릿의 선택 화면에서 Single ViewApp을 선택합니다.
선택 화면으로 이동하여 언어에서 "Objective-C"를 선택하고 Product Name에서 "테스트 응용 프로그램 이름"을 지정한 다음 "Finish"를 선택합니다.
테스트 프로그램에서 프레임워크를 활용하는 설정을 합니다.
"TARGETS"에서 Objective-C 버전 테스트 응용 프로그램의 "OreObjectiveCTest App"을 선택하고 "General"탭을 선택하십시오.프레임워크, 구조, 삽입식 내용에 구축된 xcframework를 드래그합니다.
테스트 응용 프로그램의 ViewController에 프레임워크를 사용하는 코드를 기술합니다.
xcframework의 헤더 파일은 "(프로젝트 이름)/(프로젝트 이름) - Swift.h"에서 참조할 수 있습니다.
ViewController.m#import "ViewController.h"
#import "OreXCFramework/OreXCFramework-Swift.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
id oreObj;
oreObj = [[Ore alloc] init];
[oreObj oreMethod];
}
@end
응용 프로그램을 구축하고 동작을 확인합니다.xcframework의 내장에 문제가 없으면 Swift 버전과 마찬가지로 콘솔에 문자가 표시됩니다 ("Hello Ore XCframework").
"xcfamework 만들기"를 소개했습니다.어때요?
내일, "새로운 사무실의 시부야fukuras에서 엔지니어 이벤트'GMO Developers Night'를 개최합니다!"태그 요소의 표시 속성을 수정합니다.
계속 즐겨주세요GMO 광고 컨설턴트 달력 2019!
Reference
이 문제에 관하여(xcframework 만들기(2차)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tfactory/items/07b587a400509314ce63
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import UIKit
public class Ore: NSObject {
@objc public func oreMethod(){
print("Hello Ore XCFramework");
}
}
(略)
SWIFT_CLASS("_TtC14OreXCFramework3Ore")
@interface Ore : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
(略)
(略)
SWIFT_CLASS("_TtC14OreXCFramework3Ore")
@interface Ore : NSObject
- (void)oreMethod;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
(略)
xcframework의 기능을 테스트하는 프로그램을 만듭니다.이번에는 xcframework와 같은 프로젝트에 각각 Swift 버전, Objective-C 버전의 테스트 응용 프로그램을 추가하기로 했다.
4.1.Swift 버전 테스트용 어플리케이션 제작
xcframework 항목에서 메뉴에서 "File"→ "New"→ "Target"을 선택합니다.템플릿의 선택 화면에서 Single ViewApp을 선택합니다.
선택 화면으로 이동합니다.Language에서 "Swift"를 선택하고 Product Name에서 테스트 응용 프로그램 이름을 지정하여 "Finish"를 선택합니다.
이 테스트 응용 프로그램의 이름은 "OreSwiftTestApp"입니다.
테스트 프로그램에서 프레임워크를 활용하는 설정을 합니다.
"TARGETS"에서 Swift 버전 테스트 응용 프로그램의 "OreSwiftTest App"을 선택하고 "General"탭을 선택하십시오.프레임워크, 구조, 삽입식 내용에 구축된 xcframework를 드래그합니다.
테스트 응용 프로그램의 ViewController에 프레임워크를 사용하는 코드를 기술합니다.
ViewController.swift
import UIKit
import OreXCFramework
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Ore().oreMethod()
}
}
응용 프로그램을 구축하고 동작을 확인합니다.이번 xcframework는 로그 출력을 진행합니다. 로그 출력을 확인하기 위해 Xcode의 디스플레이 설정을 변경합니다.화면 상단의 도구 모음에서 디버그 영역을 표시하는'Hide or show the Debug Area'단추를 선택하십시오.그런 다음 화면 아래쪽에 있는 [콘솔 표시] 버튼을 선택합니다.
화면의 실행 설정이 테스트 응용 프로그램(OreSwiftTestApp)으로 설정되어 있는지 확인한 후 실행 단추를 선택합니다.만약 xcframework의 내장에 문제가 없다면, 컨트롤러에 다음 문자가 표시될 것입니다(Hello Ore XCframework).
4.2.Objective-C 버전 테스트용 어플리케이션 제작
xcframework 항목에서 메뉴에서 "File"→ "New"→ "Target"을 선택합니다.템플릿의 선택 화면에서 Single ViewApp을 선택합니다.
선택 화면으로 이동하여 언어에서 "Objective-C"를 선택하고 Product Name에서 "테스트 응용 프로그램 이름"을 지정한 다음 "Finish"를 선택합니다.
테스트 프로그램에서 프레임워크를 활용하는 설정을 합니다.
"TARGETS"에서 Objective-C 버전 테스트 응용 프로그램의 "OreObjectiveCTest App"을 선택하고 "General"탭을 선택하십시오.프레임워크, 구조, 삽입식 내용에 구축된 xcframework를 드래그합니다.
테스트 응용 프로그램의 ViewController에 프레임워크를 사용하는 코드를 기술합니다.
xcframework의 헤더 파일은 "(프로젝트 이름)/(프로젝트 이름) - Swift.h"에서 참조할 수 있습니다.
ViewController.m
#import "ViewController.h"
#import "OreXCFramework/OreXCFramework-Swift.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
id oreObj;
oreObj = [[Ore alloc] init];
[oreObj oreMethod];
}
@end
응용 프로그램을 구축하고 동작을 확인합니다.xcframework의 내장에 문제가 없으면 Swift 버전과 마찬가지로 콘솔에 문자가 표시됩니다 ("Hello Ore XCframework")."xcfamework 만들기"를 소개했습니다.어때요?
내일, "새로운 사무실의 시부야fukuras에서 엔지니어 이벤트'GMO Developers Night'를 개최합니다!"태그 요소의 표시 속성을 수정합니다.
계속 즐겨주세요GMO 광고 컨설턴트 달력 2019!
Reference
이 문제에 관하여(xcframework 만들기(2차)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tfactory/items/07b587a400509314ce63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)