单元测试无法找到info.plist

时间:2018-10-01 14:40:45

标签: ios unit-testing swift4 plist

当我尝试在xcode 10中将项目从swift 4.1转换为4.2时,我遇到了有关测试的问题。我从来没有使用过任何单元测试(现在!),但是转换器由于测试未编译而失败。

错误是:

timeit

在指定目录中实际上有一个info.plist文件。

我在Build Settings / Packaging / info.plist中删除了info.plist路径。

我可以编译,因此,我能够将整个项目转换为Swift 4.2。但是现在,我有以下警告:

error: Build input file cannot be found: /Users/xxxxx/Documents/xxx/xxxTests/Info.plist' 

有人可以帮我吗?

3 个答案:

答案 0 :(得分:0)

测试目标应包含Info.plist文件以及应用程序目标。容易混淆彼此。您可以手动添加Info.plist文件,也可以删除并重新创建测试目标。您可以将以下代码保存到* Test

的Info.plist文件中
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>BNDL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleVersion</key>
    <string>1</string>
</dict>
</plist>

答案 1 :(得分:0)

您可能将info.plist文件放到了另一个组中。

您可以通过以下方法进行安排:转到项目文件>测试目标>构建设置,然后在搜索字段中查找“ Info.plist”,然后替换为新路径。

答案 2 :(得分:0)

您可以通过导航至目标>常规来选择正确的plist:

enter image description here