Es gibt nicht viele ID3-Parsing-Bibliotheken, die nicht GPLed sind. Es gibt auf Objective-C framework, das wahrscheinlich geändert werden könnte, um auf dem iPhone zu arbeiten, wenn es statisch verbunden ist, aber es ist LGPL. Um die Bedingungen der LGPL mit einer statisch verknüpften Binärdatei zu erfüllen, müssen Sie genügend Zwischenkomponenten bereitstellen, damit jemand sie mit ihrer eigenen Version der Bibliothek verbinden kann, was für eine iPhone App schwierig (aber nicht unmöglich) ist. Natürlich, da ich nicht in einer Position war, in der ich das tun musste, habe ich es nicht mit einem Anwalt besprochen, und da ich keiner bin, sollten Sie das nicht als maßgebend ansehen.
Ihre beste Wette, wenn Sie nicht Lust haben, einen Anwalt zu konsultieren, ist eine liberal lizensierte C-Bibliothek wie libID3 zu verwenden und diese in einigen Objective-C-Klassen einzubinden. Ich würde auch empfehlen, nur den Code direkt einzubeziehen, anstatt sich mit all den statischen Bibliothekserstellungs- und Verbindungsproblemen zu beschäftigen, aber das ist nur eine persönliche Stilsache.
Wenn Sie sagen, Sie haben MP3-Dateien auf dem Telefon gespeichert, haben Sie Ihre Anwendung bedeuten hat MP3-Dateien irgendwo in seiner Sandbox (entweder in Ihrem Paket enthalten oder die Sie heruntergeladen haben), oder meinen Sie der Benutzer sie über iTunes geladen ist? Das Abfragen des Media Players nach Informationen zu Songs auf dem Gerät ist ein völlig anderes Problem als das Analysieren von Informationen aus Dateien. –
Hallo Louis, Die mp3-Dateien sind Dateien aus dem Internet heruntergeladen und im Ordner Dokumente meiner Anwendung gespeichert. Danke, dass Sie auf Verwirrung hingewiesen haben. Tony – TonyNeallon
Dies wurde bereits in dieser SO Frage beantwortet: [http://stackoverflow.com/questions/1138118/how-to-extract-id-tags-from-mp3-files-in-cocoa](http:// stackoverflow.com/questions/1138118/how-to-extract-id-tags-from-mp3-files-in-cocoa) –