Возврат к поведению приложения после телефонного звонка, отличному от встроенного кода, чем UIWebView

Не в этом случае. myLocalVar падает из объема, как только функция возвращается, так установка в NULL ссылки абсолютно ничего не делает.

27
задан Philip Walton 15 March 2011 в 20:42
поделиться

2 ответа

  1. Поведение действительно отличается между вызовом -[UIApplication openURL:] с URL-адресом tel: и нажатием ссылки на тот же URL-адрес в UIWebView.

  2. Использование UIWebView вместо UILabel может иметь некоторые недостатки, но вам не нужно отображать UIWebView, чтобы получить tel поведение обработки URL. Вместо этого просто загрузите URL-запрос tel в экземпляр UIWebView, не добавляя его в иерархию представлений.

Например:

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface PhoneCaller : NSObject
{
  @private
    UIWebView *webview;
}
- (void)callTelURL:(NSURL *)url;
@end

@implementation
- (id)init
{
    self = [super init];
    if (self)
    {
        webview = [[UIWebView alloc] init];
    }
    return self;
}
- (void)callTelURL:(NSURL *)url
{
    [webview loadRequest:[NSURLRequest requestWithURL:url]];
}
- (void)dealloc
{
    [webview release];
    [super dealloc];
}
@end
16
ответ дан 28 November 2019 в 05:13
поделиться

Позвольте мне немного упростить. Все, что вам нужно, это маленький фрагмент:

UIWebView *callWebview = [[UIWebView alloc] init];
NSURL *telURL = [NSURL URLWithString:@"tel:number-to-call"];
[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];

, который я получил здесь .

* Недавно успешно протестировано на iOS 5.0.

10
ответ дан 28 November 2019 в 05:13
поделиться