是否可以从另一个应用程序中将一首歌发布到ipod应用程序中?

时间:2014-01-24 15:35:44

标签: ios objective-c iphone url-scheme

我正在使用应用。根据我的要求,我试图从我正在制作的应用程序中启动一首歌或一个播放列表,进入ipod应用程序,我知道我可以打开它:

NSString *stringURL = @"music:";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

但我想知道是否可以使用这样的东西。

@"music://aSong";

甚至更好

`@"music://aPlayList";`

提前感谢。

2 个答案:

答案 0 :(得分:0)

看看https://developer.apple.com/library/ios/documentation/Audio/Conceptual/iPodLibraryAccess_Guide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008765,该方法会有所不同,具体取决于您想要做什么。

如果您只想使用链接,请参考指南:https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/iTunesLinks/iTunesLinks.html#//apple_ref/doc/uid/TP40007899-CH3-SW1

例如,要显示相册,这应该有效:

NSString *stringURL = @"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=156093464&id=156093462&s=143441";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

答案 1 :(得分:0)

我想做同样的事情,但不相信它是可能的。最接近的是使用UIDocumentInteractionController。它允许您基于UTI(List of available UTI's here)将文件导出到兼容的应用程序。我使用" public.mpeg-4-audio"来实现它。 UTI,它并没有向我展示音乐 - 只有iMovie,djay和Dropbox。还有很多其他应用程序可以处理我确定的音乐文件,但这些是我拥有的。音乐应该出现在那里。我尝试了djay的导出选项只是为了找到相同的两个应用程序:iMovie和Dropbox。

您可以做的另一件事是,虽然它是您的用户的PITA,但是要将Info.plist中的UIFileSharingEnabled密钥设置为YES。这将允许您的用户:在iTunes中选择您的设备,选择应用程序选项卡,然后向下滚动到文件共享,选择应用程序并检索您的文件。

如果您对实施UIDocumentInteractionController感兴趣,可以这样工作:

// set your audioFilepath first
// and declare UIDocumentInteractionController as a property of your view controller
self.documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:audioFilepath]];
self.documentController.UTI = @"public.mpeg-4-audio"; // kUTTypeMPEG4Audio
[self.documentController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];