Ich mache eine App, die ein Framework verwendet, das ich erstelle.Wie überprüft man, ob ein Storyboard in einem bestimmten NSBundle existiert
Das Framework enthält Storyboards, aber in einigen Fällen muss das Projekt, das das Framework verwendet, das Storyboard überschreiben, indem ein neues bereitgestellt wird.
Also mein Ziel ist es zu überprüfen, ob ein Storyboard mit einem bestimmten Namen in [NSBundle mainBundle]
existiert, wenn nicht, dann werde ich die Basisversion von meinem Framework bekommen.
Ich habe versucht, das Storyboard aus dem Hauptbündel zu bekommen und nach dem Ergebnis zu suchen, das Null ist, aber es wirft eine Ausnahme, wenn es es nicht finden kann. Also habe ich dann versucht, die Ausnahme zu fangen und dann das Storyboard aus dem Framework zu laden. Diese funktioniert funktioniert aber es fühlt sich schmutzig an und es könnte die Leistung meiner App gut treffen.
ich auch pathForResource
im Bündel versucht:
if([[NSBundle mainBundle] pathForResource:name ofType:@"storyboard"] != nil) {
}
Aber das findet nie das Storyboard.
Kennt jemand anderer Weise, dass ich prüfen kann, ob ein Storyboard in einem bestimmten Paket existiert?
Da Sie nicht in das Anwendungspaket zur Laufzeit schreiben Sie sollen genau wissen, was in dem Bündel bei der Kompilierung ... – vadian
Der Code ist im Framework. Also kann ich nicht anhand des Frameworks sagen, in welchem Hauptpaket es eingebettet ist. – Swinny89
Ich weiß nicht, ob es helfen wird, aber ein kompiliertes Storyboard hat eine Dateierweiterung von "Storyboardc". –