我想使用Webview上传一个iOS应用,但该应用被应用商店连接拒绝。
该应用引用了myapp.iOS中的非公共选择器:
applicationWillTerminate
,setOrientation:animated:
,terminateWithSuccess
。如果您源代码中的方法名称与 上面列出的私有Apple API。
如何解决此问题?
答案 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