我們的應用程序依靠UIWebview在用戶發起的電話呼叫之後返回到應用程序。在諮詢了一些開發人員之後,我們沒有對iOS6做任何改變,期待應用程序正常工作。iOS6/UIWebview重定向到應用程序的錯誤頁面
現在,出現以下情況:
1)UIWebView的仍然是工作 - 使用戶返回到應用程序,當他們結束通話
2)但是,應用程序是指導用戶對錯誤的屏幕 - 它正在將其帶到用戶應該看到的屏幕後面。關鍵的屏幕,用戶可以登錄他們的電話沒有出現。
3)唯一的例外似乎是當用戶註銷並重新登錄時 - 在這種情況下,他們只能看到正確的屏幕一次,然後下一次他們打電話時他們再次進入錯誤的屏幕。
我不是一個編碼器,但通過查看代碼後,它看起來像這是三個(幾乎相同)的代碼片段之一,應該在電話結束時調用結束呼叫屏幕,但是在iOS6下不是:
- (IBAction)onCall:(id)sender
{
DashCaller *caller = [[DashCaller alloc] init];
NSString *callNumber = _phone.number;
if (!callNumber)
{
callNumber = @"No Phone number";
}
else if (callNumber.length == 0)
{
callNumber = @"No Phone number";
}
else
{
callNumber = [callNumber stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
DashDelegate.calledPhone = _phone;
DashDelegate.callLogVC.delegate = _viewController;
DashDelegate.callStartDate = [NSDate date];
NSUserDefaults *setting = [NSUserDefaults standardUserDefaults];
NSNumber *blockNumber = [setting valueForKey:BLOCK_NUMBER];
NSURL *url = nil;
if (blockNumber.boolValue)
url = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@%@", kStringBlockNumber, callNumber]];
else {
url = [NSURL URLWithString:[NSString stringWithFormat:@"tel://%@", callNumber]];
}
[caller callTelURL:url];
}
具體而言,行「DashDelegate.callLogVC.delegate = _viewController;」看起來應該是調用CallLogVC視圖,而是轉到應該在該視圖之後出現的屏幕。
想要改變什麼的人(可能會受到iOS6的影響)?該應用程序在iOS5中完全可用。而且,爲什麼應用程序在註銷登錄後僅顯示一次該頁面,然後停止顯示它?
你的問題根本不清楚....請更具體的....而且它根本不清楚你想告訴什麼...... – iSaalis
嗨薩利斯!我的問題是:之前,當應用程序返回時,它轉到呼叫日誌屏幕。現在,使用與iOS6完全相同的代碼,它會回到應用程序中(如預期的那樣),但會跳過中間的「呼叫日誌」屏幕並返回到用戶啓動呼叫的位置。它正在跳過存儲應用程序處理的關鍵信息的屏幕 - 我試圖找出原因。謝謝! –