Непубличное использование API

Я хочу загрузить приложение iOS с помощью Webview, которое отклонено при подключении к магазину приложений.

Приложение ссылается на закрытые селекторы в myapp.iOS: applicationWillTerminate, setOrientation:animated:, terminateWithSuccess. Если имена методов в вашем исходном коде совпадают с частными API Apple, перечисленными выше.

Как решить эту проблему?


person sudhanshu agrahari    schedule 03.08.2018    source источник
comment
Вы создали свои собственные методы, используя любое из вышеуказанных имен?   -  person Sanket_B    schedule 03.08.2018
comment
Переименуйте свои методы, если это возможно   -  person Gerald Versluis    schedule 03.08.2018
comment
Это проект на основе nopcommerce 3.8. Я понятия не имею, какие методы используются, и я использую веб-просмотр для создания приложения с помощью приложения Single view (приложение для iOS).   -  person sudhanshu agrahari    schedule 04.08.2018


Ответы (1)


Похоже, у вас включено тестовое облако для вашего приложения.

Test Cloud использует сборку Calabash.

Сборка Calabash использует непубличные API Apple, что приведет к отклонению приложений в App Store. Однако компоновщик Xamarin.iOS удалит сборку Calabash из окончательного IPA, если на нее нет явной ссылки из кода.

Xamarin.Calabash.Start() должен быть включен в AppDelegate.FinishedLaunching внутри условного выражения, такого как:

#if ENABLE_TEST_CLOUD
// requires Xamarin Test Cloud Agent
Xamarin.Calabash.Start();
#endif

...с переменной ENABLE_TEST_CLOUD, включенной в качестве переменной компилятора, отладочные сборки, но не выпуск. Это приведет к тому, что сборка Calabash будет удалена из комплекта приложений в выпускных сборках.

Или вообще удалите Test Cloud, если он вам не нужен.

Инструкции в разделе Проект приложения iOS здесь: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/deploy-test/uitest-and-test-cloud.?tabs=vswin#adding-uitest-support-to-xamarinforms-apps

person Steve Higgins    schedule 06.09.2018