我想知道在将静态库嵌入iOS项目时MonkeyTalk做了什么。我试图记录一些自动UI测试,我在我的应用程序中发现了一个不受欢迎的行为。
我需要将辅助功能标签添加到自定义UI组件,因为MonkeyTalk没有自动识别它。当我这样做时,我在变量中得到一个nil
,在不添加辅助功能标签时永远不会使用nil
。
如果我更改了辅助功能标签分配,它会在一些初始化(通过标准Obj-C 2.0属性合成的ivars)之后使用它所使用的UI组件的某些行...
这不会按预期运行(从_groupViewController
获取ivar时获得nil):
_groupViewController = [[GroupsViewController alloc] init];
[_groupViewController.view setAccessibilityLabel:kAL_Slider];
// Set _groupViewController ivars through non-custom properties
这样做:
_groupViewController = [[GroupsViewController alloc] init];
// Set _groupViewController ivars through non-custom properties
[_groupViewController.view setAccessibilityLabel:kAL_Slider];
我的问题是,图书馆在内部做什么?它是否在运行时修改任何类型的对象内部?