4

<app> would like to use your current locationGUI テストに KIF を使用していますが、シミュレーターでは、アプリを初めて実行したときに表示されるアラートで [OK] ボタンを自動的にクリックする方法がないようです。そのポップアップを回避するためにシミュレーターまたはアプリを構成する方法はありますか?

4

2 に答える 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 に答える