Как исправить падение AVAudioSession в NotificationServiceExtension только в Unity при воспроизведении mp3-файла в режиме переднего плана? - PullRequest
0 голосов
/ 28 января 2019

Spring board не работает при попытке воспроизвести mp3-файл в уведомлении.

Вот что я сделал.

  • Создайте свой проект iOS в Unity 2017.4.1

  • Добавить новую цель "Расширение службы уведомлений"

  • Отправить уведомление, включая файл mp3, когда мое приложение находится на переднем плане.

  • Сохранение mp3 файла в директорию кеша.

Произошел сбой при нажатии кнопки воспроизведения в уведомлении.

Я пытался протестировать как можно больше устройств, но не могу найти что-либо о версии для iOSили модель устройства.Симптом - это случайные устройства, и на тех же устройствах иногда он работает нормально, а иногда он дает сбой.

Я отправил отчет о сбое в Apple, но единственное, что они дали мне ответ: «Мы подозреваем, что объект клиентакоторый зарегистрировал обработчики уведомлений аудио сеанса, стал недействительным ".И это мне не помогает: (

Вот журнал сбоев.

Hardware Model:      iPhone7,1
Process:             SpringBoard [434]
Path:                /System/Library/CoreServices/SpringBoard.app/SpringBoard
Identifier:          com.apple.springboard
Version:             50 (1.0)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.apple.springboard [73]


Date/Time:           2018-12-18 11:56:19.2058 +0900
Launch Time:         2018-12-18 11:55:14.3826 +0900
OS Version:          iPhone OS 11.2.6 (15D100)
Baseband Version:    6.30.04
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Triggered by Thread:  8

Application Specific Information:
abort() called

Filtered syslog:
None found

