誰かのためにアプリケーションを作成していますが、監視したいことがいくつかあります。アクションごとに NSLog をすべて設定していますが、それらをコンソールなどに送信できるようにしたいと考えています。とにかくこれを行うことはありますか?また、ユーザーにそのことを知られたくありません。ユーザーが管理しなければならないアカウントのパスワードをユーザーに渡したので、これを監視しています。また、ルールに違反していないことを確認するために、彼が何をしているのかを確認したいと考えています。
1 に答える
私はあなたがここで望むものを完全には得ていません。NSLog()は、コンソールに出力する標準関数です。少なくともデバッグモードでは、通常、NSLog()はリリースコードから削除されます。(私が知っている大きな一般化ですが、一般的に正しいです)
ユーザーはあなたのマシンにいますか?ネットワーク経由で接続していますか?など。省略した質問がいくつかあります。
さらに、なぜユーザーにルールに違反することをするオプションを与えるのですか?これがあなたの投稿の最大のポイントになると思います。ユーザーは明らかにルールを破る機能を持っています。それらをスパイするのではなく、その機能を変更するのはどうですか?
私が使用しているソフトウェアが「ログに記録」されていて、開発者が私が何をしているかを確認できると思った場合、私はすぐに代替案を検討し始めました。
編集:これは私がこの答えのコメントで説明しようとしていることです。私はこのコードがコンパイル可能であると主張しているのではなく、そのようなソリューションがどのように機能するかを説明しようとしているだけです。それは最高でも最速でもないかもしれません-しかしそれは仕事を成し遂げます。個人的には、理由がなければユーザーはそのような機能を使用すべきではないと個人的に信じています。アプリケーションのソースコードがあるので、その機能を一時的に削除するのは簡単なはずです。
PHPスクリプト-これにより、エラーがメールで送信されます。
<?php
/* Get the specified incident */
$incident = $_GET['incident'];
$app = $_GET['app'];
$email = ''; //Your email address
/* send it to $email, with a subject of $app,
** and the "incident as a message" */
if( mail($email, $app, $incident) ){
echo "SUCCESS";
}
?>
次に、Objective-Cで呼び出すには、NSStringのstringWithContentsOfURLメソッドの機能を使用するクイックラッパー関数を実装します。このような..
-(BOOL) userRuleBreak:(NSString *)incident{
/* We need to generate a URL of http://xxxxxx/perm.php?incident=???&app=???? */
NSUrl *alert = [NSUrl initWithString:[NSString
initWithFormat:@"http://www.xxxxxx.xxx/perm.php?incident=%s&app=%s",
incident, @"APPNAME"];
NSString *status = [NSString stringWithContentsOfURL:alert,
encoding:NSASCIIStringEncoding];
if( status != nil ){
return YES;
} else {
return NO;
}
}
明らかに、最後のifステートメントを、NSStringの内容を実際にチェックするものに置き換えます。このコードはコンパイルされる場合とされない場合があります-私は試していませんが、コンパイルしたとしても、睡眠がほとんどない長い数日後にすぐに作成された独自のソリューションをコーディングすることをお勧めします!
ほら、このアプリケーションの本当の問題は、ユーザーがすべきでないことをするのを待っているという事実ではなく、そのユーザーにすべきでないことをする能力を与えているという事実です。ユーザーに何かをさせたくない場合は、ユーザーに機能を与えないでください。ユーザーがすでに何かをした後、電子メールを待つのはお勧めできません。それまでには手遅れです。それが起こる前にそれを止めなさい-彼らにそれをするオプションを与えないでください。ユーザーが何かをする場合はすべきではないので、積極的で反動的ではありません。「しかし、私はあなたにそうしないように言った!あなたは許可されていない」と言っているのはすべてうまくいっていますが、彼が与えたダメージを元に戻そうとしているのはあなたです。