UIPasteBoard nie wkleja plików audio?
Opracowuję aplikację, w której jednym z modułów jest Prosta lista TableView, która pokazuje listę plików audio. Gdy użytkownik wybierze dowolny plik audio, arkusz akcji zawiera jedną z opcji SMS. Muszę wysłać określony plik audio przez SMS. Daj mi znać, jak to zrobić.
A jeśli nie jest to możliwe, proszę dostarczyć mi dokumentację Apple, aby była dla mnie dowodem na pokazanie.
Właśnie to próbowałem wkleić plik audio ...
Pierwsza droga:
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"]]];
Druga droga:
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];
}
Wiem, że jest to możliwe poprzez wysyłanie wiadomości na serwer i stamtąd pobieranie. Ale to nie jest wymaganie.
Każda pomoc byłaby mile widziana, a jeśli nie jest to możliwe, podaj dokumenty Apple.