Crear una vaina de cocoa personalizada con un storyboard en ella

Estoy creando un pod, y en el package de resources tengo un storyboard (localizado).

Cuando bash crear una instancia de un storyboard, se produjo un error: Could not find a storyboard named 'MyStoryboard' in bundle NSBundle . El código se ve así:

 NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:@"MyBundle" withExtension:@"bundle"]; NSBundle *bundle = [NSBundle bundleWithURL:bundleURL]; UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:bundle]; 

La estructura de MyBundle se ve así:

 - MyBundle.bundle - Base.lproj - MyStoryboard.storyboard - es.lproj - MyStoryboard.strings 

¿Se puede include storyboard en un package en primer lugar?

No he visto ejemplos de Pod que incluyan storyboards. Si conoce algún video que comparte su storyboard, hágamelo saber también.

Solutions Collecting From Web of "Crear una vaina de cocoa personalizada con un storyboard en ella"

Hay dos cosas a tener en count.

  1. Agregue los resources de pod mediante un package pnetworkingefinido como

     s.resources = ["Resources/Pod.bundle"] 

en este caso, el contenido de su package se copyrá en su proyecto xcode sin ningún "procesamiento adicional". Esto significa que los storyboards o los files xib no se comstackrán y no estarán disponibles en su proyecto.

  1. Puedes mencionar explícitamente tus files de storyboard / nib como

     s.resources = ["Resources/**/*.storyboard"] 

En este caso, el guión gráfico se comstackrá y estará disponible en su proyecto. La desventaja de esto (en el momento de escribir esto) es que no puede utilizar storyboards localizados, ya que todos los storyboards serán procesados ​​y copydos en la location raíz de su package. Por lo tanto, los storyboards con el mismo nombre en diferentes carpetas .lproj se sobrescribirán.

Quieres la opción de resources . Aquí hay algunas especificaciones que incluyen las suyas:

 JCAutocompletingSearch/0.9.2/JCAutocompletingSearch.podspec JCAutocompletingSearch/0.9.3/JCAutocompletingSearch.podspec JCAutocompletingSearch/0.9.4/JCAutocompletingSearch.podspec JCAutocompletingSearch/0.9.5/JCAutocompletingSearch.podspec JCAutocompletingSearch/0.9.6/JCAutocompletingSearch.podspec Keystone-Contacts-iOS/1.1.4/Keystone-Contacts-iOS.podspec LumberjackConsole/2.0.0/LumberjackConsole.podspec LumberjackConsole/2.0.1/LumberjackConsole.podspec Mixpanel/2.1.0/Mixpanel.podspec Mixpanel/2.2.0/Mixpanel.podspec Mixpanel/2.2.1/Mixpanel.podspec Mixpanel/2.2.2/Mixpanel.podspec Mixpanel/2.2.3/Mixpanel.podspec Mixpanel/2.3.0/Mixpanel.podspec Mixpanel/2.3.1/Mixpanel.podspec Mixpanel/2.3.2/Mixpanel.podspec Mixpanel/2.3.4/Mixpanel.podspec Mixpanel/2.3.5/Mixpanel.podspec OpenBLE/1.0.0/OpenBLE.podspec 

Actualmente tengo el mismo problema aquí. Aunque no responda la pregunta en sí, me gustaría proporcionar información adicional que probablemente también sea válida en su caso:

Vocación

 NSString *path = [bundle pathForResource:@"MyStoryboard" ofType:@"storyboard"]; NSLog(@"path: %@",path); 

se imprimirá

 /var/mobile/Containers/Bundle/Application/_identifier_/MyApp.app/MyBundle.bundle/Base.lproj/MyStoryboard.storyboard 

es decir, el guión gráfico se encuentra, pero no se puede cargar "de la forma normal".

Solucioné mi problema al usar este código de línea para get el package

 let bundle = Bundle(for: type(of: self))