2011-11-23 1 views
8

ユーザー認証のためのWebシートをネットワークで置き換えるためにCaptiveNetworkを使用しようとしました。方法はCNSetSupportedSSIDsです。CaptiveNetwork:CNSetSupportedSSIDsの使用

私のAppのAppDelegateにこのメソッドを追加しようとしましたが、上記の方法で登録したSSIDでホットスポットを使用したい場合は何も起こりません。 Webシートは表示されませんが、私のアプリは開かれていません。

これは私のコードです:

CFStringRef ssids[2] = { CFSTR("Wifi 1"), CFSTR("Wifi 2") }; 
CFArrayRef arr_ssids = CFArrayCreate(NULL, (const void **)ssids, 2, &kCFTypeArrayCallBacks); 

if(CNSetSupportedSSIDs((CFArrayRef)array)) 
{ 
    NSLog(@"Successfully registered supported network SSIDs"); 
} 
else 
{ 
    NSLog(@"Error: Failed to register supported network SSIDs"); 
} 
CFRelease(arr_ssids); 

PS:私はまた私のアプリにURLスキームを追加しました。

ありがとうございました!

答えて

3

アップルにバグを提出しましたが、私たちのアプリがポップアップしないと回答しました。

+1

このような場合はどうなりますか? –

-2

いずれにしても、このコードにはタイプ-oが含まれています。 CNSetSupportedSsidsはここでコードスニペットのarr_ssidsに適合している必要があります。私はどのような変数 '配列'の種類がわからないが、おそらくあなたが望むだろうdatを含んでいない。

+1

これは質問に答えていません。 – Jasarien

1

アップルの完全な実装ではないようです。システム・ライブラリーを使用するには、有効な「エンタイトルメント」が必要です。いくつかのより多くのことを説明するこの便利な記事を参照してください。

http://kalapun.com/blog/2013/02/11/reverse-engineering-ios-app/

関連する問題