2010-07-18 97 views
-2

我正在爲某人制作應用程序,以及我希望監視的一些事情。我爲每個動作都設置了NSLogs,但我希望能夠將它們發送到控制檯或其他東西。有沒有這樣做?我也不希望用戶知道這一點,我正在監控這一點,因爲我給用戶一個他必須管理的帳戶的密碼,並且我想看看他在做什麼來確保他沒有違反任何規則。當用戶按下按鈕或執行某些操作時如何發送NSLogs

回答

2

我不太明白你想要什麼, 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的內容。這段代碼可能會或可能不會編譯 - 我還沒有嘗試過,但即使這樣做,我建議您編寫自己的解決方案,因爲在長時間的睡眠之後很快就寫下來了!

看,這個應用程序的真正問題不是你等待用戶做他不應該做的事實 - 這是事實,你讓這個用戶能夠做他的事情不應該。如果你不想讓用戶做一些事情 - 那麼不要給他們功能。在用戶已經做了一些事情之後等待電子郵件是一個糟糕的主意 - 到時候,這太遲了。在它發生之前將其停止 - 不要讓他們選擇這樣做。積極主動,不要反動,因爲如果用戶做了他不應該做的事情;它的一切都很好,並且很好地說:「但是我告訴過你不要那麼做!你不被允許」 - 但是你會成爲那個試圖消除他所造成的傷害的人。

+0

這個人正在爲我做一份工作,但具有更改密碼的可訪問性,併發布不應該發佈的內容。這就是爲什麼我想監視他的行爲。他會在我附近的電腦上。 – 2010-07-18 15:23:07

+0

那麼他是否需要功能呢?如果他有機會接觸到這些,那麼我可以看到你的擔憂 - 這是一個巨大的安全問題。 我可能是錯的,但我會創建一個簡單的PHP腳本來發送電子郵件。在URL中傳遞一個字符串(script.php?event =「password-change」等),然後用[NSString setStringWithContentsOfURL]調用PHP腳本 - 將URL作爲參數,然後檢查NSString爲確保它正確地進行。你甚至可以爲它製作一個包裝函數。 也許有更好的選擇,但海事組織這將完成工作。當然,功能不應該在那裏。 – EnOpenUK 2010-07-18 20:58:20

+0

但它不在我的網站上,它在另一家公司的網站上。 – 2010-07-19 01:55:17

相關問題