AppLovin / AppLovin-MAX-SDK-iOS

84 stars 69 forks source link

Unable to distribute via testflight. #315

Open ron-recyclefarm opened 1 month ago

ron-recyclefarm commented 1 month ago

MAX SDK Version

12.4.1

Device/Platform Info

Xcode 15.2

Current Behavior

I recently switched from admob to applovin. It worked well in device but when I tried to deploy via testflight, it failed with following error:

Missing Info.plist value. A value for the key “WKApplication”, or “WKWatchKitApp” if your project has a WatchKit App Extension target, is required in “MyApp.app/AppLovinQualityServicePlugin.app” bundle. For details, see: https://developer.apple.com/documentation/watchkit/creating_independent_watchos_apps/setting_up_a_watchos_project (ID: 6caee3d2-4c60-4410-8d68-d0b3b68e1b53)

My app is native and iOS only and have admob adaptor. I tried both 12.4.0 and 12.4.1 but same error. What did I missing?

Expected Behavior

No response

How to Reproduce

Install applovin max and app review sdk Implement native ad Archive and distribute to testflight

Additional Info

2024-04-08 06:08:44 +0000 Platform to submission preferences result after merging and ingestion: { "<DVTPlatform:0x600001b526d0:'com.apple.platform.macosx':<DVTFilePath:0x600000253bf0:'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform'>>" = "<IDEAppSubmissionPreference: 0x60006e6efe70: storeMC: 2, storeBC: 0, devBC: NO, storeODR: 0>"; "<DVTPlatform:0x600001b52400:'com.apple.platform.appletvos':<DVTFilePath:0x600000252df0:'/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform'>>" = "<IDEAppSubmissionPreference: 0x60006e6f2190: storeMC: 2, storeBC: 0, devBC: NO, storeODR: 1>"; "<DVTPlatform:0x600001b525b0:'com.apple.platform.xros':<DVTFilePath:0x6000002535d0:'/Applications/Xcode.app/Contents/Developer/Platforms/XROS.platform'>>" = "<IDEAppSubmissionPreference: 0x60006e6ed320: storeMC: 3, storeBC: 1, devBC: NO, storeODR: 1>"; "<DVTPlatform:0x600001b52490:'com.apple.platform.iphoneos':<DVTFilePath:0x600000252ed0:'/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform'>>" = "<IDEAppSubmissionPreference: 0x60006e6ccdb0: storeMC: 2, storeBC: 0, devBC: NO, storeODR: 1>"; "<DVTPlatform:0x600001b52520:'com.apple.platform.watchos':<DVTFilePath:0x600000253170:'/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform'>>" = "<IDEAppSubmissionPreference: 0x60006e6f31e0: storeMC: 2, storeBC: 0, devBC: NO, storeODR: 1>"; } 2024-04-08 06:09:11 +0000 Validating RecycleFarmDevRelease 2024-04-08 06:09:34 +0000 Distribution record info for archive: <IDEArchiveDistributionRecord: 0x60004df80d20; task='1', distributionDestination='2', uploadDestination='1', teamID='488AZ3KPQ4', signingCertificateSHA1='A745DE12802E1DC1CF91FBB90491892BD4EEA974', uniqueIdentifier='9f027945-e216-49f7-9961-ae27fd6590b9', packagePath='(null)', preparationEvent='<IDEArchiveDistributionEvent: 0x60009c8f41e0; title='Prepared archive for validation', shortTitle='Prepared', date='2024-04-08 06:08:28 +0000', errors='( )', warnings='( )', infoMessages='( )', state='2'>', uploadEvent='(null)', validationEvent='<IDEArchiveDistributionEvent: 0x60009c8f4140; title='Validation failed', shortTitle='Validation failed', date='2024-04-08 06:09:34 +0000', errors='( "Error Domain=ContentDelivery Code=90906 \"Asset validation failed\" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedDescription=Asset validation failed, NSLocalizedRecoverySuggestion=Missing Info.plist value. A value for the key \U201cWKApplication\U201d, or \U201cWKWatchKitApp\U201d if your project has a WatchKit App Extension target, is required in \U201cRecycleFarmDevRelease.app/AppLovinQualityServicePlugin.app\U201d bundle. For details, see: https://developer.apple.com/documentation/watchkit/creating_independent_watchos_apps/setting_up_a_watchos_project (ID: 1cc37c50-743c-45f1-8d85-dd297138b132)}" )', warnings='( )', infoMessages='( )', state='5'>', processingCompletedEvent='(null)'> 2024-04-08 06:09:34 +0000 Step failed: <IDEDistributionResultStep: 0x60005ac2bf20>: Error Domain=IDEDistributionResultStepErrorDomain Code=-1 "Validation failed with errors" UserInfo={NSLocalizedDescription=Validation failed with errors, IDEDistributionUnderlyingErrors=( "Error Domain=ContentDelivery Code=90906 \"error: Asset validation failed. Missing Info.plist value. A value for the key \U201cWKApplication\U201d, or \U201cWKWatchKitApp\U201d if your project has a WatchKit App Extension target, is required in \U201cRecycleFarmDevRelease.app/AppLovinQualityServicePlugin.app\U201d bundle. For details, see: https://developer.apple.com/documentation/watchkit/creating_independent_watchos_apps/setting_up_a_watchos_project (ID: 1cc37c50-743c-45f1-8d85-dd297138b132).\" UserInfo={NSLocalizedDescription=error: Asset validation failed. Missing Info.plist value. A value for the key \U201cWKApplication\U201d, or \U201cWKWatchKitApp\U201d if your project has a WatchKit App Extension target, is required in \U201cRecycleFarmDevRelease.app/AppLovinQualityServicePlugin.app\U201d bundle. For details, see: https://developer.apple.com/documentation/watchkit/creating_independent_watchos_apps/setting_up_a_watchos_project (ID: 1cc37c50-743c-45f1-8d85-dd297138b132).}" )} 2024-04-08 06:09:34 +0000 [MT] Displaying Validation result for archive RecycleFarmDevRelease

ACATTAN commented 1 month ago

Hi :-)

It seems there are two issues here:

  1. The fact that TestFlight prompts about WatchKit App Extension implies that your project may have some definition that shouldn't be there. Please recheck your project definitions.
  2. The component that causes the error - AppLovinQualityServicePlugin.app - shouldn't be distributed inside your app bundle. This component (we call it "plugin") is part of Ad Review, and is being used during your build (you should be able to see it being invoked in a build phase called "AppLovinQualityService"), but it shouldn't find its way into your final app bundle. It seems something was done wrong in the integration of Ad Review. Please follow the integration instructions for Ad Review as appear here.

Good luck!