问题很简单。我有一个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中进行构建,但是没有任何效果。