Проблема проста.У меня есть класс 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, но ничего не работает.