新しい NetworkExtension API を試しました。アプリですべてのステップを再現することに成功しました。ただし、Wifi 設定画面の SSID 名の下にカスタム アノテーションがまだ表示されないという問題があります。iOS 9 ベータ 3、xcode 7 ベータ 3 を使用しています。
これらの手順を正常に完了しました。
@note 1 アプリケーションの Info.plist には、'network-authentication' を含む * UIBackgroundModes 配列を含める必要があります。
@note 2 * アプリケーションは、資格の 1 つとして 'com.apple.developer.networking.HotspotHelper' * を設定する必要があります。資格の値はブール値 * 値 true です。
アプリ内のコードは次のとおりです。「インターネット」という名前の SSID に「Try Here」というテキストで注釈を付けようとしています。SSID「インターネット」に対して setConfidence メソッドが呼び出されたというログを取得します。ただし、Wifi 選択画面に実際の注釈は表示されません。
また、アプリ名をデフォルトの注釈として表示することを約束した options オブジェクトに「nil」を渡そうとしました。しかし、それもわかりません。メソッド registerWithOptions() の呼び出しに対して「true」が返され、wifi 設定画面を開くとコールバックが返されます。
NSMutableDictionary* options = [[NSMutableDictionary alloc] init];
[options setObject:@"Try Here" forKey:kNEHotspotHelperOptionDisplayName];
dispatch_queue_t queue = dispatch_queue_create("com.myapp.ex", 0);
BOOL returnType = [NEHotspotHelper registerWithOptions:options queue:queue
handler: ^(NEHotspotHelperCommand * cmd) {
if(cmd.commandType == kNEHotspotHelperCommandTypeEvaluate || cmd.commandType == kNEHotspotHelperCommandTypeFilterScanList ) {
for (NEHotspotNetwork* network in cmd.networkList) {
if ([network.SSID isEqualToString:@"Internet"]){
[network setConfidence:kNEHotspotHelperConfidenceHigh];
NSLog(@"Confidance set to high for ssid:%@",network.SSID);
}
}
}
}];
=========================
私たちが欠けているものを理解するのを手伝ってください。