繁体   English   中英

单元测试无法找到 info.plist

[英]Unit tests fails to find the info.plist

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

错误是:

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

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

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

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

'Skipping code signing because the target does not have an Info.plist file. (in target 'xxxTests')'

有人可以帮我吗?

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

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

测试目标应包含 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>

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM