2015-12-08 2 views
1

Я пытаюсь перечислить теги ID3 в файле MP3 на игровой площадке Xcode (используя Swift), но все, что я получаю, это пустой массив. Я также попытался «ноль» для опций (я также попробовал один из ниже отчаяния):Невозможно перечислить теги MP3 на игровой площадке Swift

import Cocoa 
import AVFoundation 

var url = NSURL(fileURLWithPath: "/Users/marc/test.mp3") 
let opts = [ AVURLAssetPreferPreciseDurationAndTimingKey: true ] 
var asset = AVURLAsset(URL: url, options: opts) 
var metaData = asset.commonMetadata 

for item in metaData { 
    print("key: \(item.commonKey), value: \(item.stringValue)") 
} 

я делаю что-то неправильно, и может кто-то еще получить эту работу?

ответ

1

Игровые площадки изолированы песочницей. Вы не можете читать или записывать в файловую систему.

Но вы можете прочитать файлы внутри Игровая площадка.

Открыть проект навигатора:

View> Навигаторы> Показать Навигатор проекта

И уроните MP3 в папку Resources.

Как только он там, перетащите файл изнутри навигатора в область исходного кода: он сделает значок, представляющий URL-адрес файла.

Вы можете использовать код этого файла:

let url = (the file icon dragged from the project navigator) 

let asset = AVURLAsset(URL: url, options: nil) 
let metaData = asset.commonMetadata 

for item in metaData { 
    if let key = item.commonKey, let value = item.stringValue { 
     print("key: \(key), value: \(value)") 
    } 
} 

Скриншот:

enter image description here

+0

Спасибо. Это работает, хотя я не вижу значка, но полный путь к песочнице MP3-файла (не biggie, он работает). Хорошая песочница снова ударяет: - | –

+0

Добро пожаловать. // Песочница, да ... не весело. – Moritz

Смежные вопросы