Wenn die App zum ersten Mal installiert wird, muss die Benachrichtigung zugelassen werden, wie kann ich sie bestätigen? Ist jemand begegnet?So bestätigen Sie eine Systemwarnung wie eine Benachrichtigung zulassen
1
A
Antwort
2
Sie in der Regel Benachrichtigungen und andere Datenanforderungen werden sollte, um spöttisch die Dialoge kommen bis zu verhindern. Sie können die Benachrichtigung auch manuell akzeptieren und Ihre Tests erneut ausführen. Wir haben mit dem Einsatz des privaten UIAutomation-Frameworks experimentiert und gesehen, dass wir damit das erreichen können. Zum Beispiel zum Drücken der linken Alarmtaste.
@interface SystemAlert : NSObject
- (void)tapLeftButton;
@end
@interface SystemAlert (ForMethodCompletionOnly)
+ (id)localTarget;
- (id)frontMostApp;
- (id)alert;
- (id)buttons;
@end
@implementation SystemAlert
+ (void)load {
dlopen([@"/Developer/Library/PrivateFrameworks/UIAutomation.framework/UIAutomation" fileSystemRepresentation], RTLD_LOCAL);
}
- (void)tapLeftButton {
id localTarget = [NSClassFromString(@"UIATarget") localTarget];
id app = [localTarget frontMostApp];
id alert = [app alert];
id button = [[alert buttons] objectAtIndex:0];
[button tap];
}
@end
Aber es scheint, UIAutomation konnte nicht auf einem nicht-Gefängnis gebrochenen Gerät arbeiten. Ich habe Einstellung-> Entwickler-> Benutzerschnittstelle Automatisierung aktivieren, aber die App stürzt ab und zeigen "UIAutomation ist nicht auf diesem Gerät aktiviert. UIAutomation muss in den Einstellungen aktiviert werden." – Paul
Das ist komisch. Ich probierte es auf einem iPhone 6s und es funktionierte für mich gut. Könnten Sie das Gerät neu starten, sicherstellen, dass UIAutomation in den Einstellungen aktiviert ist und versuchen, die Tests erneut auszuführen? – khandpur