Можно ли использовать RealityKit с Objective-C?

Как сказано в названии, можно ли использовать RealityKit с objective-c? Я пробовал использовать как ARView, так и создать простую быструю оболочку для ARView.

#import "ViewController.h"
#import "TestARView-Bridging-Header.h"
#import "TestARView-Swift.h"

@class ARTestView;
@class ARView;

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    ARTestView* a = [[ARTestView alloc] init];
    ARView* a = [[ARView alloc] init];
}

При компиляции я получаю сообщение об ошибке из файла RealityKit-Swift.h:

Модуль "UIKitCore" не найден.

Я добавил информацию о RealityKit.framework в свое приложение.

Раньше у меня никогда не было проблем с использованием swift в моих приложениях objective-c. Возможно, Apple отказалась от этой поддержки?


person user3335999    schedule 15.02.2021    source источник


Ответы (2)


Я подтвердил, что RealityKit нельзя использовать в приложении objective-c. Это связано с тем, что UIKitCore - это только быстрый фреймворк, он не поддерживается в objective-c и еще НЕ был выпущен. RealityKit-Swift.h включает следующие импортированные файлы:

@import ARKit;
@import CoreGraphics;
@import ObjectiveC;
@import UIKitCore;

UIKitCore НЕ является библиотекой, поддерживаемой Apple. В результате RealityKit НЕ МОЖЕТ использоваться приложением objective-c. Я отправил отчет об ошибке в Apple. Однако я не затаил дыхание, поскольку Objective-C больше не поддерживается Apple.

person user3335999    schedule 15.02.2021

RealityKit можно использовать только в файлах Swift.

Так что просто реализуйте весь RealityKit в быстром файле. А затем включите его в свой раствор. Вы можете свободно использовать быстрые классы в Obj-C. Импортируйте -Swift.h и не забудьте пометить свои быстрые классы директивой @obj.

person Sam    schedule 08.06.2021