我目前正在研究與聖地亞哥大都會交通系統一起使用的交通網絡應用程序。對於iOS,我打算使用帶有三個項目的TabBar,[主頁] [收藏夾] [通知]。 [主頁]導向主頁面(以及任何其他頁面),[收藏夾]是您可以設置您最喜愛的公共汽車/小車停靠點的地方。通過UIWebView將設備令牌發送到PHP腳本
我打算在[收藏夾]中設置一條通知,在公交車到達MTS提供的預定時間之前發送給您。例如,如果一輛公共汽車在10點30分到達,並且你設置了一個通知在5分鐘前到達以提醒你,你會在10:25得到一個。
我想將帳戶與設備令牌關聯起來,並且我閱讀了一些關於此處的問題,例如Linking user account to device token for push notifications。
我相信有可能在我登錄時通過發送設備令牌到UIWebView來以某種方式鏈接帳戶。
希望有人能幫助我。
編輯: 下面是Home.m
#import "Home.h"
@implementation HomeViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL *URL1 = [NSURL URLWithString:@"url"];
NSURLRequest *Request1 = [NSURLRequest requestWithURL:URL1];
[webView1 loadRequest:Request1];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"1");
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
NSString *deviceToken = [defaults objectForKey:@"deviceToken"];
bool tokenIsSent = [defaults boolForKey:@"tokenIsSent"];
NSString *newToken = [defaults stringForKey:@"newToken"];
NSLog(@"2");
NSString *urlString = [NSString stringWithFormat:@"url"];
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSData *usernameData;
NSURLResponse *response;
usernameData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil];
NSString *username = [[NSString alloc] initWithData:usernameData encoding:NSUTF8StringEncoding];
NSLog(@"3");
if (deviceToken != nil && tokenIsSent == NO) {
NSLog(@"4");
NSString *urlString = [NSString stringWithFormat:@"url/s=%@&u=%@",newToken, username];
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
NSData *urlData;
NSURLResponse *response;
urlData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:nil];
NSString *info = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding];
if([info isEqual: @"success"]){
[defaults setBool:YES forKey:@"tokenIsSent"];
NSLog(@"5");
}else{
[defaults setBool:NO forKey:@"tokenIsSent"];
NSLog(@"6");
}
[defaults synchronize];
} else {
NSLog(@"7");
}
}
如果你看看我在FreeGor的答案中所做的評論,你是否認爲結合這個答案和'NSURLRequest',我可以成功地將該帳戶鏈接到設備? – alexpja
@alexpja當設備註冊推送服務時,您不知道哪個賬戶與該設備相關聯,所以一旦用戶通過身份驗證,首先保存它比執行'NSURLRequest' – meda
好的,我會給它一個去吧背部。 – alexpja