AVAudioRecorder видає помилки


80

Раніше я AVAudioRecorderзаписував, він чудово працював на пристроях iOS 4, але вчора ми з’ясували, що запис не працює на iOS5. За допомогою симулятора iPhone 5 я отримав таку помилку:

2011-08-02 11: 09: 03.586 Moodle [7832: 10103] Помилка завантаження /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn: dlopen (/ System / Library / Розширення / AudioIPCDriver.kext / Contents / Resources / AudioIPCPlugIn.bundle / Contents / MacOS / AudioIPCPlugIn, 262): Символ не знайдено: ___CFObjCIsCollectable

Чи знаєте ви, звідки виникла ця помилка і як це виправити?


3
У вашому оригінальному запитанні не було запитання, як це виправити, а лише в інших, щоб вони підтвердили, чи мали вони таку ж проблему - ми не хотіли, щоб такі матеріали розміщувались як відповіді та засмічували запитання без потреби. Ваша редакція зробила намір вашого запитання набагато зрозумілішою, хоча я знову відкрив його.
BoltClock

Ви можете оновити [це питання] [1], скористатися пристроєм, щоб протестувати свій код. [1]: stackoverflow.com/questions/7290418/…
HelloWorld

Відповіді:


29

Ця помилка - це просто консольний шум із системного фреймворку, ви повинні ігнорувати це, це не впливає на вас. Якщо ваш додаток аварійно завершує роботу або не реєструє, справжня причина в іншому.

AVAudioRecorder чудово працює на iOS 5, навіть якщо викидає (і ловить) винятки під час звичайних операцій, що ускладнює налагодження.


1
Дякую за цю відповідь. Мені було встановлено Xcode, щоб розірвати винятки, і мені було цікаво, чому мій відеопрогравач виходить з ладу!
Amy Worrall

28
О, це впливає на мене добре. Це впливає на мене так само, як спам впливає на мою вхідну скриньку: шумуючи мій інформаційний потік, ускладнюючи пошук корисних повідомлень. Колоди повинні бути чистими. Потрібно усунути спам. Цю помилку слід виправити.
OldPeculier

hooleyhoop: "AVAudioRecorder чудово працює на iOS 5, навіть якщо викидає (і ловить) винятки під час звичайних операцій, що ускладнює налагодження." - Я не впевнений, що погоджуюся з вашим визначенням "працює чудово".
Грег Малетич

11

Я також відчував ці помилки з моменту переходу на iOS5. Я не записую, а відтворюю звуки за допомогою AVAudioPlayer. Здається, це проблема з фреймворками AVAudio під час використання лише симулятора iOS. Тестування на фактичному обладнанні (iPad 2 та iPad 1, у моєму випадку) не призводить до тих самих помилок, що робить мене менш стурбованим, оскільки тестування на апаратному забезпеченні я вважаю тестуванням, яке насправді має значення.

До речі, вибачте, що це не рішення усунення проблеми, а лише підтвердження того, що проблему зазнає не ви єдиний.


8

Я виявив, що ця помилка виникає лише під час використання симулятора. Коли він тестується на реальному пристрої, він працює нормально, і помилок не виникає.

Тож доки Apple не випустить виправлення помилок для Simulator, тестуйте свої програми на пристроях.


5

Якщо ви хочете залишити свої точки зупинки на всіх винятках у (що я вважаю дуже корисним), ви можете просто використати оператор if (! TARGET_IPHONE_SIMULATOR) перед запуском аудіо. Це призведе до того, що аудіо буде запускатися, лише якщо ви використовуєте пристрій.

З тренажера не буде звуку, але це дуже корисно, якщо вам не потрібна музика і ви хочете налагодити інший код.


5

Я вирішив цю проблему, видаливши виняткові точки зупинки.


зліва у вікні xCode знайдіть "точку зупинки". Виберіть усі елементи та клацніть правою кнопкою миші - видалити;
haawa

1
Дійсно, якщо у вас є точки зупинення винятків, увімкнені для налагодження, це неприйнятне повідомлення піднімається як помилка та симулятор зупиняється. Видалення винятків вирішує проблему, доки не з’явиться виправлення для тренажера.
Мурат Огат

1

Це не помилка. Це лише очікування точки зупинку. Ця проблема виникає, якщо ви додали "точки очікування" у своєму XCode. Основна порада - не використовуйте "точки очікування" в проектах Cocos2d.


0

Просто використовуйте справжній пристрій для тестування коду та зачекайте наступного оновлення. Я думаю, це ваш найкращий вибір.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.