2016-02-02 43 views
2

我正在iOS中创建一个静态库。我正在使用故事板文件。为此,我创建了名为'OfferWallResources.bundle'的资源包文件,其中我添加了名为'Offerwall.storyboard'的故事板文件。我尝试使用下面的代码来访问静态库里面的情节提要:无法在iOS静态库内的资源包文件中访问故事板

NSBundle *bundle = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"OfferWallResources.bundle"]; 
    UIStoryboard *s=[UIStoryboard storyboardWithName:@"Offerwall" bundle:bundle]; 

但我的应用程序与下面的错误而崩溃:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Could not find a storyboard named 'Offerwall' in bundle NSBundle (loaded)'

我也试图访问同一故事板文件目标项目使用相同的代码并且工作正常。但是,我想在库中访问它。我不明白我的错在哪里。

回答

0

我认为你没有正确实例化这个包。试用[NSBundle bundleWithPath:][NSBundle bundleWithURL:]

+0

我试过使用[NSBundle bundleWithPath:]。现在获取以下错误:Interface Builder文件中的未知类OfferwallViewController。此视图控制器出现在我的故事板文件中,并使用代码在库中实例化它:OfferwallViewController * o = [s instantiateViewControllerWithIdentifier:@“OfferwallViewController”]; –

+0

而在故事板中,您有一个视图控制器,其类设置为OfferWallViewController,标识符为“OfferwallViewController”?无论如何,这是另一个问题,让故事板文件似乎工作。 – lluisgh

+0

如何处理第二个问题? –