2012-01-27 19 views
6

MPMoviePlayerController, ana ekrana giderken airPlay'ı başarıyla çalıştırıyor ve uygulama arka planda. Ancak, ana düğmeye iki kez dokunduğumda, uygulama çöküyor. Bu iOS 5'de gerçekleşir, ancak 4.3'te değildir.MPMoviePlayerController airPlay oynatma Arka planda çift tıklatın, ana sayfa düğmesine iki kez dokununca kilitlenme

Diğer kodları hariç tutmak için, yalnızca kod basma düğmesinin üzerinde çalışan yeni ve boş bir proje oluşturdum.

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x00000000, 0x00000000 
Crashed Thread: 0 

Last Exception Backtrace: 
0 CoreFoundation     0x33bab8bf 0x33af2000 + 759999 
1 libobjc.A.dylib     0x31bcd1e5 0x31bc4000 + 37349 
2 AVFoundation     0x374f6cb5 -[AVPlayerItem _attachToPlayer:forImmediateEnqueueing:shouldAppendItem:] + 341 
3 AVFoundation     0x374e71f7 -[AVPlayer _insertPlaybackItemOfItem:inPlayerQueueAfterPlaybackItemOfItem:] + 43 
4 AVFoundation     0x374eebf3 __-[AVPlayer _attachItem:andPerformOperation:withObject:]_block_invoke_2 + 1099 
5 libdispatch.dylib    0x3641cd55 0x3641c000 + 3413 
6 libdispatch.dylib    0x36427e8d 0x3641c000 + 48781 
7 CoreFoundation     0x33b7e2dd 0x33af2000 + 574173 
8 CoreFoundation     0x33b014dd 0x33af2000 + 62685 
9 CoreFoundation     0x33b013a5 0x33af2000 + 62373 
10 GraphicsServices    0x31f56fcd 0x31f53000 + 16333 
11 UIKit       0x36d57743 0x36d26000 + 202563 
12 AirplayTest      0x00002e45 main (main.m:16) 
13 AirplayTest      0x00002dd4 start + 40 

Herhangi ipuçları neyin yanlış olabilir:

Jan 27 12:08:01 unknown mediaserverd[295] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: RPCTimeout message received to terminate [295] with reason 'fig rpc timeout -- FigSharedRemote_VolumeCategoryForAudioCategory' 
Jan 27 12:08:01 unknown ReportCrash[308] <Notice>: MS:Notice: Installing: (null) [ReportCrash] (675.00) 
Jan 27 12:08:01 unknown ReportCrash[308] <Error>: Saved crashreport to /Library/Logs/CrashReporter/mediaserverd-2012-01-27-120801.plist using uid: 0 gid: 0, synthetic_euid: 0 egid: 0 
Jan 27 12:08:01 unknown mediaserverd[295] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: RPCTimeout message received; stackshot generated 
Jan 27 12:08:01 unknown mediaserverd[295] <Error>: <<<<FIGSERVER>>>> FigPlayerRemoteServer_KillAndForceCrashReport: TERMINATING our process [295] 
Jan 27 12:08:02 unknown com.apple.launchd[1] <Notice>: (com.apple.mediaserverd) Exited: Killed: 9 
Jan 27 12:08:02 unknown mediaserverd[310] <Notice>: MS:Notice: Installing: com.apple.mediaserverd [mediaserverd] (675.00) 
Jan 27 12:08:02 unknown kernel[0] <Debug>: Sandbox: ignoring builtin profile for platform app: /usr/sbin/mediaserverd 
Jan 27 12:08:02 unknown kernel[0] <Debug>: Sandbox: ignoring builtin profile for platform app: /usr/sbin/mediaserverd 
Jan 27 12:08:03 unknown mediaserverd[310] <Error>: 12:08:03.383370 com.apple.AVConference: /SourceCache/GameKitServices/GameKitServices-344.3/AVConference.subproj/Sources/AVConferenceServer.m:1862: AVConferenceServerStart aborting - device doesn't support conferencing 

ve crashreport içinde i kazasında aşağıdaki çıktıyı almak konsolunda

moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"]]; 

NSError *setCategoryError = nil; 
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlaybackComplete:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:moviePlayerController]; 

[moviePlayerController setMovieSourceType:MPMovieSourceTypeStreaming]; 
[self addObservers]; 
[self.delegate addSubview:moviePlayerController.view]; 
if([moviePlayerController respondsToSelector:@selector(setAllowsAirPlay:)]) 
{ 
    [moviePlayerController setAllowsAirPlay:YES]; 
} 

moviePlayerController.fullscreen = YES; 

moviePlayerController.scalingMode = MPMovieScalingModeAspectFit; 
[moviePlayerController prepareToPlay]; 
[moviePlayerController play]; 

?

+0

Aynı problem vardı. Her zaman, bu arada başka uygulamalar başlatmış olsaydım, böyle bir şey olmazdı. Aygıtın daha fazla kaynağa ihtiyaç duyması durumunda MPMoviePlayerController'in görünümünün üst görünümünün yanlış yüklenmesinden kaynaklandığını farz ettim – reddersky

+0

Arka plana girdiğinde herhangi bir kodunuz var mı? – Bot

+0

Ayrıca bu çökme, onu tamir ettiniz mi? –

cevap

0

Bu, iOS sürüm 5.0'da bir hata gibi görünüyor. IOS 5.1 sürümü ile sabitlenmiş gibi görünüyor.

Bu konuda onay için @Cyril'e teşekkürler.

0

Film oynatıcı denetleyicinizin useApplicationAudioSession özelliğini yalnızca iOS 5 için HAYIR olarak ayarlamayı denediniz mi (yani iOS 3.1 varsayılan davranışını simüle etmek için)? IOS 5'teki ses oturumu işleminde, uygulamalar arasında geçiş yaptığınızda, kesintilerle başa çıktığınızda ses sunucusunun ölmesine neden olabilecek bazı hatalar var gibi görünüyor.

Eğer bu sorunu giderirse, lütfen Apple'a bir hata raporu gönderin. Bir düzeltmeden daha çok bir hack!