簡體   English   中英

Xamarin iOS 應用無法上傳到應用商店

[英]Xamarin iOS app not able to upload to app store

我正在嘗試將我的 iOS 應用程序上傳到 App Store,並在 email 中收到此錯誤消息。

ITMS-90338: Non-public API usage - The app references non-public selectors in MyApp.iOS: accessibilityBrailleMapRenderRegion, accessibilityBrailleMapRenderer, activePlayer, beginAuthorizationWithRequest:, cancelAuthorizationWithRequest:, checkFocusGroupTreeForEnvironment:, commissioningComplete:, connectionTypesMask, determineAppInstallationAttributionWithCompletionHandler:, errorForCHIPErrorCode:, errorToCHIPErrorCode: , lookupAdConversionDetails:, pairDevice:address:port:discriminator:setupPINCode:error:, playerId, serviceExtensionWillTerminate, session:didReceiveData:fromPlayer:, session:didReceiveMessage:withData:fromPlayer:, session:player:didChangeConnectionState:, session:player:didSaveData: , setAccessibilityBrailleMapRenderRegion:, setAccessibilityBrailleMapRenderer:, setConnectionTypesMask:, setListenPort:, sha 紅色控制器,睡眠:,測試:,切換:。 如果您的源代碼中的方法名稱與上面列出的私有 Apple API 匹配,則更改您的方法名稱將有助於防止此應用在以后的提交中被標記。 此外,請注意,上述一個或多個 API 可能位於您的應用程序隨附的 static 庫中。 如果是這樣,它們必須被刪除。 有關詳細信息,請訪問http://developer.apple.com/support/technical/上的技術支持信息

為了解決這個問題,我搜索了解決方案中的所有方法名稱。

我發現的唯一匹配是didReceiveMessage項目中 AppDelegate.cs 中的 didReceiveMessage。 FirebasePushNotificationManager.DidReceiveMessage(userInfo);

完整的 function 在這里。

public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
        {
            // If you are receiving a notification message while your app is in the background,
            // this callback will not be fired 'till the user taps on the notification launching the application.

            // If you disable method swizzling, you'll need to call this method. 
            // This lets FCM track message delivery and analytics, which is performed
            // automatically with method swizzling enabled.
            FirebasePushNotificationManager.DidReceiveMessage(userInfo);
            // Do your magic to handle the notification data
            System.Console.WriteLine(userInfo);

            completionHandler(UIBackgroundFetchResult.NewData);
        }

我不知道如何解決這個問題。

一種解決方案是更改Linker Behavior:設置為Link All但隨后應用程序代碼中斷。

有人遇到過這個問題嗎?

您沒有提供可重現的問題,這限制了您獲得正確答案的能力,所以這個答案僅據我所知。

據我所知,只有當您使用的某些 package 調用這些方法時,才會發生這種情況。 因此,解決方案是刪除 package 並在沒有它的情況下重新創建您的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM