Xcode 8 宏 NSLocalizedString 的不明确扩展

2023-11-22

我的单元测试 .pch 文件中有以下内容,允许我的单元测试为本地化文件找到正确的包,并且在我升级到 Xcode8 之前这一切都工作正常。

#undef NSLocalizedString
#define NSLocalizedString(key, comment) [[NSBundle bundleWithIdentifier:@"Tests-Unit"] localizedStringForKey:(key) value:@"" table:nil]

现在,我收到警告

Ambiguous expansion of macro NSLocalizedString 

这可以解释为什么我的单元测试失败,因为它们再也找不到本地化的字符串值。

有什么想法有什么问题吗?我现在需要做一些不同的事情吗?

EDIT:我有一种感觉,这与我所有的源文件有关2 个目标即一个用于项目,一个用于单元测试,这是我们设置的方式。我正在尝试清理它并从单元测试目标中删除所有源文件并添加

@testable import ProjectName

而不是单元测试文件,以便能够访问我的代码进行测试,但我现在得到了

File 'MyFile.swift' is part of module 'ProjectName'; ignoring import.

我最终让一切又恢复正常了。

假设我们的项目名为Panda它由 Obj-C 和 Swift 文件组成。所有这些文件都在我们的Panda and 熊猫测试 target.

STEP 1:确保您的所有文件都具有正确的目标成员资格,即Pandatarget:只有源文件、开发框架、图像等熊猫测试target:只有测试文件、测试框架、模拟数据等

STEP 2:确保您的Panda项目有构建设置 -> 启用可测试性设置为是.

STEP 3:确保您的熊猫测试项目有构建设置 -> 产品模块名称设置为 PandaTests.

STEP 4:按住“选项”按钮,然后单击“产品”即可进行良好的清理。你应该看到一个清理构建文件夹 option.

STEP 5:对于 Swift 单元测试,添加@testable import Panda。由于我们现在已经从熊猫测试目标,单元测试需要一种访问我们的项目文件的方法。这使得我们的 Swift 单元测试能够访问我们的所有 Swift 文件以及那些已包含在我们的文件中的 Obj-C 文件。熊猫桥接标头.h.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xcode 8 宏 NSLocalizedString 的不明确扩展 的相关文章

随机推荐

  • 使用 python 将字典列表插入 SQL 表中

    我正在使用 python 和 sql 数据库迈出第一步 但仍然不确定要使用哪个包以及如何使用 我有一个包含大约 300k 个字典的列表 每个字典大约有 20 个键 这些字典应插入到 SQL 表中 在我看来 字典方法列表的优点是 我明确命名要
  • JUnit 测试未启动 Android 服务

    我有这个测试类来测试远程服务 public class CoreServiceBasicTest extends ServiceTestCase
  • RIA 服务与 WCF 服务

    我正在重写一个 LOB 应用程序 其架构如下 Silverlight Windows Mobile gt WCF gt 实体框架 gt 数据库 移动应用程序应该能够像 silverlight 应用程序一样执行某些操作 在这里使用 RIA 服
  • C++ 中向量是通过值还是通过引用传递给函数

    我正在用 C 编码 如果我有一些功能void foo vector
  • 如何打印保留命名空间的 groovy 节点?

    当我使用此代码输出一些 XML 时 我解析 并修改 了XmlParser XmlParser parser new XmlParser def root parser parseText feedUrl toURL text def wri
  • 单元测试 Web App 时如何模拟应用程序路径

    我正在 MVC HTML 帮助程序中测试代码 该代码在尝试获取应用程序路径时抛出错误 appropriate code that uses System IO Path to get directory that results in st
  • 如何从 FirebaseRecyclerAdapter 中排除项目

    我的代码中有这个代码populateViewHolder public void populateViewHolder final CampaignHolder viewHolder final Campaign campaign fina
  • 使用 python 创建 jpeg 缩略图

    正如标题所说 我正在寻找一种将大量图像转换为不同大小的缩略图的方法 我该如何在 python 中执行此操作 See http www pythonware com products pil index htm import os sys i
  • GDB单步执行功能(下一个)似乎不起作用

    我正在尝试调试我用 C 编写的程序 这是代码 void a void b a int main b return 0 我使用以下方法编译它 g g3 O0 o cards exe cards cpp 这是我的 GDB 会话的输出 gdb b
  • BroadcastReceiver 生命周期——静态变量

    我有一个 BroadcastReceiver 类 我声明了一些静态变量 其值在 onReceive 方法中更新 据我所知 静态变量将在 onReceive 调用中保持其值 当我丢失这些值时是否有可能 比如我的类将被卸载并重置静态变量 这些基
  • 重新排序提交

    我目前正在一个分支上工作 希望将一些提交合并到其他分支中 a b c d e f g branchA o x x x x x x x x x x master x x x x x branchB 字母表示提交 并且x是不相关的提交 然而我注
  • Redbean O/RM 将“日期”存储为 varchar(255)?

    从这段代码来看 toolbox RedBean Setup kickstartDev mysql r toolbox gt getRedBean test r gt dispense test test gt nom Test 1 test
  • ODataModel 在读取中传递“expand”参数

    我想将扩展参数传递给read因为如果我像这样调用该服务 它就不起作用 oModel1 read LinesSet expand ToCells The readAPI 等待选项图作为第二个参数 我们可以使用该属性定义任何查询urlParam
  • 使用 python setup.py Egg_info 安装 scikits.audiolab 时出错

    我正在尝试使用 pip 工具安装 scikits audiolab Pip 似乎运行命令python setup py egg info来自 scikits audiolab 源目录 当这样做时 我收到此错误 Andrews MacBook
  • Cloud Run Build 期间未定义环境变量

    我使用 Google Cloud Run 来容器化 node js 应用程序 我通过以下方式将环境变量添加到谷歌云运行中本指南并期望在我的应用程序代码中使用它们 但 每当我运行构建 云运行构建 时 它都会向我显示process env NO
  • 静态指针是强指针吗?

    在 Objective C 中 我知道静态变量 应该 在程序的生命周期内保留其值 但如果它存储一个指针 它算作strong在ARC 我可以依赖它并确信该实例会never一旦我将其分配给静态变量 就从堆中退出 static ClassA sh
  • 如何从 pandas DataFrame 绘制热图

    这是我的数据框 jan f m a m j 2000 7 894737 22 387006 22 077922 14 5455 15 8038 3 33333 2001 3 578947 11 958763 28 741093 5 0541
  • Codeigniter时区mysql设置

    刚刚意识到为什么我的网站现在将所有日期时间变量显示为 1 小时 我第一次使用 Codeigniter 以前没遇到过这个问题 因此 我在主 index php 文件中包含以下代码 DEFAULT TIMEZONE Set the defaul
  • 我可以重写 Javascript Function 对象来记录所有函数调用吗?

    我可以重写 Function 对象的行为 以便可以在每次函数调用之前注入行为 然后正常进行吗 具体来说 尽管总体想法本身很有趣 我可以将每个函数调用记录到控制台 而不必到处插入 console log 语句吗 然后正常的行为还会继续吗 我确
  • Xcode 8 宏 NSLocalizedString 的不明确扩展

    我的单元测试 pch 文件中有以下内容 允许我的单元测试为本地化文件找到正确的包 并且在我升级到 Xcode8 之前这一切都工作正常 undef NSLocalizedString define NSLocalizedString key