#Xamarin Forms: When Apple rejects your binary for a quirky weird reason

question-mark-2110767_960_720.jpgYou’ve just updated your #Xamarin Forms app, it’s perfect and so you send the update via the Application Loader to Apple and…. the Apple servers reject it for some seeming crazy reason.

Don’t worry. It’s not you. Your code is fine. Here’s a checklist I go through to get the app into the approval process every time.

info.plist

Sometimes Visual Studio changes your info.pist and breaks it.

Review it for the common items like CFBundleName, UIDeviceFamily, UIRequiredDeviceCapabilities. I often find that the Assets catalog is missing suddenly.

Check for it:

	<key>XSAppIconAssets</key>
	<string>Resources/Images.xcassets/AppIcons.appiconset</string>

Certificates

This is the most common issue for me, even with Automatic set. Double and triple-check that your certificate and profile are set correctly.

2019-07-26 12_04_17-Window.png

ipa

After you’ve built your application and are ready to upload the ipa, check to make sure that the ipa file doesn’t have 0 file length images. If it does, just delete the bin and obj folders from the solution and rebuild.

To check for missing files in your ipa, right-click the ipa and unzip it. Then right-click the unzipped file and choose Show Package Contents

bin/obj

Sometimes, though rarely, I have to delete the bin and obj from the solution, then go to the Mac and delete the build folder there too, reboot everything and then rebuild. On the Mac the Build folder is in ~/Library/Caches/Xamarin/mtbs/builds – You can delete anything there.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s