ios 로컬 전화 호출, 문자 발송
11412 단어 ios
1. 전화하다
1 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://10010"]];//
오픈URL이라는 API를 사용하여 전화를 한 후에 되돌아오는 것은 시스템의 전화 인터페이스입니다. 어떻게 해야만 자신의 앱으로 되돌아갈 수 있습니까?여러분과 나누는 두 가지 방법이 있습니다.
첫 번째는 UIWebView로 전화를 탑재하는 것이다. 이런 것은 합법적이며 앱스토어에 접속할 수 있다.
코드는 다음과 같습니다.
1 UIWebView*callWebview =[[UIWebView alloc] init];
2
3 NSURL *telURL =[NSURL URLWithString:@"tel:10010"];
4 [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
5 // view
6 [self.view addSubview:callWebview];
두 번째는 개인 방법으로 앱스토어에 접속할 수 없다(자신이 시도해 본 적이 없다).
1 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10010"]];
위의 코드는 단지 첫 번째 방법 중의 텔을 텔프롬프트로 한다.
2. 문자 보내기
iOS에서는 두 가지 방법으로 문자를 보낼 수 있는데 가장 간단한 것은 OpenURL을 사용하는 것이다.
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10010"]];//
위 방식은 문자 내용을 지정할 수 없습니다, iOS4.0MFMessageComposeViewController와 MFMessageComposeViewControllerDelegate가 새로 가입되어 문자를 보내는 인터페이스를 제공하여 메일을 보내는 것처럼 프로그램에서 뛰어나오지 않고 문자를 보낼 수 있다.소개 참조Message UIFramework Reference
MFMessage Compose View Controller는 조작 인터페이스를 사용하기 전에 can SendText 방법을 검사해야 하며, NO로 돌아가면 이 controller를 보여주지 말고 문자 발송 기능을 지원하지 않는다는 것을 알려야 한다.
메시지 ComposeDelegate:에이전트, 전송 결과 처리
recipients: 수신자 <목록, 단체 발송 지원>
body: 메시지 내용
Frameworks에 MessageUI. 도입하기framework
#import
#import <MessageUI/MessageUI.h>
@interface DemoViewController : UIViewController <MFMessageComposeViewControllerDelegate>
@end
MFMessageComposeViewController를 호출하고 프로토콜 MFMessageComposeViewControllerDelegate를 실현합니다.
1 - (void)showMessageView
2 {
3
4 if( [MFMessageComposeViewController canSendText] ){
5
6 MFMessageComposeViewController * controller = [[MFMessageComposeViewController alloc]init]; //autorelease];
7
8 controller.recipients = [NSArray arrayWithObject:@"10010"];
9 controller.body = @" ";
10 controller.messageComposeDelegate = self;
11
12 [self presentModalViewController:controller animated:YES];
13
14 [[[[controller viewControllers] lastObject] navigationItem] setTitle:@" "];//
15 }else{
16
17 [self alertWithTitle:@" " msg:@" "];
18 }
19 }
20
21
22 //MFMessageComposeViewControllerDelegate
23
24 - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{
25
26 [controller dismissModalViewControllerAnimated:NO];// YES
27
28 switch ( result ) {
29
30 case MessageComposeResultCancelled:
31
32 [self alertWithTitle:@" " msg:@" "];
33 break;
34 case MessageComposeResultFailed:// send failed
35 [self alertWithTitle:@" " msg:@" "];
36 break;
37 case MessageComposeResultSent:
38 [self alertWithTitle:@" " msg:@" "];
39 break;
40 default:
41 break;
42 }
43 }
44
45
46 - (void) alertWithTitle:(NSString *)title msg:(NSString *)msg {
47
48
49 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
50 message:msg
51 delegate:self
52 cancelButtonTitle:nil
53 otherButtonTitles:@" ", nil];
54
55 [alert show];
56
57 }
58
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.