加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 如何在测试目标中添加/打开捆绑文件

发布时间:2020-12-14 19:46:33 所属栏目:百科 来源:网络整理
导读:我有一个静态库,由应用程序链接.库代码打开一个文件,该文件位于应用程序包中的bundle中,开头完成如下: NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"Config" ofType:@"plist"]; 这工作正常. 但是我想在库中添加一些单元测试代码,因此我
我有一个静态库,由应用程序链接.库代码打开一个文件,该文件位于应用程序包中的bundle中,开头完成如下:

NSString* plistPath = [[NSBundle mainBundle] pathForResource:@"Config" ofType:@"plist"];

这工作正常.

但是我想在库中添加一些单元测试代码,因此我有一个逻辑测试目标.由于文件位于应用程序的包中而不是静态库的包中,因此我复制了Config.plist文件,并通过Copy Bundle Resources将其添加到测试代码目标中.但是,当我执行测试代码时,无法找到该文件.这是为什么?

由于以上是令人困惑的,这里是工作区结构的摘要.

Workspace contains:
    Application Project with application target,which contains (X)
        Config.plist (a)
    Library project which contains:
        Library target,which contains:
            the code opening the file in the bundle (b)
        Test library target,which contains: (Y)
            A Copy of the Config.plist (c)

因此,如果我构建X,那么当b运行时它可以找到一个.但是当我在运行时构建Y然后b找不到c.

解决方法

我发现如果我将[Bundle mainBundle]更改为[NSBundle bundleForClass:[self class]],那么它在两种情况下都有效

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读