Export the OTA distribution files through Xcode Organizer
In the window that opened from step 1b, select "Distribute App" on the right hand side.
Select "Development" from the bottom of the list
Select "All Compatible Variants" from the dropdown menu and make sure all checkboxes are checked
For the "App URL" section, go to an AWS S3 bucket and upload a file (grant public access). Note how the AWS public download URL for the file is structured. Use this format to enter a URL for your app by replacing your test files name with "myApp.ipa" (and replace "myApp" with the name of your app)
For the two image URLs, paste in any image URL, preferably also hosted publicly on an AWS S3 bucket
Select "Automatically manage signing"
Once the final page loads, select "Export"
You may now close Xcode
In your AWS S3 bucket, upload the required files
The first file to upload is your "manifest.plist". Find it in the root directory of the exported OTA project folder
The second file is your "myApp.ipa" file, found in the "Apps" folder inside the exported OTA project folder
Lastly, upload the other "myApp-12snjjj12334kngc1h134.ipa" file. Note the random letters and numbers at the end of your ".ipa" file name will be different from the file name above.
Verify that the URLs match those stated in the "manifest.plist"
DO NOT CHANGE THE MANIFEST
Open the "manifest.plist file"
Click to expand "Items", "Item 0", "assets", and "Item 0"
Observe the URL in the "url" section of Item 0. Make sure that it matches the actual URL of the ".ipa" file. If it doesn't, change the name of the ".ipa" file in AWS until the URLs match. When you're done, close (compress) the "assets" section.
Next, click to expand "thinned-assets" and "Item 0"
Observe the URL in the "url" section of Item 0. Make sure that it matches the actual URL of the "myApp-12snjjj12334kngc1h134.ipa" file. If it doesn't, change the name of the "myApp-12snjjj12334kngc1h134.ipa" file in AWS until the URLs match. When you're done, close (compress) the "thinned-assets" section.