Ios Xcode项目使用动态框架中的主界面
我创建了一个动态框架(需要是动态的,因为它包含.swift文件),该框架运行良好,我可以从appDelegate以编程方式加载故事板,如下所示:Ios Xcode项目使用动态框架中的主界面,ios,iphone,xcode,cocoa-touch,Ios,Iphone,Xcode,Cocoa Touch,我创建了一个动态框架(需要是动态的,因为它包含.swift文件),该框架运行良好,我可以从appDelegate以编程方式加载故事板,如下所示: let frameworkBundle = NSBundle(identifier: "DynamicLibrary") let s = UIStoryboard(name: "MainStoryboardName", bundle: frameworkBundle) // Override point for customi
let frameworkBundle = NSBundle(identifier: "DynamicLibrary")
let s = UIStoryboard(name: "MainStoryboardName", bundle: frameworkBundle)
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
// Override point for customization after application launch.
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.makeKeyAndVisible()
self.window!.rootViewController = s.instantiateInitialViewController()
但当我更改ViewController(移动到同一个.storyboard中的另一个屏幕)时,应用程序崩溃。
我想知道是否可以将动态框架中的.storyboard作为项目设置中的主界面。或者,从动态框架加载.storyboard作为主故事板的最佳替代方案是什么。提供比“应用程序崩溃”更具体的错误信息会有所帮助
但一般来说,从bundle加载Interface Builder文件的问题是由于文件中引用的类没有链接到输出中,因为链接器无法获取对bundle的引用。规范的补救办法是将
-all\u load-ObjC
添加到其他链接器标志中。它有自己的一系列问题,但这是一个开始。提供比“应用程序崩溃”更具体的错误信息会有所帮助
但一般来说,从bundle加载Interface Builder文件的问题是由于文件中引用的类没有链接到输出中,因为链接器无法获取对bundle的引用。规范的补救办法是将
-all\u load-ObjC
添加到其他链接器标志中。它有自己的一系列问题,但是是一个开始。我发现了我的问题的问题,只是在这里回答,因为它可能对其他人有用
在一开始,我的故事板和我的资产都在我的项目中,因此我没有问题加载/链接它们。但当我将它们移动到动态库(Cocoa framework touch)中时,我的应用程序开始崩溃,这是因为我加载的资产不再在我的项目中,而是在我的框架中。
因此,当我在项目中拥有一切时,我正在做:
[UIImage imageNamed:@"bar_grey_2.png"]
但在将其移动到我的框架后,我必须更新到:
[UIImage imageNamed:[[NSBundle bundleForClass:[self class]] pathForResource:@"bar_grey_1" ofType:@".png" inDirectory:nil]]
关于动态框架的评论,iOS7不支持动态框架,苹果将拒绝接受任何针对iOS7的带有动态框架的应用。我发现了我的问题所在,只是在这里回答,因为它可能对其他人有用 在一开始,我的故事板和我的资产都在我的项目中,因此我没有问题加载/链接它们。但当我将它们移动到动态库(Cocoa framework touch)中时,我的应用程序开始崩溃,这是因为我加载的资产不再在我的项目中,而是在我的框架中。 因此,当我在项目中拥有一切时,我正在做:
[UIImage imageNamed:@"bar_grey_2.png"]
但在将其移动到我的框架后,我必须更新到:
[UIImage imageNamed:[[NSBundle bundleForClass:[self class]] pathForResource:@"bar_grey_1" ofType:@".png" inDirectory:nil]]
请评论一下动态框架,iOS7不支持动态框架,苹果将拒绝接受任何针对iOS7的动态框架应用。谢谢你的回答,这次我可以避免添加这个邪恶的标志。:)谢谢你的回答,这次我可以避免加上这面邪恶的旗帜问题标记为“swift”:请用swift编写代码示例。谢谢。问题标记为“swift”:请用swift编写代码示例。非常感谢。