Domanda

Sto costruendo un'app universale che utilizza un uisplitviewcontroller per l'iPad e dovrebbe funzionare su qualsiasi dispositivo 3.0 come un touch iPhone/iPod di 1 ° gene. Il problema è che, nonostante il fatto che in realtà non sto creando istanze di UisplitViewController mentre l'app è in esecuzione su un iPhone, ho ancora il temuto

dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
  Referenced from: /var/mobile/Applications/.....
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit

Errori nella console quando si tenta di eseguire su un iPod touch di 1 ° gene. Tutto funziona bene sui dispositivi iOS 4 però. Immagino che il problema sia che ho sottoclassato UisplitViewController e si soffoca quando leggo "@Inteface SplitControl: UisplitViewController {" da una riga da un file .h.

L'unico motivo per cui ho sottoclassato è quello di sovrascrivere il metodo SeuutoroToToTerFaceorient. Sto facendo tutta la mia app a livello di programmazione senza Ib. Aiuterebbe se usassi IB per creare quell'adviewController e dirlo per supportare tutti gli orientamenti?

Esiste un modo per sovrascrivere AbboutorotateToInterfaceorrientation senza sottoclassizzare il controller? Qualche altro modo per nascondere UisplitViewController dai dispositivi pre-3.2?

È stato utile?

Soluzione

Tutto quello che devi fare è link Uikit.framework debolmente. In base alle impostazioni generali per il tuo obiettivo, nell'elenco delle "librerie collegate" modificano il tipo per Uikit.framework in "debole" anziché "richiesto".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top