ios - 非公共 API 使用
问题描述
我想使用被应用商店连接拒绝的 Webview 上传 iOS 应用。
该应用程序引用了 myapp.iOS 中的非公共选择器:
applicationWillTerminate
,setOrientation:animated:
,terminateWithSuccess
. 如果源代码中的方法名称与上面列出的私有 Apple API 匹配。
如何解决这个问题?
解决方案
看起来您已为您的应用启用了测试云。
Test Cloud 使用 Calabash 程序集。
Calabash 程序集使用非公开的 Apple API,这将导致应用程序被 App Store 拒绝。但是,如果未从代码中显式引用 Calabash 程序集,Xamarin.iOS 链接器将从最终 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
推荐阅读
- microsoft-graph-api - Microsoft 图 ErrorMultipleMailboxesNotSupportedForRest 错误
- oracle - 分页查询优化
- java - Selenium IDE Java 记录 findElement(By.LinkText) 但是当脚本运行声称它找不到元素时 JUnit 失败
- sql - 使用 SYS_REFCURSOR 作为 OUT 参数的 Oracle 过程仅显示旧值
- python - 在 DRF 框架中暴露条目 ID 的风险
- matlab - MATLAB 用户定义的类内存使用情况
- node.js - 在 NodeJS 项目中放置 Google Maps API 密钥的位置
- go - Golang r.URL.Query("x") 不返回带有特殊字符的完整值
- javascript - 我在 VScode 中遇到了 Sonarlint 扩展的问题,因为它无法识别 JS 代码
- javascript - 在某些设备(主要是 iPhone)中提交后表单不发送数据