【发布时间】:2014-03-11 09:13:44
【问题描述】:
我不是一个优秀的 IOS 开发人员(主要是做 web 的东西),但我被赋予了这个任务来完成工作。部分概念是应用程序必须在 webview 中加载 webapp。这是我设法做到的。然后接下来是将推荐信息输入应用程序,在加载之前必须将其连接到 webapp 的 url。我成功地使用 Appsflyer 将推荐信息输入我的应用程序(对于与附属公司合作的任何人来说,这很酷),现在我被困住了,因为我尝试的一种方法是在我的委托中使用 NSUserDefaults 存储信息并在之前调用它我加载了网址,但它并不总是及时完成。
这是我的观点WillAppear
- (void) viewWillAppear:(BOOL)animated
{
_webview.scrollView.bounces = NO;
_webview.backgroundColor = [UIColor grayColor];
_webview.opaque=NO;
_webview.scalesPageToFit = YES;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSArray *btags = [prefs arrayForKey:@"banner"];
NSLog(@"%@", btags);
NSString *neededstring = [btags objectAtIndex:0];
NSString *ourURL = @"http://mydomain.com?ref=";
ourURL = [ourURL stringByAppendingString:neededstring];
NSLog(@"%@", ourURL);
NSURL *url = [NSURL URLWithString: ourURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
NSLog(@"Loading url");
[_webview loadRequest:requestObj];
}
这是我的 AppDelegates onConversionDataReceived 方法
-(void)onConversionDataReceived:(NSDictionary*) installData {
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; //load NSUserDefaults
id status = [installData objectForKey:@"af_status"];
if([status isEqualToString:@"Non-organic"]) {
id pid = [installData objectForKey:@"pid"];
id campaign = [installData objectForKey:@"c"];
id landingPage = [installData objectForKey:@"af_sub1"];
NSLog(@"None organic istall pid=%@ campaign=%@ landing page:%@", pid, campaign, landingPage);
NSLog(@"here");
NSMutableArray *tags = [ NSMutableArray arrayWithObjects:pid,campaign, nil]; //declare array to be stored in NSUserDefaults
[prefs setObject:tags forKey:@"banner"]; //set the prev Array for key value "favourites"
}else if([status isEqualToString:@"Organic"]) {
NSLog(@"organic");
// handle organic install
NSString *pid = @"6544581";
NSMutableArray *tags = [NSMutableArray arrayWithObjects:pid, nil];
[prefs setObject:tags forKey:@"banner"];
} else {
// not expecting to be here
}
}
我的另一个想法是创建一个在此视图控制器之前运行的附加视图控制器,但问题仍然存在,如果推荐信息没有及时通过会发生什么。
如果有人能给我一些光明,我将不胜感激。
谢谢你:)
【问题讨论】:
标签: ios iphone uiviewcontroller uiwebview appdelegate