2011-10-15 32 views
15

Ứng dụng của tôi chạy trên appstore là sử dụng các tệp mp3 và video không hoạt động kể từ khi cập nhật iOS5.AVFoundation iOS 5

Tôi đã cài đặt xcode 4.2 và ... Khi tôi kiểm tra trong iPhone 5 Simulator hoặc thiết bị tôi nhận được lỗi sau (cho các tập tin âm thanh hoặc video):

Error loading 
System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn: 
dlopen(/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn, 262): 
Symbol not found: ___CFObjCIsCollectable 
Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security 
Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation 
in /System/Library/Frameworks/Security.framework/Versions/A/Security 

Khi tôi cố gắng này trong iPhone 4.3 mô phỏng hoặc thiết bị nó không sụp đổ ..

Tôi đã làm sạch và nhập lại các khuôn khổ liên quan nhưng có vẻ như đó là lỗi

Lưu ý: Ứng dụng của tôi không sử dụng bất kỳ bảo mật nào.

Bạn có thể trợ giúp không?

Trả lời

1

Tôi tìm thấy giải pháp: thay vì NSURLNSString:

NSURL *chemin = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/MySound.wav", [[NSBundle mainBundle] resourcePath]]]; 
NSError *error; 
AVAudioPlayer* mySound = [[AVAudioPlayer alloc] initWithContentsOfURL:chemin error:&error]; 
mySound.delegate = self; 
[chemin release]; 
[mySound Play]; 
+0

Tuy nhiên trái với cùng một vấn đề cho tôi ... –

0

Tôi đã có những lỗi tương tự, nhưng mã của tôi là không khác biệt so với bạn. Tôi không thực sự cần bất kỳ thứ gì trong khung Bảo mật, nhưng việc thêm khuôn khổ đó vào dự án của tôi đã khắc phục vấn đề này.

+0

Không, vẫn không có gì. –

9

Tôi vừa tìm thấy câu trả lời here.

Nếu ứng dụng của bạn gặp sự cố ở đây, hãy tắt Tất cả ngoại lệ trong Tab điểm ngắt XCode 4. Có thể đó là lỗi SDK.

+0

Điều này giải quyết được vấn đề cho tôi, cảm ơn. – aslisabanci

+0

Cảm ơn rất nhiều. Làm việc cho tôi nữa. Có ai biết tại sao đây là trường hợp? – Dash

4

Cố gắng biến người chơi của bạn thành thuộc tính được giữ lại. Tôi đã trải nghiệm như vậy và bởi vì tôi đã tuyên bố người chơi của mình ở địa phương, tôi nghĩ ARC vẫn giữ nguyên ngay khi phương pháp mà tôi tuyên bố rằng người chơi đã hết tầm hoạt động.

Make chơi một tài sản giữ lại

@property (strong)AVAudioPlayer *player; 

Hãy nhớ để thiết lập các đại biểu (self.player.delegate = tự) và sử dụng các phương pháp của đại biểu để làm sạch:

-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)playedSuccessfully { 
    self.player = nil; 
} 
+0

CÓ! Cảm ơn! Điều đó đã làm nó cho tôi. –