UIPasteBoard fügt keine Audiodateien ein?

Ich entwickle eine App, in der eines der Module ist: Eine einfache Auflistung von TableView, in der die Liste der Audiodateien angezeigt wird. Wenn der Benutzer eine Audiodatei auswählt, wird auf einem Aktionsblatt eine der Optionen SMS angezeigt. Ich muss die jeweilige Audiodatei per SMS senden. Bitte lassen Sie mich wissen, wie ich damit umgehen soll.

Und wenn dies nicht möglich ist, senden Sie mir bitte eine Apfeldokumentation, damit ich sie nachweisen kann.

Dies ist, was ich zum Einfügen der Audiodatei versucht habe ...

Erster Weg:

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"]]];

Zweiter Weg:

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];
}

Ich weiß, dass dies durch das Posten auf dem Server und das Abrufen von dort möglich ist. Dies ist jedoch nicht die Voraussetzung.

Jede Hilfe wird gebeten. Wenn dies nicht möglich ist, senden Sie uns bitte Unterlagen zu.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage