1

簡単なアプリをMacOSXApp Storeに送信しましたが、次の説明で拒否されました。

「アプリケーションは、次の場所でファイルを作成、書き込み、または読み取り/書き込みアクセス用に開いています。

'/usr/lib/libpcap.A.dylib' "

FSMountServerVolumeSyncやFSGetCatalogInfoなどのカーボンコードを使用しています。

これを無効にする方法はありますか?

編集:これは、カーボンではなくシェルスクリプトが原因です:/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | sed -e's / ^ * SSID:// p'-ed \ ")"

4

2 に答える 2

6

問題はairportコマンドラインユーティリティの使用が原因であるため、Mac OS X v10.6 +をターゲットにしている場合は、CoreWLANフレームワークを使用して現在のワイヤレスインターフェイスのSSIDを取得することをお勧めします。

#import <CoreWLAN/CoreWLAN.h>

CWInterface *wif = [CWInterface interface];
if (wif) {
    // There's an active WiFi connection; get its SSID
    NSString *currentSSID = wif.ssid;
}
于 2011-06-05T06:34:35.383 に答える
0

OK、問題の原因を突き止めました。fs_usage terminalコマンドを使用して、filesysytemで何が起こっているかを確認できます。" sudo fs_usage -w | grep" / usr/lib "を使用します

これが問題です:

15:58:03.049 stat64 /usr/lib/libpcap.A.dylib 0.000007空港
15:58:03.049オープンF = 4(R_ _ _)/usr/lib/libpcap.A.dylib0.000020空港

シェルスクリプトを使用して、アクティブなWIFI接続の名前を取得します。空港が/usr/lib/libpcap.A.dylibを読み取り用に開いていることは明らかですが、他のライブラリはそのように開かれていません(no(R_ _))

編集:これは私の2番目の質問に対する答えでしたが、SSIDを取得するためのさまざまな簡単な解決策は私にとってすべての面倒を取り除きます;)

于 2011-06-05T06:09:57.557 に答える