创建一个带有故事板的自定义可可豆荚

sam*_*ize 19 xcode objective-c ios cocoapods

我正在创建一个pod,在资源包中我有一个故事板(本地化).

当我尝试实例化故事板时,发生了错误:Could not find a storyboard named 'MyStoryboard' in bundle NSBundle.代码如下所示:

NSURL *bundleURL = [[NSBundle mainBundle] URLForResource:@"MyBundle" withExtension:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithURL:bundleURL];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyStoryboard" bundle:bundle];
Run Code Online (Sandbox Code Playgroud)

MyBundle结构如下所示:

- MyBundle.bundle
  - Base.lproj
    - MyStoryboard.storyboard
  - es.lproj
    - MyStoryboard.strings
Run Code Online (Sandbox Code Playgroud)

故事板可以首先包含在一个包中吗?

我还没有看过包含故事板的Pod的例子.如果你知道任何分享他们的故事板的pod,也请告诉我.

ank*_*nka 12

要记住两件事.

  1. 您可以通过预定义的捆绑包添加您的pod资源

    s.resources = ["Resources/Pod.bundle"]
    
    Run Code Online (Sandbox Code Playgroud)

在这种情况下,您的包的内容将被复制到您的xcode项目,而无需任何"进一步处理".这意味着故事板或xib文件将不会被编译,也不会在您的项目中可用.

  1. 你可以明确提到你的storyboard/nib文件

    s.resources = ["Resources/**/*.storyboard"]
    
    Run Code Online (Sandbox Code Playgroud)

在这种情况下,故事板将被编译并将在您的项目中可用.这个(在撰写本文时)的缺点是您无法使用本地化的故事板,因为所有故事板都将在捆绑的根位置进行处理和复制.因此,.lproj将覆盖不同文件夹中具有相同名称的故事板.


Kei*_*ley 4

你想要这个resources选择。以下是包括他们的一些规格:

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
Run Code Online (Sandbox Code Playgroud)