From yesterday (22 Feb 2018), it appears iTunes Connect made a change when uploading your builds from Xcode, now ensuring all targets explicitly specify ARM64.
In other words, the Info.plist files for your iOS targets need to contain the following:
<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>
If this array includes armv7, you should remove it, since 32-bit apps are no longer supported by the App Store.
This needs to be added to all targets (so if you have a Today Extension or Notification Extension, you need it on these also).
This is pretty straightforward, but even after doing this, I still received the error. I quickly realised this was due the various CocoaPods modules.
The fix for this is to add a post_install script to your Podfile, which automatically inserts the UIRequiredDeviceCapabilities value.
One more wrinkle though: since I have a watchOS target that uses various CocoaPods. They must be excluded, or iTunes Connect will give a ITMS-90503 error instead (saying that it can't include armv7k if arm64 is specified).
I came up with the following, which checks the platform of the target:
target 'Outcast' do
    platform :ios, '11.0'
    use_frameworks!
    
    pod 'A'
    pod 'B'
    pod 'C'
end
target 'Outcast WatchKit Extension' do
    platform :watchos, '4.0'
    use_frameworks!
    
    pod 'D'
    pod 'E'
    pod 'F'
end
post_install do |installer|
    plist_buddy = "/usr/libexec/PlistBuddy"
    
    installer.pods_project.targets.each do |target|
        puts target.name
        
        name = "#{target.platform_name}"
        
        if name == 'ios'
            puts "Updating #{target.platform_name}"
            
            plist = "Pods/Target Support Files/#{target}/Info.plist"
            
            `#{plist_buddy} -c "Add UIRequiredDeviceCapabilities array" "#{plist}"`
            `#{plist_buddy} -c "Add UIRequiredDeviceCapabilities:0 string arm64" "#{plist}"`
        else
            puts "Didn't match #{target.platform_name}"
        end
    end
end
Obviously, your specific pod entries will look different, but also make sure to specify platform for your targets acordingly.
After that, update your pods:
$ pod update
Hopefully when you now upload to iTunes Connect, you'll get around the error.
Update 1
I didn't need to remove any armv7 support from my iOS targets. This is how my build settings look for my main iOS target:

Update 2
You can manually verify the build before uploading:
- In Xcode, Window -> Organizer
- Find the build, right-click, "Show In Finder"
- Right-click on the xcarchiveand select "Show Package Contents"
- Navigate to "Products" > "Applications" > "YourApp.app"
- Right-click and select "Show Package Contents"
Now check the main Info.plist, then expand Frameworks and check any Info.plist file you find in there.
If you have a watchOS target, go to Watch, and explore the Info.plist files for the watch app, extension and any frameworks to ensure they don't have the arm64 value.