我在我的应用程序中使用GoogleAdMobAds来展示广告。 GoogleAds(某种程度上)提到了flurry广告。 (GoogleAdMobAds - 版本6.5.0,FluttyAds版本4.3.1.a)。 ViewController有一个包含GADBannerView的tableView。 这是我的代码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
GADAdSize adSize = [self adSizeForOrientation:self.interfaceOrientation];
self.adview = [[GADBannerView alloc] initWithAdSize:adSize];
self.adview.adUnitID = ADMOB_APP_KEY;
self.adview.rootViewController = self;
self.adview.backgroundColor = [UIColor clearColor];
GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:GAD_SIMULATOR_ID, nil];
request.gender = kGADGenderMale;
[request setLocationWithLatitude:[userDefaults doubleForKey:@"lat"]
longitude:[userDefaults doubleForKey:@"lng"]
accuracy:kCLLocationAccuracyBest];
self.adview.delegate = self;
[self.adview loadRequest:request];
因此,当我在
之前提交uiactionsheet时,应用程序崩溃了- (void)adViewDidReceiveAd:(GADBannerView *)bannerView
呼叫。 在动作表出现之前,我试图避免GADBannerView中的委托和rootViewController,但我所有的努力都是徒劳的。
答案 0 :(得分:0)
问题出现在视图控制器层次结构中。在添加window.rootViewController
崩溃后,我只在addSubview:
添加了[rootViewController addChildViewController:]
视图控制器。