Last Exception Backtrace:
0   CoreFoundation                  0x185d2b164 __exceptionPreprocess + 124
1   libobjc.A.dylib                 0x184f74528 objc_exception_throw + 55
2   CoreFoundation                  0x185d2b038 +[NSException raise:format:arguments:] + 103
3   Foundation                      0x1866c5860 -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 87
4   SpringBoard                     0x10088781c 0x10047c000 + 4241436
5   SpringBoard                     0x1008879b4 0x10047c000 + 4241844
6   SpringBoard                     0x1004a8d58 0x10047c000 + 183640
7   UIKit                           0x18f81cdd4 -[UIDevice setProximityMonitoringEnabled:] + 119
8   UserNotificationsUIKit          0x1ab749adc -[NCAudioPlayerController updateProximityMonitoring] + 75
9   UserNotificationsUIKit          0x1ab74a140 -[NCAudioPlayerController handleAudioSessionRouteChangeNotification:] + 179
10  CoreFoundation                  0x185cbd13c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 19
11  CoreFoundation                  0x185cbc6dc _CFXRegistrationPost + 419
12  CoreFoundation                  0x185cbc440 ___CFXNotificationPost_block_invoke + 59
13  CoreFoundation                  0x185d39e24 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1407
14  CoreFoundation                  0x185bf2d60 _CFXNotificationPost + 379
15  Foundation                      0x18661f348 -[NSNotificationCenter postNotificationName:object:userInfo:] + 67
16  AVFAudio                        0x18b564b44 (anonymous namespace)::HandleRouteChange+ 609092 (unsigned int, NSDictionary*) + 1147
17  AVFAudio                        0x18b55bb38 AVAudioSessionPropertyListener+ 572216 (void*, unsigned int, unsigned int, void const*) + 1983
18  AudioToolbox                    0x189853af0 AudioSessionPropertyListeners::CallPropertyListenersImp+ 1407728 (AudioSessionPropertyListeners const&, unsigned int, unsigned int, void const*) + 803
19  AudioToolbox                    0x189950118 AudioSessionPropertyListeners::CallPropertyListeners+ 2441496 (unsigned int, unsigned int, void const*) + 267
20  AudioToolbox                    0x1899903f4 HandleCFPropertyListChange+ 2704372 (unsigned int, unsigned int, unsigned long, unsigned char*, unsigned int) + 707
21  AudioToolbox                    0x189994e04 HandleAudioSessionCFTypePropertyChangedMessage+ 2723332 (unsigned int, unsigned int, void*, unsigned int) + 523
22  AudioToolbox                    0x1899940a8 ProcessDeferredMessage+ 2719912 (unsigned int, __CFData const*, unsigned int, unsigned int) + 1567
23  AudioToolbox                    0x1899935e8 ASCallbackReceiver_AudioSessionPingMessage + 599
24  AudioToolbox                    0x189843c50 _XAudioSessionPingMessage + 51
25  AudioToolbox                    0x189b3ee8c mshMIGPerform + 231
26  CoreFoundation                  0x185cd3e00 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 55
27  CoreFoundation                  0x185cd3504 __CFRunLoopDoSource1 + 439
28  CoreFoundation                  0x185cd0fd8 __CFRunLoopRun + 2195
29  CoreFoundation                  0x185bf0c58 CFRunLoopRunSpecific + 435
30  AVFAudio                        0x18b559cd4 GenericRunLoopThread::Entry+ 564436 (void*) + 163
31  AVFAudio                        0x18b584740 CAPThread::Entry+ 739136 (CAPThread*) + 83
32  libsystem_pthread.dylib         0x1859542b4 _pthread_body + 307
33  libsystem_pthread.dylib         0x185954180 _pthread_start + 311
34  libsystem_pthread.dylib         0x185952b74 thread_start + 3


Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   libdispatch.dylib               0x00000001856c0890 _dispatch_mach_send_and_wait_for_reply + 644
3   libdispatch.dylib               0x00000001856c0d3c dispatch_mach_send_with_result_and_wait_for_reply$VARIANT$mp + 56
4   libxpc.dylib                    0x000000018598fd7c xpc_connection_send_message_with_reply_sync + 196
5   CoreMedia                       0x0000000188f6bff0 FigXPCRemoteClientSendSyncMessageCreatingReply + 36
6   CoreMedia                       0x0000000188f6bf60 FigXPCSendStdCopyPropertyMessage + 116
7   CoreMedia                       0x0000000188e526b0 FigRouteDiscovererRemoteXPC_CopyProperty + 412
8   AVFoundation                    0x000000018b715a78 -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl devicePresenceDetected] + 88
9   MediaRemote                     0x000000019156f668 MRAVRoutingDiscoverySessionHasAvailableEndpoints + 40
10  MediaPlayer                     0x000000019687b36c -[MPAVRoutingController routeOtherThanHandsetAvailable] + 288
11  MediaControls                   0x00000001a9a7a744 -[MediaControlsPanelViewController _updateRoutingCornerView] + 168
12  MediaControls                   0x00000001a9a77ba0 -[MediaControlsPanelViewController _updateHeaderUI] + 1576
13  MediaControls                   0x00000001a9a7ed44 __72-[MediaControlsEndpointController controller:defersResponseReplacement:]_block_invoke + 160
14  libdispatch.dylib               0x00000001856aaa54 _dispatch_call_block_and_release + 24
15  libdispatch.dylib               0x00000001856aaa14 _dispatch_client_callout + 16
16  libdispatch.dylib               0x00000001856b7698 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1016
17  CoreFoundation                  0x0000000185cd3344 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
18  CoreFoundation                  0x0000000185cd0f20 __CFRunLoopRun + 2012
19  CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
20  GraphicsServices                0x0000000187a9cf84 GSEventRunModal + 100
21  UIKit                           0x000000018f3495c4 UIApplicationMain + 236
22  FrontBoard                      0x000000019b78e08c FBSystemAppMain + 344
23  libdyld.dylib                   0x0000000185710568 start + 0

