【问题标题】:Non public Api Usage非公共 API 使用
【发布时间】:2019-01-10 22:37:30
【问题描述】:

我想使用应用商店连接拒绝的 Webview 上传 iOS 应用。

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

如何解决这个问题?

【问题讨论】:

  • 您是否使用上述任何名称创建了自己的方法?
  • 尽可能重命名你的方法
  • 这是一个基于 nopcommerce 3.8 的项目。我不知道使用了什么方法,我使用 webview 来使用单视图应用程序(iOS 应用程序)创建应用程序

标签: ios api xamarin.forms


【解决方案1】:

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

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 程序集从发布版本的应用程序包中删除。

或者,如果您不需要,直接移除 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

【讨论】:

    猜你喜欢
    • 2019-11-01
    • 2016-08-31
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 2017-11-25
    相关资源
    最近更新 更多