Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode项目使用动态框架中的主界面_Ios_Iphone_Xcode_Cocoa Touch - Fatal编程技术网

Ios Xcode项目使用动态框架中的主界面

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

我创建了一个动态框架(需要是动态的,因为它包含.swift文件),该框架运行良好,我可以从appDelegate以编程方式加载故事板,如下所示:

    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编写代码示例。非常感谢。