Thread 1 name:  com.apple.uikit.eventfetch-thread
Thread 1:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   Foundation                      0x0000000186625594 -[NSRunLoop+ 50580 (NSRunLoop) runMode:beforeDate:] + 304
6   Foundation                      0x00000001866449ac -[NSRunLoop+ 178604 (NSRunLoop) runUntilDate:] + 96
7   UIKit                           0x000000018feb37a8 -[UIEventFetcher threadMain] + 136
8   Foundation                      0x00000001867270f4 __NSThread__start__ + 996
9   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
10  libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
11  libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 2:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   Foundation                      0x0000000186625594 -[NSRunLoop+ 50580 (NSRunLoop) runMode:beforeDate:] + 304
6   Foundation                      0x000000018667756c -[NSRunLoop+ 386412 (NSRunLoop) run] + 88
7   UIKit                           0x000000018fab89f0 -[UIStatusBarServerThread main] + 684
8   Foundation                      0x00000001867270f4 __NSThread__start__ + 996
9   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
10  libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
11  libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 3:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   Foundation                      0x0000000186625594 -[NSRunLoop+ 50580 (NSRunLoop) runMode:beforeDate:] + 304
6   CoreBrightness                  0x0000000189683684 -[BrightnessSystemClientInternal main] + 1392
7   Foundation                      0x00000001867270f4 __NSThread__start__ + 996
8   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
9   libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
10  libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 4 name:  NetworkLoad
Thread 4:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   GeoServices                     0x000000018be27894 _runNetworkThread + 468
6   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
7   libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
8   libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 5 name:  com.apple.CoreMotion.MotionThread
Thread 5:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   CoreFoundation                  0x0000000185c3fd54 CFRunLoopRun + 116
6   CoreMotion                      0x000000018b0610e8 0x18afe1000 + 524520
7   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
8   libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
9   libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 6:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   SpringBoard                     0x000000010053ce38 0x10047c000 + 790072
6   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
7   libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
8   libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 7 name:  com.apple.springboard.icongeneration
Thread 7:
0   libsystem_kernel.dylib          0x000000018581f568 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018581f3e0 mach_msg + 72
2   CoreFoundation                  0x0000000185cd3108 __CFRunLoopServiceMachPort + 196
3   CoreFoundation                  0x0000000185cd0cd4 __CFRunLoopRun + 1424
4   CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
5   SpringBoard                     0x000000010053cf38 0x10047c000 + 790328
6   libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
7   libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
8   libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4

Thread 8 name:  AVAudioSession Notify Thread
Thread 8 Crashed:
0   libsystem_kernel.dylib          0x00000001858402e8 __pthread_kill + 8
1   libsystem_pthread.dylib         0x00000001859552f8 pthread_kill$VARIANT$mp + 396
2   libsystem_c.dylib               0x00000001857aefbc abort + 140
3   libc++abi.dylib                 0x0000000184f4c068 __cxa_bad_cast + 0
4   libc++abi.dylib                 0x0000000184f4c210 default_unexpected_handler+ 8720 () + 0
5   libobjc.A.dylib                 0x0000000184f74810 _objc_terminate+ 34832 () + 124
6   libc++abi.dylib                 0x0000000184f6454c std::__terminate(void (*)+ 107852 ()) + 16
7   libc++abi.dylib                 0x0000000184f645b8 std::terminate+ 107960 () + 60
8   AudioToolbox                    0x0000000189853af0 AudioSessionPropertyListeners::CallPropertyListenersImp+ 1407728 (AudioSessionPropertyListeners const&, unsigned int, unsigned int, void const*) + 804
9   AudioToolbox                    0x0000000189950118 AudioSessionPropertyListeners::CallPropertyListeners+ 2441496 (unsigned int, unsigned int, void const*) + 268
10  AudioToolbox                    0x00000001899903f4 HandleCFPropertyListChange+ 2704372 (unsigned int, unsigned int, unsigned long, unsigned char*, unsigned int) + 708
11  AudioToolbox                    0x0000000189994e04 HandleAudioSessionCFTypePropertyChangedMessage+ 2723332 (unsigned int, unsigned int, void*, unsigned int) + 524
12  AudioToolbox                    0x00000001899940a8 ProcessDeferredMessage+ 2719912 (unsigned int, __CFData const*, unsigned int, unsigned int) + 1568
13  AudioToolbox                    0x00000001899935e8 ASCallbackReceiver_AudioSessionPingMessage + 600
14  AudioToolbox                    0x0000000189843c50 _XAudioSessionPingMessage + 52
15  AudioToolbox                    0x0000000189b3ee8c mshMIGPerform + 232
16  CoreFoundation                  0x0000000185cd3e00 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
17  CoreFoundation                  0x0000000185cd3504 __CFRunLoopDoSource1 + 440
18  CoreFoundation                  0x0000000185cd0fd8 __CFRunLoopRun + 2196
19  CoreFoundation                  0x0000000185bf0c58 CFRunLoopRunSpecific + 436
20  AVFAudio                        0x000000018b559cd4 GenericRunLoopThread::Entry+ 564436 (void*) + 164
21  AVFAudio                        0x000000018b584740 CAPThread::Entry+ 739136 (CAPThread*) + 84
22  libsystem_pthread.dylib         0x00000001859542b4 _pthread_body + 308
23  libsystem_pthread.dylib         0x0000000185954180 _pthread_body + 0
24  libsystem_pthread.dylib         0x0000000185952b74 thread_start + 4
...