AVAudioRecorder löst Fehler aus

80

Ich benutze AVAudioRecorderzum Aufnehmen, es hat auf iOS 4-Geräten gut funktioniert, aber gestern haben wir herausgefunden, dass die Aufnahme auf iOS5 unterbrochen ist. Bei Verwendung des iPhone 5 Simulators wurde folgende Fehlermeldung angezeigt:

2011-08-02 11: 09: 03.586 Moodle [7832: 10103] Fehler beim Laden von /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn: dlopen (/ System / Library / Erweiterungen / AudioIPCDriver.kext / Contents / Resources / AudioIPCPlugIn.bundle / Contents / MacOS / AudioIPCPlugIn, 262): Symbol nicht gefunden: ___CFObjCIsCollectable

Wissen Sie, woher dieser Fehler kam und wie Sie ihn beheben können?

Dongsheng Cai
quelle
3
Bei Ihrer ursprünglichen Frage wurde nicht gefragt, wie das Problem behoben werden soll. Sie wurde lediglich von anderen aufgefordert, zu bestätigen, ob sie das gleiche Problem hatten. Wir wollten nicht, dass solche Informationen als Antworten veröffentlicht werden und die Frage unnötig verstopft. Ihre Bearbeitung hat die Absicht Ihrer Frage jetzt viel klarer gemacht, also habe ich sie wieder geöffnet.
BoltClock
Sie können [diese Frage] [1] aktualisieren und mit dem Gerät Ihren Code testen. [1]: stackoverflow.com/questions/7290418/...
Hello World

Antworten:

29

Dieser Fehler ist nur Konsolenrauschen von einem System-Framework. Sie sollten ihn ignorieren, er wirkt sich nicht auf Sie aus. Wenn Ihre App abstürzt oder nicht aufzeichnet, liegt der wahre Grund an einer anderen Stelle.

AVAudioRecorder funktioniert unter iOS 5 einwandfrei, auch wenn es während des normalen Betriebs Ausnahmen auslöst (und abfängt), die das Debuggen erschweren.

Hooleyhoop
quelle
1
Danke für diese Antwort. Ich hatte Xcode so eingestellt, dass es bei Ausnahmen nicht funktioniert, und fragte mich, warum mein Videoplayer abstürzte!
Amy Worrall
28
Oh, es betrifft mich in Ordnung. Es wirkt sich auf die gleiche Weise auf mich aus, wie Spam meinen Posteingang beeinflusst: indem mein Informationsstrom gestört wird und nützliche Nachrichten schwerer zu finden sind. Die Protokolle sollten sauber sein. Spam sollte beseitigt werden. Dieser Fehler sollte behoben werden.
OldPeculier
hooleyhoop: "AVAudioRecorder funktioniert unter iOS 5 einwandfrei, auch wenn es während des normalen Betriebs Ausnahmen auslöst (und abfängt), die das Debuggen erschweren." - Ich bin mir nicht sicher, ob ich Ihrer Definition von "funktioniert gut" zustimme.
Greg Maletic
11

Ich habe diese Fehler auch seit dem Wechsel zu iOS5 festgestellt. Ich nehme nicht auf, sondern spiele Sounds mit AVAudioPlayer ab. Dies scheint ein Problem mit den AVAudio-Frameworks zu sein, wenn nur der iOS-Simulator verwendet wird. Das Testen auf tatsächlicher Hardware (in meinem Fall ein iPad 2 und ein iPad 1) führt nicht zu denselben Fehlern, was mich weniger beunruhigt, da das Testen auf Hardware meiner Meinung nach das Testen ist, das tatsächlich zählt.

Übrigens, es tut mir leid, dass dies keine Lösung zur Behebung des Problems ist, sondern vielmehr eine Bestätigung, dass Sie nicht der einzige sind, bei dem das Problem auftritt.

PixelCloudSt
quelle
8

Ich habe festgestellt, dass dieser Fehler nur bei Verwendung des Simulators auftritt. Wenn es auf einem tatsächlichen Gerät getestet wird, funktioniert es einwandfrei und es treten keine Fehler auf.

Testen Sie Ihre Apps auf Geräten, bis Apple eine Fehlerbehebung für den Simulator veröffentlicht.

Derek
quelle
5

Wenn Sie Ihre Haltepunkte bei allen Ausnahmen in belassen möchten (was ich sehr nützlich finde), können Sie einfach eine if-Anweisung (! TARGET_IPHONE_SIMULATOR) verwenden, bevor Sie Audio ausführen. Dadurch wird Audio nur ausgeführt, wenn Sie ein Gerät verwenden.

Der Simulator gibt keinen Ton aus, ist jedoch sehr hilfreich, wenn Sie keine Musik benötigen und anderen Code debuggen möchten.

Jon Evans
quelle
5

Ich habe dieses Problem gelöst, indem ich außergewöhnliche Haltepunkte gelöscht habe.

haawa
quelle
Auf der linken Seite des xCode-Fensters finden Sie "Haltepunkt". Wählen Sie alle Elemente aus und klicken Sie mit der rechten Maustaste - Löschen.
haawa
1
Wenn für Debugging-Zwecke Ausnahme-Haltepunkte aktiviert sind, wird diese ignorierbare Meldung als Fehler ausgegeben und der Simulator wird gestoppt. Das Entfernen der Ausnahmen löst das Problem, bis ein Fix für den Simulator eintrifft.
Murat Ögat
1

Es ist kein Fehler. Es ist nur eine Erwartung eines Haltepunkts. Dieses Problem tritt auf, wenn Sie in Ihrem XCode "Erwartungs-Haltepunkte" hinzugefügt haben. Hauptvorschlag ist - nicht "Erwartungs-Haltepunkte" in Cocos2d-Projekten.

Vov4yk
quelle
0

Verwenden Sie einfach ein echtes Gerät, um Ihren Code zu testen, und warten Sie auf das nächste Update. Ich denke, das ist deine beste Wahl.

Tinyfool
quelle