App Review Stuck in ‘Waiting for Review’ When Integrating Google SignIn and IronSource SDK Together, but Works Fine Individually

Summary

The issue at hand involves an iOS app that integrates GoogleSignIn and IronSourceSDK for login and in-app advertisements, respectively. When submitted for review with both integrations, the review process becomes stuck at “Waiting for Review”. However, when each integration is submitted individually, the review process completes without issues.

Root Cause

The root cause of this issue can be attributed to several factors, including:

  • Conflicting dependencies between GoogleSignIn and IronSourceSDK
  • Insufficient configuration of the SDKs, leading to a review process deadlock
  • Incompatibility issues between the two SDKs, causing the review to stall

Why This Happens in Real Systems

This issue occurs in real systems due to the complexity of integrating multiple third-party SDKs. The interplay between different libraries and configuration settings can lead to unforeseen consequences, such as the review process becoming stuck.

Real-World Impact

The impact of this issue is significant, as it:

  • Delays app review and approval, affecting the app’s release timeline
  • Affects user experience, as the app cannot be updated or released with new features
  • Increases development costs, as additional time and resources are spent troubleshooting and resolving the issue

Example or Code (if necessary and relevant)

// Import necessary frameworks
import GoogleSignIn
import IronSourceSDK

// Initialize GoogleSignIn and IronSourceSDK
GIDAuthentication.sharedInstance().initialize()
IronSource.initialize(with: "appKey")

How Senior Engineers Fix It

Senior engineers fix this issue by:

  • Carefully reviewing integration documentation for both GoogleSignIn and IronSourceSDK
  • Verifying configuration settings to ensure compatibility between the two SDKs
  • Implementing conflict resolution strategies, such as using dependency managers to resolve conflicts between libraries

Why Juniors Miss It

Junior engineers may miss this issue due to:

  • Lack of experience with integrating multiple third-party SDKs
  • Insufficient understanding of the interplay between different libraries and configuration settings
  • Inadequate testing, failing to identify the issue before submitting the app for review