• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 在 iOS 项目中使用包时出错/如何创建正确的包?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:38:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试在 iOS 项目中包含一个静态库。我导入了整个静态库项目,然后将库链接到“目标依赖项”和“将二进制文件与库链接”中,如下所述:http://www.applausible.com/blog/?p=657

但是我在测试应用程序时遇到了这个错误:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/alexis/Library/Application Support/iPhone Simulator/5.0/Applications/9811107D-0D7E-4178-ACCE-BF43E3043770/PlazappPartnerTest.app> (loaded)' with name 'LauncherView''
*** First throw call stack:
(0x188a052 ......

我猜它无法访问 .xib 文件,但由于它包含在我的库中,我不知道为什么。 如何让主项目“看到”.xib 文件? (如果这确实是问题......)

编辑:

我尝试制作一个包含 .xib 文件的包,并将其包含在我的主项目中,但我无法使用此包。我试过这个:

NSString *bundlePath = [[NSBundle mainBundle] pathForResource"BundleName" ofType"bundle"];
NSBundle *bundle = [NSBundle bundleWithPath:bundlePath];

NSError *error;
[bundle loadAndReturnError:&error];

NSLog(@"bundle error : %@", [error userInfo]);

我得到了这个错误:

NSLocalizedDescription = "The bundle \U201cBundleName.bundle\U201d couldn\U2019t be loaded because its executable couldn\U2019t be located.";
NSLocalizedFailureReason = "The bundle\U2019s executable couldn\U2019t be located.";
NSLocalizedRecoverySuggestion = "Try reinstalling the bundle.";

有什么问题?

我认为我无法加载包含非可执行资源(如 .xib 文件)的包。我说的对吗?

但是,如何从包中加载我的 .xib?



Best Answer-推荐答案


在 Cocoa 编程中,获取 bundle 的方法通常不止一种。我已经成功了:

NSBundle *libBundle = [NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource"BundleName" withExtension"bundle"]];

然后用这个加载 Nib :

MyViewController *myViewController = [[MyViewController alloc] initWithNibName"MyViewController" bundle:libBundle];

您对 loadAndReturnError: 的特定调用会加载 bundle 的可执行代码。由于这个包可能没有任何可执行代码,只是库需要的资源集合,它会给你这个错误。

编辑(回复评论):

我通过在我的库项目中添加一个新目标来制作我的包。从 Mac OS X 包模板开始,我将所有图像、.xib 和其他资源添加到“复制包资源”构建阶段。我将基本 SDK 更改为 iOS(最新)。然后我将包添加到库的依赖项和最终应用的“复制包资源”构建阶段。

如果你只是尝试将 .xib 文件添加到文件夹的方法,.xib 不会编译成 nib,iOS 无法读取它们。

关于ios - 在 iOS 项目中使用包时出错/如何创建正确的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7977784/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap