2017-10-16 17 views
7

CarPlay (simulator 10.3.1) ile çalışıyorum ve MPPlayableContentDataSource içinde tüm yöntemleri uygulayın ancak aşağıdaki yöntem çağrılmıyor.MPPlayableContentDataSource contentItemForIdentifier çağırmıyor: completionHandler:

- (void)contentItemForIdentifier:(NSString *)identifier completionHandler:(void(^)(MPContentItem *__nullable, NSError * __nullable))completionHandler 

Herhangi bir nedenini bilen var mı?

+0

Bazı numberOfItems yönteminde 0 öğe var mı? ya da belki –

+0

kayıtlı herhangi bir tanımlayıcı yok, diğer tüm yöntemler denir. Tanımlayıcılarım var –

+0

Belgeler, 'İçerik öğesi yüklendikten sonra çağrılan bir blok' diyor. Yani içerik öğenizin yüklenmediğini tahmin ediyorum – Lefteris

cevap

0

MPPlayableContentDataSource öğesinin delegesi & dataSource ayarladınız mı? Çünkü bu iki özelliği ayarlamadan, dataSource & temsilcisiyle ilgili tüm yöntemler yürütülmez.

+0

Söz konusu yöntem isteğe bağlıdır ve benim için çalışmaz. Diğer tüm yöntemler işe yarıyor. bu dataSource. Ama önemli değil - içerik CarPlay'de yüklü ve görüntülenir. Bu yönteme, diğer nedenlerden dolayı ihtiyaç duyduğum –

+0

Yöntemi "MPPlayableContentDataSource" Protokolünden miras alınıyor. Bu protokolü o sınıfa devretmiyorsanız, tanımladığınız yöntem kullandığımız diğer yöntemler gibi çalışır. Bu, onu çağırıncaya kadar yürütmeyeceği anlamına gelir. Bu nedenle, sınıf tanımlandığında bu protokolü mi devraldığınıza bakın. Referans için bu bağlantıdan ulaşabilirsiniz https://developer.apple.com/documentation/mediaplayer/mpplayablecontentdatasource?language=objc –

+0

Diğer tüm yöntemler işe yarar. Sınıfım MPPlayableContentDataSource Protokolüne uygun. –

İlgili konular