Uygulama ilk kez kurulursa, bildirime izin vermeniz gerekir, nasıl doğrulayabilirim? Biriyle karşılaştı mı?Sistem uyarısı gibi bildirimi onaylama izni nasıl verilir
1
A
cevap
2
genellikle yukarı çıkmasını diyaloglar önlemek amacıyla bildirimleri ve diğer veriler isteklerini alay edilmelidir. Ayrıca, bildirimi el ile kabul edebilir ve testlerinizi yeniden çalıştırabilirsiniz. Bunun için özel UIAutomation çerçevesini kullanmayı denedik ve bununla başarabileceğimizi gördük. Örneğin, sol uyarı düğmesine basmak için.
@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
Ancak, UIAutomation, bozuk olmayan bir aygıtta çalışamaz gibi görünüyor. Ayar-> Geliştirici-> UI Otomasyonunu etkinleştirmeme karşın, uygulama çökmesi ve "Bu cihazda UIAutomation etkin değil. UIAutomation, Ayarlar'da etkinleştirilmelidir." – Paul
Bu garip. Bir iPhone 6s üzerinde denedim ve benim için iyi çalıştı. Cihazı yeniden başlatır, UIAutomation'ın ayarlarda etkinleştirildiğinden emin olun ve testleri tekrar çalıştırmayı deneyin. – khandpur