Проблема при публикации приложения в App Store [Использование непубличного API]

#ios #xamarin.forms #app-store

#iOS #xamarin.forms #app-store

Вопрос:

Еще три недели назад мое приложение могло загружать его в App Store без каких-либо проблем. Однако Apple отказалась загружать приложение с новым сообщением об использовании непубличного API.

Приложение разработано с помощью Xamarin в Visual Studio для Mac и обновило все библиотеки и пакеты. Кто-нибудь может мне помочь? Потому что я не могу найти, в чем проблема, и не вижу никакого решения. Это будет что-то новое?

Спасибо всем.

 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. То же самое здесь… Вы нашли решение этой проблемы?

Ответ №1:

У нас была (точно) такая же проблема с проектом Xamarin iOS, и мы смогли ее исправить, установив поведение сборки / сборки / компоновщика iOS: только для SDK-файлов Link Framework (прежде чем не связывать) — то, что Джек Хуа линк показывает в качестве решения.

Однако мы не смогли выяснить причину проблемы. Используются два разных MacBook, один с самой последней версией библиотек XCode, Visual Studio и Xamarin, другой с чуть более старыми версиями. Последний смог создать IPA без описанной выше ошибки, обновленная машина не была.

Однако используемые пакеты NugGet одинаковы, поэтому я думаю, что эта проблема не связана с ними.

Комментарии:

1. Похоже, что эта проблема связана с Xamarin, поскольку она возникает только в их последнем обновлении.

Ответ №2:

После устранения внутренней проблемы с командой Xamarin они посоветовали выполнить следующее

добавление —linksdkonly к дополнительным аргументам mtouch на странице настроек сборки iOS
, поскольку кажется, что Visual Studio игнорирует настройки в GUI

Я протестировал его, и теперь моя сборка принята Apple без вышеуказанной ошибки

Это проблема, возникшая в Xamarin https://github.com/xamarin/xamarin-macios/issues/5913

Ответ №3:

Я нахожу поток, в котором люди недавно столкнулись с той же проблемой, что и вы: build-status-has-changed-to-invalid-binary .

Итак, я предполагаю, что некоторые используемые вами пакеты nuget третьей части обновлены и используют эти непубличные селекторы, которые Apple не разрешает.

Я бы посоветовал вам получить код три недели назад и не обновлять какие-либо пакеты nuget третьей части. Затем отправьте еще раз, чтобы проверить, является ли это проблемой.

Вы также можете сравнить свою ссылку со ссылками людей, перечисленных в этой теме, и найти что-то похожее. И какие-либо пакеты nuget, связанные с плеером (поскольку я вижу некоторый селектор плеера в списке непубличных селекторов)?