아이폰 개발 중 문자 보내기
9340 단어 아이폰 개발
iOS4.0MFMessageComposeViewController와 MFMessageComposeViewControllerDelegate가 새로 가입되어 문자를 보내는 인터페이스를 제공하여 메일을 보내는 것처럼 프로그램에서 뛰어나오지 않고 문자를 보낼 수 있다.소개 Message UIframework Reference 참조
몇 가지 노트:
MFMessageComposeViewController
운영 인터페이스 제공사용하기 전에 can Send Text 방법을 검사해야 합니다. NO로 돌아가면 이 controller를 보여서는 안 되고, 문자 발송 기능을 지원하지 않는다는 것을 사용자에게 알려야 합니다.
인터페이스는 사용자 정의할 수 없음보낼 문자의 내용(body)과 수신자(recipients)는 이 컨트롤러를 보여주기 전에 초기화해야 하며, 보여주면 문자의 내용을 프로그램을 통해 수정할 수 없다.그러나 사용자는 문자 내용을 수동으로 수정하고 수신자를 선택할 수 있다사용자가 발송 또는 취소를 눌렀거나 발송이 실패했을 때 MFMessageComposeViewControllerDelegate의 - 메시지 ComposeViewController:didFinishWithResult: 방법은 모두 알림을 받을 수 있으며 여기서 상응하는 처리를 한다iOS 3.0에서 실행하면 dyld: Symbol not found:OBJC_CLASS_$_MFMessageComposeViewController .솔루션:
MessageUI.framework의 도입 유형은 weak(target-> Get Info-> General -> Linked Libraries-> MessageUI. framework-> Type에서 수정)을 선택해야 합니다.
가지 마.h 파일에서 직접 import Message UI/MFMessage Compose ViewController.h, import
코드:
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#pragma mark -
#pragma mark SMS
-(IBAction)showSMSPicker:(id)sender {
// The MFMessageComposeViewController
class
is only available
in
iPhone
OS
4
.
0
or
later.
// So, we must verify the existence of the above
class
and
log an error message
for
devices
// running earlier versions of the iPhone
OS
. Set feedbackMsg
if
device doesn't support
// MFMessageComposeViewController
API
.
Class
messageClass = (NSClassFromString(@
"MFMessageComposeViewController"
));
if
(messageClass !=
nil
) {
// Check whether the current device is configured
for
sending
SMS
messages
if
([messageClass canSendText]) {
[
self
displaySMSComposerSheet];
}
else
{
[UIAlertView quickAlertWithTitle:@
" "
messageTitle
:nil
dismissTitle:@
" "
];
}
}
else
{
[UIAlertView quickAlertWithTitle:@
"iOS ,iOS4.0 "
messageTitle
:nil
dismissTitle:@
" "
];
}
}
-(void)displaySMSComposerSheet
{
MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc] init];
picker.messageComposeDelegate =
self
;
NSMutableString* absUrl = [[NSMutableString alloc] initWithString
:web
.request.
URL
.absoluteString];
[absUrl replaceOccurrencesOfString:@
"http://i.aizheke.com"
withString:@
"http://m.aizheke.com"
options:NSCaseInsensitiveSearch range:NSMakeRange(
0
, [absUrl length])];
picker.body=[NSString stringWithFormat:@
" :%@ , !link:%@"
,[web stringByEvaluatingJavaScriptFromString:@
"document.title"
]
,absUrl];
[absUrl release];
[
self
presentModalViewController
:picker
animated:
YES
];
[picker release];
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
didFinishWithResult:(MessageComposeResult)result {
switch (result)
{
case
MessageComposeResultCancelled:
LOG_EXPR
(@
"Result: SMS sending canceled"
);
break
;
case
MessageComposeResultSent:
LOG_EXPR
(@
"Result: SMS sent"
);
break
;
case
MessageComposeResultFailed:
[UIAlertView quickAlertWithTitle:@
" "
messageTitle
:nil
dismissTitle:@
" "
];
break
;
default:
LOG_EXPR
(@
"Result: SMS not sent"
);
break
;
}
[
self
dismissModalViewControllerAnimated:
YES
];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
크래쉬리틱스 베타를 사용하고 맥의 크래쉬리틱스 앱으로 붕괴되면Testflightapp.컴이 꺼졌기 때문에 최근 크래쉬리틱스의 베타를 사용하기 시작했다. 아주 잘했지만 파일럿 때 맥앱이 붕괴했으니까 대응책을 적어놓을게요. 프로그램을 저장하고 Crashlytics의 Mac 응용 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.