2
votes

Problème lors de la publication d'une application sur l'App Store [Utilisation d'API non publique]

Jusqu'à il y a trois semaines, mon application pouvait la télécharger sur l'App Store sans aucun problème. Cependant, Apple a refusé de télécharger l'application avec un nouveau message concernant l'utilisation des API non publiques.

L'application est développée avec Xamarin dans Visual Studio pour Mac et a mis à jour toutes les bibliothèques et packages. Quelqu'un peut-il m'aider? Parce que je ne trouve pas quel est le problème et que je ne vois aucune solution. Ce sera quelque chose de nouveau?

Merci à tous.

Non-public API usage:

The app references non-public selectors in AppAytoSS.iOS: 
  addTemporaryAttribute:value:forCharacterRange:, 
  addTemporaryAttributes:forCharacterRange:, behaviorWithType:, 
  defaultBaselineOffsetForFont:, defaultLineHeightForFont:, finished, 
  greekingThreshold, horizontalCornerRadius, 
  initWithSource:convolutionState:weights:, initWithType:, 
  postSession:didAddPlayer:, postSession:didReceiveData:fromPlayer:, 
  postSession:didReceiveMessage:withData:fromPlayer:, 
  postSession:didRemovePlayer:, 
  postSession:player:didChangeConnectionState:, 
  postSession:player:didSaveData:, preferredMetalContext, removeData:, 
  removeTemporaryAttribute:forCharacterRange:, setGreekingThreshold:, 
  setHorizontalCornerRadius:, setIsPrimary:, setShouldAntiAlias:, setUUID:, 
  setVerticalCornerRadius:, shouldAntiAlias, 
  temporaryAttribute:atCharacterIndex:effectiveRange:, 
  temporaryAttribute:atCharacterIndex:longestEffectiveRange:inRange:, 
  temporaryAttributesAtCharacterIndex:effectiveRange:, 
  temporaryAttributesAtCharacterIndex:longestEffectiveRange:inRange:, 
  textContainerChangedTextView:, toolTip, usesBackgroundSession, 
  verticalCornerRadius


1 commentaires

Idem ici ... Avez-vous trouvé une solution à ce problème?


3 Réponses :


0
votes

Je trouve un fil de discussion où les gens rencontrent le même problème avec vous récemment: l'état de construction a été changé en binaire non valide .

Donc, je suppose que certains packages de nuget tiers que vous utilisez ont mis à jour et utilisent ces sélecteurs non publics qu'Apple n'autorise pas.

Je vous suggère de vous procurer le code il y a trois semaines et de ne mettre à jour aucun paquet nuget tiers. Puis soumettez à nouveau pour vérifier si c'est le problème.

Vous pouvez également comparer votre référence avec les personnes de référence répertoriées dans ce fil et trouver quelque chose de similaire. Et tous les paquets nuget liés à Player (comme je peux voir un sélecteur de joueur dans la liste des sélecteurs non publics)?


0 commentaires

1
votes

Nous avons eu (exactement) le même problème avec un projet Xamarin iOS et où nous avons pu le résoudre via le comportement de configuration de Build / iOS Build / Linker: Link Framework SDKs only (before Don't Link) - ce que le lien Jack Hua montre comme Solution.

Nous n'avons pas été en mesure de comprendre le problème derrière. Deux MacBook différents ont été utilisés, l'un avec la version la plus récente de XCode, Visual Studio et Xamarin Libs, l'autre avec des versions légèrement plus anciennes. Ce dernier a pu créer un IPA sans l'erreur décrite ci-dessus, la machine mise à jour ne l'était pas.

Cependant, les packages NugGet utilisés étaient identiques, donc je pense que ce problème ne leur est pas lié.


1 commentaires

Ce problème semble être un problème Xamarin car il ne se produit que dans leur dernière mise à jour.



1
votes

Après avoir réglé un problème interne avec l'équipe Xamarin, ils ont conseillé de faire ce qui suit

ajout de --linksdkonly aux arguments mtouch supplémentaires sur la page des paramètres de build iOS
Comme il semble que Visual Studio ignore les paramètres de l'interface graphique

Je l'ai testé et je fais maintenant accepter ma version par Apple sans l'erreur ci-dessus

Voici le problème signalé sur Xamarin https://github.com/xamarin/xamarin-macios/issues/5913


0 commentaires