gpt4 book ai didi

cocoapods - Cocoapod bundle 在我的应用程序中不可用

转载 作者:行者123 更新时间:2023-12-02 03:08:06 28 4
gpt4 key购买 nike

我正在用一些资源文件创建我自己的 pod。它基本上是这样定义的:

Pod::Spec.new do |s|
s.name = 'MyName'
s.version = '0.0.1'
s.license = { :type => 'MIT' }
s.homepage = 'not important'
s.authors = {
# authors
}
s.summary = '…'

# Source Info
s.source = {
# .. my sources
}
s.source_files = ['Sources/*.swift']

s.resource_bundle = {'MyNameBundle' => ['*.{storyboard,xib,png,jsbundle,meta}']}

s.ios.deployment_target = '9.0'

s.requires_arc = true

结束

pod 使用 pod install 安装,我可以看到资源文件在 MyName/Resources/ 中可用。到目前为止一切顺利。

我什至可以在我的 Pods.pbxcodeproj 中看到有 2 个新目标:MyNameMyNameBundle-Bundle

但问题是,当我尝试列出所有可用的包时:

        NSBundle.allBundles().forEach { 
print("bundle identifier: \($0.bundleIdentifier) - path \($0.bundlePath)")
}

然后就不显示了。

我错过了什么?

最佳答案

好吧,这是一个答案,但我无法真正解释它是如何工作的。如果有人有任何想法,请告诉我。

这篇文章对我帮助很大https://stackoverflow.com/a/35903720/1427775

所以在我的 Pod 中,我必须添加一个空的 swift 类,以便它可以用于加载正确的 NSBundle

let refreshBundle = NSBundle(forClass: MyEmptyClass.self)
let bundleURL = newBundle.resourceURL?.URLByAppendingPathComponent("MyBundle.bundle")

let bundle = NSBundle(URL: bundleURL!)!

似乎并不是所有的 NSBundle 都在启动时加载,这段代码触发了所需包的加载。

关于cocoapods - Cocoapod bundle 在我的应用程序中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41425206/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com