2011-06-04 3 views
1

私はMac OSX App Storeにシンプルなアプリを提出しましたが、次の説明で拒否されました:私のアプリは拒否されました。それは '/usr/lib/libpcap.A.dylib'にアクセスするのを避けるために何ができますか?

"アプリケーションは、次の場所に読み書きアクセス用のファイルを作成、 ):

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

私は、このようなFSMountServerVolumeSyncやFSGetCatalogInfoなどの一部の炭素のコードを使用しています。

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

編集: これはシェルスクリプトによるものではありません。/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | sed -e 's/^ * SSID:// p' -e d \ ")"

+1

コードを投稿してください。 –

+0

標準のCarbonコールで問題は発生しません。どのようにして 'libpcap'を使っていないのですか?そうでない場合は、Appleに応答して、コードが何をしているかを正確に伝え、 'libpcap.A.dylib'に書き込むことはできないはずです。 –

+0

私はそこに何も書いていないと確信しています。これらの呼び出しは、非標準APIである可能性があります。いいえアイデア、私はちょうどAppleよりも – Tibidabo

答えて

6

問題がairportコマンドを使用してによるものですので、 -lineユーティリティは、Mac OS X 10.6の+をターゲットにしている場合、私はあなたが現在の無線インターフェイスのSSIDを取得するためにCoreWLAN frameworkを使用することをお勧め:

#import <CoreWLAN/CoreWLAN.h> 

CWInterface *wif = [CWInterface interface]; 
if (wif) { 
    // There's an active WiFi connection; get its SSID 
    NSString *currentSSID = wif.ssid; 
} 
+0

を書く必要があると思いますBavariousありがとう!これは超簡単です。私は数時間それをgoogledしかし、これは決して現れなかった。だからこそ、私はその恐ろしいシェルスクリプトで終わったのです。それは魅力のように機能します!再度、感謝します – Tibidabo

0

[OK]をクリックして問題の原因を突き止めました。 fs_usage端末コマンドを使用すると、ファイルシステムの状況を確認できます。

15:58:03.049 stat64 /usr/lib/libpcap.A.dylib 0.000007空港
これが問題であるの/ usr/libに "

|私は" grepをsudoのfs_usage -w" を使用します15:58:03.049開放F = 4(R_ _ _)/usr/lib/libpcap.A.dylib 0.000020空港

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

EDIT:これは私の2番目の質問への答えだったが、SSIDを取得するBavarious簡単な解決策は、私のためにすべての激論を排除;)