Ошибка SwiftCompile Normal Arm64. Компиляция .. в target '' из модулей проекта при переходе с цели C на Swift в моем собIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Гость
 Ошибка SwiftCompile Normal Arm64. Компиляция .. в target '' из модулей проекта при переходе с цели C на Swift в моем соб

Сообщение Гость »


У меня есть собственный SDK для реагирования, внутри которого весь код написан на языке C, сейчас мы переносим его на Swift, я следовал официальному руководству по реагированию на родной код о том, как перейти на Swift, сделал все, как было предложено там, но это не работает, объясню, где происходит основная проблема - поэтому внутри моего файла c мой код написан так -

#import #import #import #import #import @interface RCT_EXTERN_MODULE (BigTreeDoorway, NSObject) //МАРК: помощники по версии SDK //ОТМЕТКА: настройка SDK RCT_REMAP_METHOD(setConfigEnvironment, имя_среды:(NSString *)имя_среды шлюз:(NSString *)шлюз isLeprechaunActive: (BOOL *)isLeprechaunActive isAmoEnabled: (BOOL *)isAmoEnabled preProvidedBrokers: (NSArray *)preProvidedBrokers setConfigEnvironmentWithResolver:(RCTPromiseResolveBlock)resolve отказник: (RCTPromiseRejectBlock) отвергнуть) { Среда NSInteger = EnvironmentProduction; if([envName isEqualToString:@"production"]) { окружающая среда = Окружающая средаПроизводство; } иначе if([envName isEqualToString:@"development"]) { окружающая среда = EnvironmentDevelopment; } еще { среда = EnvironmentStaging; } GatewayConfig *config = [[GatewayConfig alloc] initWithGatewayName:шлюз brokerConfig:preProvidedBrokers apiEnvironment:среда isLeprechaunActive:isLeprechaunActive isAmoEnabled:isAmoEnabled]; [SCDoorway.shared setupWithConfig: завершение конфигурации: ^(BOOL успех, NSError * ошибка) { если (успех) { разрешить(@(ДА)); } еще { NSMutableDictionary *responseDict = [[NSMutableDictionary alloc] init]; [responseDict setValue:[NSNumber numberWithInteger:error.code] forKey:@"errorCode"]; [responseDict setValue:error.domain forKey:@"errorMessage"]; NSError *err = [[NSError alloc] initWithDomain:error.domain code: error.code userInfo:responseDict]; ignore(@"setConfigEnvironment", @"Ошибка установки Env", err); } }]; } //и многие другие функции... теперь даже в моем файле Objective-C, когда я открываю проект xcode моего SDK, он выдает такие ошибки, как -


Изображение


теперь, если я закомментирую этот конкретный импорт, он начнет выдавать ошибку -


Изображение


но затем внутри файла podspec моего реагирующего SDK я добавил зависимость SCDoorway -


Изображение


Двигаемся дальше: когда я создаю свой проект реагирования, все строится хорошо, и функции работают Я начал переход на Swift, добавив Swift-файл с тем же именем, что и мой файл Objective-C, то есть — BigTreeDoorway, так что теперь у меня всего 3 файла внутри моего проекта: класс связующего заголовка, а также BigTreeDoorway.swift и BigTreeDoorway. м я проверил путь к заголовочному файлу моста c моей цели, и все в порядке

теперь, когда я преобразовал все целевые функции в такие быстрые функции -

импортировать RCTBridgeModule импортный фонд импорт SCDoorway импортировать React импортные кредиты @objc(BigTreeDoorway) класс BigTreeDoorway: NSObject { @objc func setConfigEnvironment(_ envName: String, шлюз: Строка, isLeprechaunActive: Bool, isAmoEnabled: Bool, preProvidedBrokers: [Любой], разрешение преобразователя: @escaping RCTPromiseResolveBlock, отказник отклоняет: @escaping RCTPromiseRejectBlock) { вар среда = EnvironmentProduction переключить имя_окружения { корпус «производство»: окружающая среда = Производство Окружающей Среды кейс «развитие»: окружающая среда = EnvironmentDevelopment по умолчанию: среда = EnvironmentStaging } let config = GatewayConfig (имя_шлюза: шлюз, brokerConfig: preProvidedBrokers, apiEnvironment: среда, isLeprechaunActive: isLeprechaunActive, isAmoEnabled: isAmoEnabled) SCDoorway.shared.setup(с: config) { успех, ошибка в если успех { решить (правда) } еще { var responseDict: [Строка: Любой] = [ «errorCode»: ошибка?.код ?? 0, «errorMessage»: ошибка?.localizedDescription ?? "" ] let err = NSError(домен: ошибка?.домен ?? "", код: ошибка?.код ?? 0, userInfo: responseDict) ignore("setConfigEnvironment", "Ошибка настройки Env", err) } } } а затем я изменил свой файл ObjectC вот так -

#import #import #import #import #import @interface RCT_EXTERN_MODULE (BigTreeDoorway, NSObject) RCT_EXTERN_METHOD(setConfigEnvironment, имя_среды:(NSString *)имя_среды шлюз:(NSString *)шлюз isLeprechaunActive: (BOOL *)isLeprechaunActive isAmoEnabled: (BOOL *)isAmoEnabled preProvidedBrokers: (NSArray *)preProvidedBrokers setConfigEnvironmentWithResolver:(RCTPromiseResolveBlock)resolve отказник: (RCTPromiseRejectBlock) отклонить) //многое другое @конец по сути, я изменил его на RCT_EXTERN_METHOD с RCT_REMAP_METHOD и удалил определение функции, только имя и параметры, как описано на собственном сайте реакции

Я все еще получал ошибки внутри xcode для этого импорта -
Изображение



Изображение


но то же самое происходило внутри файла ObjectiveC, поэтому я попытался создать свой проект реагирования, и он не будет собран сейчас, как только он начнет создавать приложение через 30 секунд, он выдаст мне эту ошибку -

Не удалось выполнить следующие команды сборки: SwiftCompile нормальная компиляция Arm64\ BigTreeDoorway.swift /Users/aadityasingh/../../../node_modules/my-sdk-name/ios/BigTreeDoorway.swift (в цели «my-sdk-name» из проекта «Pods») ) SwiftCompile обычный Arm64 /Users/aadityasingh/../../имя моего примера приложения, в котором я пытаюсь интегрировать sdk/node_modules/my-sdk-name/ios/BigTreeDoorway.swift (в целевом объекте «my-sdk-name» из проект «Поды») (2 неудачи) Я застрял в этой проблеме последние две недели. Я не понимаю, как целевой файл работает с тем же импортом, но мой быстрый файл не может этого сделать, пожалуйста, помогите, я попробовал несколько вещей - [*]Я попробовал изменить «EXCLUDED_ARCHS[sdk=iphonesimulator*]» = «arm64 i386» внутри обоих примеров приложения, позже я попробовал его и с моим проектом SDK ios ошибка сборки все еще была. [*]Я удалил проект xcode из папки ios моего SDK, и пример приложения по-прежнему работает отлично, поэтому осталось только 3 файла - промежуточный заголовок, Swift (файл Swift пуст и определен только класс) и файл objc когда я импортирую Loans (который является подмодулем внутри SCDoorway) внутри файла Swift моего SDK, он не выдает никаких ошибок, и проект реагирования строится, но затем, когда я раскомментирую его функции, которые включают использование классов Loans (а затем я поместите RCT_EXTERN_METHODS для того же внутри класса ObjectiveC, закомментировав все остальное), это выдает еще одну ошибку - Не удалось выполнить следующие команды сборки: CompileC /Users/aadityasingh/Library/Developer/Xcode/DerivedData/sample-app-name-dnrqbqkvgavrbjasjmzapzzrvjtq/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/my-sdk-name.build/Objects-normal/arm64/ BigTreeDoorway-5f1feec19880e569a1329e3d7cbede9a.o /Users/aadityasingh/../new/sample app name/node_modules/sdk name/ios/BigTreeDoorway.m Normal Arm64 Objective-C com.apple.compilers.llvm.clang.1_0.compiler (в цели) 'my-sdk-name' из проекта 'Pods') (1 неудача) Пожалуйста, помогите мне с этим
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»