我想构建一个自动 iOS 应用程序测试框架。我可以通过 IOHIDFamily 记录触摸事件,所以有什么方法可以重播这个?
我试过这样的GSEvent
void sendclickevent(){     
    mach_port_t thePortOfApp = GSCopyPurpleNamedPort("com.fuckyou.fuck");     
    GSEventRecord header;     
    GSHandInfo click;     
    GSPathInfo pathInfo = {2,2,2,1,1,{50,50}, NULL};     
    bzero(&header, sizeof(header));     
    bzero(&click, sizeof(click));     
    header.type = kGSEventHand;     
    header.subtype = kGSEventSubTypeUnknown;     
    header.location.x = 50;     
    header.location.y = 50;     
    header.windowLocation.x = 50;     
    header.windowLocation.y = 50;     
    header.infoSize = sizeof(GSHandInfo)+sizeof(GSPathInfo);     
    header.timestamp = mach_absolute_time();     
    click.type = kGSHandInfoTypeTouchDown;     
    click.deltaX = 1;     
    click.deltaY = 1;     
    click.pathInfosCount = 1;     
    struct    
    {     
        GSEventRecord record;     
        GSHandInfo hand;     
        GSPathInfo path;     
    } record = {header, click, pathInfo};     
    GSSendEvent(&record, thePortOfApp);     
}
thePortOfApp 返回非零。但是在这个功能结束时,比如按下一个按钮,什么都没有发生。那么有什么问题吗?或者我需要另一种方式将触摸事件发送到 iOS UI?