Istnieje niewiele bibliotek analizujących ID3, które nie są oznaczone GPL. Jest na Objective-C framework, który prawdopodobnie mógłby zostać zmodyfikowany do pracy na iPhonie, gdy jest statycznie połączony, ale jest to LGPL. Aby spełnić warunki LGPL z statycznie połączonym binarnym, musisz zapewnić wystarczającą ilość pośrednich komponentów, aby ktoś mógł połączyć je z własną wersją biblioteki, co jest trudne (ale nie niemożliwe) dla aplikacji na iPhone'a. Oczywiście, ponieważ nie byłem w sytuacji, w której musiałem to zrobić, nie rozmawiałem o tym z adwokatem, a ponieważ nie jestem jednym z nich, nie powinieneś brać tego jako autorytatywny.
Najlepszym wyjściem, jeśli nie masz ochoty skonsultować się z adwokatem, jest użycie bardziej liberalnie licencjonowanej biblioteki C, takiej jak libID3 i zawijanie jej w niektórych klasach Celu C. Poleciłabym tylko bezpośrednie włączenie kodu, a nie zajmowanie się wszystkimi problemami związanymi z kompilacją biblioteki statycznej i linkami, ale to tylko kwestia osobistego stylu.
Kiedy mówisz, że masz pliki mp3 zapisane w telefonie, masz na myśli, że twoja aplikacja ma pliki mp3 gdzieś w piaskownicy (albo w twoim pakiecie, albo to, co pobrałeś), czy masz na myśli, że użytkownik załadował je przez iTunes? Odpytywanie odtwarzacza multimedialnego o informacje o utworach na urządzeniu jest zupełnie innym problemem niż przetwarzanie plików z informacjami. –
Witaj Louis, Pliki mp3 to pliki pobrane z Internetu i zapisane w folderze dokumentów mojej aplikacji. Dzięki za wskazanie zamieszania. Tony – TonyNeallon
Ta odpowiedź została już udzielona na to pytanie: [http://stackoverflow.com/questions/1138118/how-to-extract-id-tags-from-mp3-files-in-cocoa](http://to stackoverflow.com/questions/1138118/how-to-extract-id-tags-from-mp3-files-in-cocoa) –