App Review Rejected, Invalid Binary, App Version

I'm submitting a new app for review. I've done this successfully before, but I don't know what's going wrong with this one.

On the Distribution page it shows "1.0.2 Invalid Binary"

On the App Review page it shows "Unresolved Issues"

On the iOS Submission page it shows Type: "App Version", Status; "Rejected" with the banner text: "Your app version was rejected and no other items submitted can be accepted or approved. You can make edits to your app version below."

I've tried rebuilding and resubmitting a few times and I keep getting the same reaction.

I've tried to figure this out on my own, but I can't figure out what it wants me to do differently. Please can someone provide some direction to let me make progress?

Most recent Submission ID is: faf4b652-d32b-4de5-b357-3b1e5744eaa8

Answered by vicatcu in 870076022

I discovered the root cause was that a new requirement (ITMS-91061: Missing privacy manifest) started being enforced in December that affected the use of the @codetrix-studio/capacitor-google-auth. It seems like that plugin is not being maintained anymore, and I'll be looking into migrating to using @capgo/capacitor-social-login instead.

Thanks for the post.

Have you search the forums for this issue? Are you utilizing any other software besides Xcode? Are you using Objective-C with empty names in the metadata? To identify the binaries with those conditions, you can run the following Terminal command on each binary inside the app: ‘% xcrun dyld_info -objc Payload/YourApp.app/YourApp | grep "(null)”’

Can you check the build log in Xcode and provide me with those messages including the warnings are really important and may give us a clue. Can you share those warnings?

Additionally, could you please share the Xcode version, the minimum operating system requirements, and any relevant build settings that may be pertinent to this task?

I eagerly anticipate your responses to guide you toward a comprehensive resolution for this matter, provided the script yields favorable outcomes.

Otherwise if is not the issue I am thinking with Objective-C, please get it touch with App Store Connect support as they’ll have the reason the binary is invalid.

Albert Pascual
  Worldwide Developer Relations.

This app is built with Ionic 8 / Capacitor 5. Below is the output on the Warnings from the Build. For what it's worth my application code is built in Javascript. Capacitor plugins probably use Swift/Objective-C, but that's at a lower level than my code, and I'm not using any plugins in this project that I haven't used successfully before in approved apps.

App /Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/App.xcodeproj Update to recommended settings

App Run script build phase '[CP] Embed Pods Frameworks' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/App/Assets.xcassets /Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/App/Assets.xcassets:./Splash.imageset/(null)[2d][splash-2732x2732-1.png] The image set "Splash" has 3 unassigned children.

CapacitorCommunityBluetoothLe /Users/vic/dev/nx-myapp-oem/node_modules/@capacitor-community/bluetooth-le/ios/Plugin/Plugin.swift /Users/vic/dev/nx-myapp-oem/node_modules/@capacitor-community/bluetooth-le/ios/Plugin/Plugin.swift:543:75 Cast from '(any JSValue)?' to unrelated type 'UInt16' always fails

CodetrixStudioCapacitorGoogleAuth /Users/vic/dev/nx-myapp-oem/node_modules/@codetrix-studio/capacitor-google-auth/ios/Plugin/Plugin.swift /Users/vic/dev/nx-myapp-oem/node_modules/@codetrix-studio/capacitor-google-auth/ios/Plugin/Plugin.swift:46:79 Conditional downcast from 'String?' to 'String' does nothing

/Users/vic/dev/nx-myapp-oem/node_modules/@codetrix-studio/capacitor-google-auth/ios/Plugin/Plugin.swift:54:13 'getConfigValue' is deprecated: use getConfig() and access config values using the methods available depending on the type.

/Users/vic/dev/nx-myapp-oem/node_modules/@codetrix-studio/capacitor-google-auth/ios/Plugin/Plugin.swift:59:13 'getConfigValue' is deprecated: use getConfig() and access config values using the methods available depending on the type.

AppAuth /Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOS.m /Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOS.m:53:3 'SFAuthenticationSession' is deprecated: first deprecated in iOS 12.0

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOS.m:143:7 'SFAuthenticationSession' is deprecated: first deprecated in iOS 12.0

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOS.m:144:37 'SFAuthenticationSession' is deprecated: first deprecated in iOS 12.0

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOS.m:180:58 'openURL:' is deprecated: first deprecated in iOS 10.0

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOS.m:203:3 'SFAuthenticationSession' is deprecated: first deprecated in iOS 12.0

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOSCustomBrowser.m /Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOSCustomBrowser.m:148:42 'openURL:' is deprecated: first deprecated in iOS 10.0

/Users/vic/dev/nx-myapp-oem/apps/myapp-mobile-app/ios/App/Pods/AppAuth/Source/AppAuth/iOS/OIDExternalUserAgentIOSCustomBrowser.m:156:61 'openURL:' is deprecated: first deprecated in iOS 10.0

IONGeolocationLib Run script build phase '[CP] Copy XCFrameworks' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.

Accepted Answer

I discovered the root cause was that a new requirement (ITMS-91061: Missing privacy manifest) started being enforced in December that affected the use of the @codetrix-studio/capacitor-google-auth. It seems like that plugin is not being maintained anymore, and I'll be looking into migrating to using @capgo/capacitor-social-login instead.

@vicatcu Awesome you found out the issue and thanks for posting that so other developers can be aware of if they get the ITMS-91061 that's what they need to do as well as posting the name of the plugin and the replacement to use. This a complete answer for developers. Thanks!

Albert Pascual
  Worldwide Developer Relations.

App Review Rejected, Invalid Binary, App Version
 
 
Q