Я был в состоянии выполнить усилие пресса/3D Нажмите на значок приложения на iPhone 7 под управлением IOS 10.3. Это было невозможно по 10.2.
Objective-C
Сначала вы должны объявить следующий или импортировать this header
typedef void (^CDUnknownBlockType)(void);
@interface XCEventGenerator : NSObject
+ (id)sharedGenerator;
// iOS 10.3 specific
- (double)forcePressAtPoint:(struct CGPoint)arg1 orientation:(long long)arg2 handler:(CDUnknownBlockType)arg3;
@end
, а затем выполнить силу нажмите
XCUIElement *element = ...; // Get your element
XCUICoordinate *coord = [mapsIcon coordinateWithNormalizedOffset:CGVectorMake(0.5, 0.5)];
[[XCEventGenerator sharedGenerator] forcePressAtPoint:coord.screenPoint orientation:0 handler:^{}]; // handler cannot be nil
Здесь я исполняю усилие пресса на значки «Карты».
Swift (не проверено)
Для Swift вы должны объявить/импортировать один и тот же интерфейс/заголовок, как описано выше, а затем выполнить усилие пресса, как это
let el = ...; // Get your element
let coord = el.coordinate(withNormalizedOffset: CGVector(dx: 0.5, dy: 0.5))
let eventGenerator: XCEventGenerator = XCEventGenerator.sharedGenerator() as! XCEventGenerator
eventGenerator.forcePress(at: coord.screenPoint, orientation: 0) { }
Можете ли вы предоставить образец проекта ? Я пробовал, как вы сказали выше, но все же не заставляет прикоснуться. Кроме того, я пытаюсь заставить касаться иконки на трамплине –