非公开API用法

时间:2018-08-03 05:22:09

标签: ios api xamarin.forms

我想使用Webview上传一个iOS应用,但该应用被应用商店连接拒绝。

  

该应用引用了myapp.iOS中的非公共选择器:   applicationWillTerminatesetOrientation:animated:,   terminateWithSuccess。如果您源代码中的方法名称与   上面列出的私有Apple API。

如何解决此问题?

1 个答案:

答案 0 :(得分:3)

您似乎已为您的应用启用了测试云。

Test Cloud使用Calabash程序集。

  

Calabash程序集使用了非公开的Apple API,   导致应用程序被App Store拒绝。但是,Xamarin.iOS   如果链接程序从最终IPA中删除了Calabash程序集,   没有从代码中明确引用。

Xamarin.Calabash.Start()应该包含在诸如以下条件的AppDelegate.FinishedLaunching中:

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

...包含ENABLE_TEST_CLOUD变量作为编译器变量包括在内,但调试版本已发布,但未发布。这将导致Calabash程序集在发行版本中从应用程序包中删除。

或者如果您不需要它,则完全删除它。

iOS应用程序项目 下的说明: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/deploy-test/uitest-and-test-cloud?tabs=vswin#adding-uitest-support-to-xamarinforms-apps