<app> would like to use your current location
GUI テストに KIF を使用していますが、シミュレーターでは、アプリを初めて実行したときに表示されるアラートで [OK] ボタンを自動的にクリックする方法がないようです。そのポップアップを回避するためにシミュレーターまたはアプリを構成する方法はありますか?
質問する
639 次
2 に答える
2
約 1 年前に KIF メーリング リストにこれに関するスレッドがありました。
これはテストのためだけに行っているCLLocationManager
ため、このアラートを回避するために の一部を簡単に削除できます。
(明らかに、このコードをアプリ ストアに送信すると、速攻で拒否されます。)
[CLLocationManager swizzleInstanceSelector:@selector(startUpdatingLocationFake) toSelector:@selector(startUpdatingLocation)];
[CLLocationManager swizzleInstanceSelector:@selector(locationFake) toSelector:@selector(location)];
// One for class, one for (deprecated) instance method
[CLLocationManager swizzleInstanceSelector:@selector(locationServicesEnabledFake) toSelector:@selector(locationServicesEnabled)];
[CLLocationManager swizzleClassSelector:@selector(locationServicesEnabledFake) toSelector:@selector(locationServicesEnabled)];
これら 2 つの新しいクラス メソッドは次のように定義されます。
+ (void)swizzleInstanceSelector:(SEL)firstSelector toSelector:(SEL)secondSelector;
{
Method swizzleMethod = class_getInstanceMethod(self, firstSelector);
Method method = class_getInstanceMethod(self, secondSelector);
method_exchangeImplementations(method, swizzleMethod);
}
+ (void)swizzleClassSelector:(SEL)firstSelector toSelector:(SEL)secondSelector;
{
Method swizzleMethod = class_getClassMethod(self, firstSelector);
Method method = class_getClassMethod(self, secondSelector);
method_exchangeImplementations(method, swizzleMethod);
}
于 2013-03-22T00:41:40.223 に答える