6

モジュールの1つがオーディオファイルのリストを表示する単純なリストTableViewであるアプリを開発しています。ユーザーが任意のオーディオ ファイルを選択すると、アクション シートに SMS オプションの 1 つが付属しています。特定の音声ファイルを SMS で送信する必要があります。これで行く方法を教えてください。

これが不可能な場合は、Apple のドキュメントを提供してください。証明できるようにします。

これは、オーディオファイルを貼り付けるために試したものです...

最初の方法:

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSString *path = [[NSBundle mainBundle] pathForResource:@"audiofilename" ofType:@"caf"];
NSData *myData = [NSData dataWithContentsOfFile:path];
[pasteboard setData:myData forPasteboardType:@"audiofile"];
NSString  *copyPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/audiofile.caf"];
NSURL *sndURL = [NSURL fileURLWithPath:copyPath];
[pasteboard setString:[NSString stringWithFormat:@"%@",sndURL]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"sms:12345678"]]];

第二の方法:

Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));

if([messageClass canSendText])
{
    messagepicker = [[MFMessageComposeViewController alloc] init];
    messagepicker.messageComposeDelegate = self;
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    NSString *path = [[NSBundle mainBundle] pathForResource:@"290912044119" ofType:@"caf"];
    NSData *myData = [NSData dataWithContentsOfFile:path];
    [pasteboard setData:myData forPasteboardType:@"audiofile"];
    NSString  *copyPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/audiofile.caf"];
    NSURL *sndURL = [NSURL fileURLWithPath:copyPath];
    [messagepicker setBody:[NSString stringWithFormat:@"%@",sndURL]];
    [self presentModalViewController:messagepicker animated:YES];
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
}

これは、サーバーに投稿してそこから取得することで可能であることを知っています。しかし、これは要件ではありません。

それが不可能な場合は、アップルのドキュメントを提供してください。

4

1 に答える 1

1

現在のSDKを使用してメッセージから音声ファイルを送信することはできません....そのサウンドファイルをサーバーにアップロードし、メッセージからそのURLを送信することで、この要件に到達できます。

于 2013-07-26T08:06:26.810 に答える