Mac App Store reviewers can't install my app

Hi everyone,

Has this every happened to you? If so, how did you resolve it?

Submitting my app for review, I got the following rejection:

Guideline 2.4.5(ii) - Performance

The package currently available in App Store Connect cannot be installed and may be corrupted.

Next Steps

Please rebuild your application and upload a new version. If this issue continues, please contact Apple Developer Technical Support for help investigating the issue.

DTS referred me back to app review:

We are unable to help you resolve this matter. Please circle back with the App Review team for assistance.

I'm building the .pkg with productbuild:

xcrun productbuild --product WFH\ Phone\ Webcam.app/Contents/Info.plist --component WFH\ Phone\ Webcam.app /Applications --sign "3rd Party Mac Developer Installer: Mansour Moufid (42A2D88R9U)" --timestamp WFH\ Phone\ Webcam.pkg

and uploading it with altool:

xcrun altool --username "..." --password "..." --validate-app --file WFH\ Phone\ Webcam.pkg --type osx
xcrun altool --username "..." --password "..." --upload-app --file WFH\ Phone\ Webcam.pkg --type osx

The .pkg signature looks fine:

xcrun pkgutil --check-signature WFH\ Phone\ Webcam.pkg 
Package "WFH Phone Webcam.pkg":
   Status: signed by a developer certificate issued by Apple (Development)
   Signed with a trusted timestamp on: 2024-04-29 14:11:27 +0000
   Certificate Chain:
    1. 3rd Party Mac Developer Installer: Mansour Moufid (42A2D88R9U)
       Expires: 2025-03-13 20:11:55 +0000
       SHA256 Fingerprint:
           CB 8A 12 1D 4D 16 29 27 08 30 07 1C 6C F6 1C F4 85 6E AE F1 B1 34 
           68 F7 81 6D C3 3B 1B 8C 5D 32
       ------------------------------------------------------------------------
    2. Apple Worldwide Developer Relations Certification Authority
       Expires: 2030-02-20 00:00:00 +0000
       SHA256 Fingerprint:
           DC F2 18 78 C7 7F 41 98 E4 B4 61 4F 03 D6 96 D8 9C 66 C6 60 08 D4 
           24 4E 1B 99 16 1A AC 91 60 1F
       ------------------------------------------------------------------------
    3. Apple Root CA
       Expires: 2035-02-09 21:40:36 +0000
       SHA256 Fingerprint:
           B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 
           68 C5 BE 91 B5 A1 10 01 F0 24

The app's signature also checks out:

codesign --strict --deep --verbose --verify WFH\ Phone\ Webcam.app 
WFH Phone Webcam.app: valid on disk
WFH Phone Webcam.app: satisfies its Designated Requirement

I have no idea what "cannot be installed and may be corrupted" means and app review is not responding to my request for more information...

Accepted Reply

Solved. The problem was altool. I uploaded the exact same package via the Transporter app and it worked.

At some point in the last year altool changed. (I can only guess my issue had to do with the --upload-app option getting deprecated.) If you use the same command you used to (say, in a script, like you should), it will quietly corrupt your installer package and return success, instead of failing.

Impossible to debug because there is no warning or error, and you don't have access to both sides of the connection. There was no mention of this change to altool in the Xcode release notes, or at developer.apple.com/news...

Lesson is to just use the Transporter app instead of altool.

Replies

Solved. The problem was altool. I uploaded the exact same package via the Transporter app and it worked.

At some point in the last year altool changed. (I can only guess my issue had to do with the --upload-app option getting deprecated.) If you use the same command you used to (say, in a script, like you should), it will quietly corrupt your installer package and return success, instead of failing.

Impossible to debug because there is no warning or error, and you don't have access to both sides of the connection. There was no mention of this change to altool in the Xcode release notes, or at developer.apple.com/news...

Lesson is to just use the Transporter app instead of altool.