#objective-c #ios #xcode #cocoa-touch #itunes
#objective-c #iOS #xcode #cocoa-touch #iTunes
Вопрос:
Я пытаюсь поделиться несколькими файлами с помощью iTunes file share.
Вот текущий код.
Делегировать.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// file sharing trying
{
NSString *fileName = @"Test.mp3";
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *documentDBFolderPath = [documentsDirectory stringByAppendingPathComponent:fileName];
if (![fileManager fileExistsAtPath:documentDBFolderPath])
{
NSString *resourceDBFolderPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:fileName];
[fileManager copyItemAtPath:resourceDBFolderPath toPath:documentDBFolderPath error:amp;error];
}
}
[self.window makeKeyAndVisible];
return YES;
}
На данный момент доступен только 1 звуковой файл.
Спасибо
Комментарии:
1. Этот код копирует один файл из вашего пакета в каталог documents. Где находится код, с которым у вас возникла проблема? Что вы пытаетесь сделать?
2. Я хочу поделиться более чем 1 файлом. У меня есть 5 mp3, которыми я хочу поделиться, но код использует только 1 mp3. спасибо
Ответ №1:
Поместите каждое из ваших имен файлов в NSArray:
NSArray filesToShare = [NSArray arrayWithObjects:@"Test1.mp3",@"Test2.mp3",@"Test3.mp3",@"Test4.mp3",@"Test5.mp3",nil];
for (NSString *filename in filesToShare)
{
... Your existing code goes here,
}
Очевидно, что вы должны перемещать части, которые идентичны каждый раз, перед циклом for (получение путей, создание файлового менеджера и т.д.).
Комментарии:
1. Привет, я попробовал код. Однако элементы сейчас не отображаются в iTunes. Приложение показывает, но никаких элементов.
Ответ №2:
Хотя это и не ответ на ваш вопрос, добавление песен в iTunes обычно выполняется с помощью Scripting Bridge.
Вы должны сгенерировать iTunes.h файл заголовка, запустив это в терминале:
sdef /Applications/iTunes.app | sdp -fh --basename "iTunes"
А затем добавьте что-то подобное в свой код:
NSString *file = @"/path/to/test.mp3";
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier: @"com.apple.iTunes"];
iTunesTrack *track = [iTunes add: [NSArray arrayWithObject: [NSURL fileURLWithPath: file]] to: nil];