c# - Xamarin 后门调用 - 注册商在方法中发现签名不匹配
问题描述
我想在 Xamarin ui 测试中调用后门。对于一种方法,我需要传递一些参数,但它会得到签名不匹配。我遵循了官方文档(https://developer.xamarin.com/api/member/Xamarin.UITest.IApp.Invoke/p/System.String/System.Object[]/)所以不知道为什么或在哪里出错。
这是我的应用程序代码(AppDelegate.cs)
[Export("ConfigurationBackdoor:")]
public void ConfigurationBackdoor(NSString configuration, NSString configurationName)
{
BackdoorHelper.ConfigurationEventBackdoor(configuration, configurationName);
}
这是在我的 xamarin ui 测试代码中:
object[] arguments = { "arg1", "arg2" };
AppContext.App.Invoke("ConfigurationBackdoor:", arguments);
有人知道为什么这不起作用吗?顺便说一句,在 Android 上它运行良好。提前致谢!
解决方案
你可以通过像这样联系你的参数来解决这个问题:
object arguments = "arg1"+" "+"arg2";
AppContext.App.Invoke("ConfigurationBackdoor:", arguments);
然后你可以像这样在你的后门方法中处理它:
[Export("ConfigurationBackdoor:")]
public void ConfigurationBackdoor(NSString configurations)
{
string cr = (string) configurations;
string[] confs= cr.Split(' ');
BackdoorHelper.ConfigurationEventBackdoor(confs[0], confs[1]);
}
推荐阅读
- opencv - 用于opencv问题的覆盆子相机模块驱动程序
- javascript - 通过Javascript获取客户端本地IP地址
- laravel - laravel 聊天机器人集成在自定义网站中
- java - 从 jsp 调用 servlet 中的方法
- python - Python Django 模板中未加载一些静态图像
- memory-management - TLB 是否仅包含单个进程的条目?
- android - 如何解决 Android 应用程序的 audeince 网络中的质量检查问题?
- ios - FileManager.enumerator 在 ios 设备上测试时返回 nil
- javascript - D3图表图例标签重叠
- javascript - 如何用键渲染对象?