我在每个视图控制器(4 个视图)中都有一个带有广告横幅(内部活动)的应用程序,并且在我的应用程序运行 2-3-4 分钟后我不断收到此错误:
'NSRangeException', reason: '*** -[__NSCFString substringToIndex:]: Range or index out of bounds'
我的应用程序崩溃了,我找不到解决方案,但我确定这与我的广告横幅问题有关,当我评论广告横幅代码时,一切正常。我可以假设它发生在横幅上加载新请求时。
这是我用于广告横幅的代码:
.h 文件:
@property (nonatomic, retain) UIView *adBanner;
.m 文件:
是否为我需要的东西合成和导入,然后:
- (void)viewWillAppear:(BOOL)animated
{
CGRect frame = CGRectMake(0, 430, 320, 50);
self.adBanner = [[UIView alloc] initWithFrame:frame];
[self.view addSubview:self.adBanner];
// Display ad
if (![InneractiveAd DisplayAd:@"iOS_Test" withType:IaAdType_Banner withRoot:adBanner withReload:60 withParams:optionalParams])
{
adBanner.hidden = YES;
}
}
这是我的 AppDelegate (不知道为什么,但也许它也与此有关?):
.h 文件:
#import <UIKit/UIKit.h>
@class RootViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (nonatomic, strong) RootViewController *rootViewController;
@end
.m 文件:
#import "AppDelegate.h"
#import "RootViewController.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize rootViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.rootViewController = [[RootViewController alloc] initWithNibName:nil bundle:NULL];
[self.window addSubview:self.rootViewController.view];
[self.window makeKeyAndVisible];
return YES;
}
我真的不明白它可能是什么以及它与 NSCFString 的关系:\
谢谢。