2015-07-28 12 views
5

Tworzę bibliotekę z Cocoapods i Swift 1.2. Mam storyboard, który muszę załadować w mojej bibliotece. Chociaż ja zawsze otrzymuję ten sam błąd:Ładowanie storyboardu z frameworka

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Main' in bundle`.

Co próbowałem:

  • umieścić mojego storyboard wewnątrz folderu Classes
  • położyłem storyboard wewnątrz folderu Assets
  • usunąć aplikacja z urządzenia, oczyść projekt i ponownie zbuduj.
  • Zastosowanie UIStoryboard(name:"Main", bundle:nil)
  • Zastosowanie UIStoryboard(name:"Main", bundle:NSBundle(forClass:self))
  • Zastosowanie UIStoryboard(name:"Main", identifier:myIdentifier)

miałem chociaż w stanie załadować storyboard z moim przykładzie projektu, umieścić wtedy udało mi się jedynie do wystąpienia początkowego kontrolera widoku.

Próba wywołania storyboard!.instantiateViewControllerWithIdentifier(someIdentifier) z początkowego kontrolera widoku zawsze powodowała, że ​​kontroler widoku nie został znaleziony, chociaż wyraźnie widzę, że istnieje kontroler widoku z tym identyfikatorem. Jak mogę rozwiązać ten problem?

+0

'NSBundle (forClass: self)' ... jest "self" klasą w tym samym pakiecie co storyboard? – nhgrif

+0

@nhgrif Tak, jest. Plik storyboard i klasa znajdują się w tym samym folderze. – user26830

+0

Czy dodałeś scenorys do celu? Możesz to sprawdzić w Inspektorze plików (na prawym pasku bocznym). – Glorfindel

Odpowiedz

2

Wystąpił problem. Po prostu niemądre, ale po usunięciu Main.storyboard z projektu, nie usunąłem go z ustawień projektu. Próba załadowania go jako początkowego kontrolera widoku. Po zmianie ustawień, po prostu działa poprawnie.