Свифт подклассов класса ObjC, инициализатор получает распознанный селектор - PullRequest
0 голосов
/ 23 октября 2018

Проблема проста.У меня есть класс Swift, который подклассов класса Objective-C:

class CJGADSearchBannerView: GADSearchBannerView {
    ...
}

Затем я инициализирую свой класс как:

let searchBanner = CJGADSearchBannerView(adSize: kGADAdSizeFluid)

Унаследованный класс Objective-C происходит от GoogleMobileAdsSDK pod .

Все отлично компилируется, и я могу отследить инициализатор до его исходного класса в коде:

@interface GADSearchBannerView : GADBannerView

Тогда:

GAD_SUBCLASSING_RESTRICTED
@interface GADBannerView : UIView

#pragma mark Initialization

/// Initializes and returns a banner view with the specified ad size and origin relative to the
/// banner's superview.
- (instancetype)initWithAdSize:(GADAdSize)adSize origin:(CGPoint)origin;

/// Initializes and returns a banner view with the specified ad size placed at its superview's
/// origin.
- (instancetype)initWithAdSize:(GADAdSize)adSize;

Но во время выполнения я получаю:

-[CJGADSearchBannerView initWithAdSize:]: unrecognized selector sent to instance 0x7f87cbe88710

Раньше он работал, потом в какой-то момент я встроил Xcode 10, и он просто сломался.

Я попытался добавить @ObjcMembers к новомукласс в случае, если это была проблема логического вывода, я попытался удалить DerivedData, если он ссылался на старый код, я удалил Pods и снова запустил pod install, я попытался переключиться между Swift 3 и Swift 4, я попытался встроитьXcode 9.4 и Xcode 10, но ничего не работает.

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