This is caused by Xcode 9 expecting certain values in exportOptions.plist located in the path that is displayed in the error message. In your case it is ,/Users/JarrodMorgan/Desktop/RoastBot/platforms/ios/exportOptions.plist
.
Here is how exportOptions.plist
looks for me:
<?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>compileBitcode</key>
<false/>
<key>method</key>
<string>development</string>
<key>teamID</key>
<string>TEAM_ID_GOES_HERE</string>
<key>provisioningProfiles</key>
<dict>
<key>YOUR_BUNDLE_ID</key>
<string>PROVISIONIG_PROFILE_UUID_WOULD_BE_HERE</string>
</dict>
<key>signingStyle</key>
<string>manual</string>
<key>signingCertificate</key>
<string>iPhone Developer</string>
</dict>
</plist>
Double check that you have provisioningProfiles
and signingStyle
values in your exportOptions.plist
if you don't then you probably have cordova-ios
version prior to 4.5.2
. This was fixed and released in cordova-ios 4.5.2
please see this PR
In order for your to resolve this error update your cordova-ios
to 4.5.2
or later, drop your plugins and platforms and re-add them.
However in my case after upgrading to cordova-ios 4.5.4
I started to see following error:
ld: 270 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
It turns out that that was caused by the fact that cordova
built cordova-plugin-console
into its core and if you have that plugin in your project than you might get the above error. Simply remove cordova-plugin-console
and this error will go away. Here is what it says on console plugin's github page:
This plugin is no longer being worked on as the functionality provided
by this plugin is now included in cordova-ios 4.5.0 or greater, and
support is already built in to cordova-windows > 5.0.0. You should
remove this plugin from your applications.
Here is the link to the docs.