使用 UI 交付 Cocoapods Pod
Deliver a Cocoapods Pod with UI
我想知道使用 UI 交付 Cocoapods Pod 的最佳方式。
我需要我的 Pod 的用户能够初始化某个入口点视图控制器的实例,然后将其呈现在他们的应用程序中(例如 presentViewController:animated:completion
)。
我看到三个选项:
- 为每个 UI 捆绑
.xib
个文件(这也会让我在内部使用 .xib
个文件而不是故事板)。这样用户就可以初始化第一个视图控制器,然后由我来控制。
- 捆绑整个故事板,但您希望用户如何将其集成到他们的应用程序中?
- 在我的 Pod 中以编程方式构建我的 UI(就像我看到 Braintree 在他们的 SDK 中所做的那样)。
有什么想法吗?
这些选项中的任何一个都可以正常工作。如果您选择使用 xibs 或故事板,您必须记住将这些文件包含在您的 podspec 中,如下所示:
s.resources = "Project/**/*.{png,jpeg,jpg,gif,storyboard,xib,lproj,xcdatamodeld,plist,xcassets}"
还需要注意的一件事是访问您的广告连播包。它不再是 NSBundle.mainBundle()
,因为您的 pod 无权访问主项目的包。相反,您需要像这样 let podBundle = NSBundle(forClass: self)
访问您正在使用的 class 的包
我想知道使用 UI 交付 Cocoapods Pod 的最佳方式。
我需要我的 Pod 的用户能够初始化某个入口点视图控制器的实例,然后将其呈现在他们的应用程序中(例如 presentViewController:animated:completion
)。
我看到三个选项:
- 为每个 UI 捆绑
.xib
个文件(这也会让我在内部使用.xib
个文件而不是故事板)。这样用户就可以初始化第一个视图控制器,然后由我来控制。 - 捆绑整个故事板,但您希望用户如何将其集成到他们的应用程序中?
- 在我的 Pod 中以编程方式构建我的 UI(就像我看到 Braintree 在他们的 SDK 中所做的那样)。
有什么想法吗?
这些选项中的任何一个都可以正常工作。如果您选择使用 xibs 或故事板,您必须记住将这些文件包含在您的 podspec 中,如下所示:
s.resources = "Project/**/*.{png,jpeg,jpg,gif,storyboard,xib,lproj,xcdatamodeld,plist,xcassets}"
还需要注意的一件事是访问您的广告连播包。它不再是 NSBundle.mainBundle()
,因为您的 pod 无权访问主项目的包。相反,您需要像这样 let podBundle = NSBundle(forClass: self)