Reputation: 649
When I tried to convert my project from swift 4.1 to 4.2 in xcode 10, I ran into a problem regarding the tests. I never used any unit test (for now!), but the converter failed because the tests do not compile.
The error is :
error: Build input file cannot be found: /Users/xxxxx/Documents/xxx/xxxTests/Info.plist'
There is actually an info.plist file in the specified directory.
I removed the info.plist path in the Build Settings/Packaging/info.plist.
I can compile, and so, I was able to convert my whole project to swift 4.2. But now, I have the following warning :
'Skipping code signing because the target does not have an Info.plist file. (in target 'xxxTests')'
Can someone help me on this ?
Upvotes: 3
Views: 3575
Reputation: 788
You can select the correct plist by navigating to the target > General:
Upvotes: 0
Reputation: 61
You probably displaced the info.plist file into another group.
You can arrange that by going to the project file > test target > Build Settings and look in search field for "Info.plist" and you replace by the new path.
Upvotes: 1
Reputation: 3082
Test target should contain Info.plist file as well as Application target. It's easy to confuse one for another. You can add Info.plist file manually or delete and recreate Test target. You can save the following code to Info.plist file of your *Test
<?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>
Upvotes: 0