Импортировать интегрированную среду Objective-C из родительского модуля с помощью Swift (для смешанного проекта) - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть настройка подспека следующим образом:

Pod::Spec.new do |spec|
  spec.name         = "TMGAdvertising"
  spec.default_subspecs = ["Core"]
  *** [extra stuff removed] ***

  spec.subspec 'Core' do |tmgadvertising|
    *** [extra stuff removed] ***
  end

  spec.subspec 'Inneractive' do |inneractive|
    inneractive.dependency "TMGAdvertising/Core"
    inneractive.private_header_files  = "TMGAdvertising/AdNetworkSupport/Inneractive/SDK/*.h", "TMGAdvertising/AdNetworkSupport/Inneractive/Adapters/*.h"
    inneractive.public_header_files  = "TMGAdvertising/AdNetworkSupport/Inneractive/InneractiveWrapper.h"
    inneractive.source_files  = ["TMGAdvertising/AdNetworkSupport/Inneractive/Adapters/*.{h,m,swift}", "TMGAdvertising/AdNetworkSupport/Inneractive/SDK/*.{h,m,swift}", "TMGAdvertising/AdNetworkSupport/Inneractive/InneractiveWrapper.{h,m,swift}"]
    inneractive.vendored_frameworks = "TMGAdvertising/AdNetworkSupport/Inneractive/SDK/*.framework"
    inneractive.pod_target_xcconfig = { 'OTHER_LDFLAGS' => ['-ObjC'] }
  end
end

У меня нет проблем при написании классов-оболочек для Inneractive Framework в Obj-C (размещенных в TMGAdvertising).Вот один из моих примеров упаковщиков Obj-C:

#import "InneractiveWrapper.h"
@import IASDKCore;

@implementation InneractiveWrapper

+ (void)initializeSDK:(NSString *)appId {
    [[IASDKCore sharedInstance] initWithAppID:appId];    
}

@end

Проблема в том, что я не хочу писать свои оболочки в Objective-C - я бы предпочел писать их в Swift.

Обычно для этого я мог бы использовать мостовой заголовок (именно так он был настроен ранее при интеграции непосредственно в приложение), но, поскольку это подвид, я понимаю, что это невозможно.

Мойвопрос: есть ли какой-нибудь способ напрямую импортировать эту интегрированную платформу Inneractive в файл Swift, расположенный в модуле TMGAdvertising?

1 Ответ

0 голосов
/ 18 декабря 2018

Насколько я знаю, вы сможете импортировать файл в свой заголовочный мост.

@import IASDKCore;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...