akeru-inc/xcnotary

Fails to upload with no error message

cpyarger opened this issue · 5 comments

Failed to upload with no reason

image

Hello,

Under the hood, xcnotary invokes Xcode's xcrun altool. The output suggests that xcrun altool -u $USER -p "@keychain:$AC_PASSWORD" --notarize-app --file $PKG_PATH --output-format xml failed, but the stderr output was empty.

Sometimes, the Xcode tools inconsistently use stdout for error reporting, possible it is happening here. However, stdout isn't being captured right now for this invocation as this wasn't expected.

What is your OS version/Xcode version?

Would you mind running the xcrun altool command above directly to see what the output is?

Thanks.

It's on Github Actions [macos-latest] which is macOS 10.15 not sure on the xcode version

I will post the results shortly

Here is what the issue was, Though This should be output as an error message from the xcnotary tool rather than need to do the extra step that isn't documented anywhere 😺

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>os-version</key>
	<string>10.15.7</string>
	<key>product-errors</key>
	<array>
		<dict>
			<key>code</key>
			<integer>-1011</integer>
			<key>message</key>
			<string>Unable to upload your app for notarization.</string>
			<key>userInfo</key>
			<dict>
				<key>NSLocalizedDescription</key>
				<string>Unable to upload your app for notarization.</string>
				<key>NSLocalizedFailureReason</key>
				<string>Failed to authenticate for session: (
    "Error Domain=ITunesConnectionAuthenticationErrorDomain Code=-22938 \"Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com\" UserInfo={NSLocalizedRecoverySuggestion=Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com, NSLocalizedDescription=Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to appleid.apple.com, NSLocalizedFailureReason=App Store operation failed.}"
)</string>
			</dict>
		</dict>
	</array>
	<key>tool-path</key>
	<string>/Applications/Xcode_12.3.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
	<key>tool-version</key>
	<string>4.029.1194</string>
</dict>
</plist>```

Glad that was helpful, thank you for trying it out! I'm going to add some logic to extract this and potentially other messages that come back from this response. Unfortunately Apple doesn't document these upfront but xcnotary can make a better effort here.

Error reporting has been improved in release v0.4.7