2012-04-28 24 views
-1

アプリの起動時にライセンスフォームを表示していますが、初めてアプリケーションを起動したときに表示されるはずです。常にではない。だから、私はplistまたはユーザーのデフォルトでフラグを格納しようとしましたが、アプリケーションを削除すると(ゴミ箱に移動)、plistまたはuserdefaultsがシステムから削除されないので、私は自分の仕事を達成することができません。MacOS X:アプリが削除されたときにplistファイルを削除する

これは私がplistファイルにフラグを格納し、(Documentsディレクトリにある)ファイルを保存するアプリケーションの起動時に、その次の時間午前、私はそこから読んで知ることができ、下記の

をしようとしているものですアプリが初めて実行されているかどうか。私はここで失敗しています。アプリもシステムから削除されて(ゴミ箱に移動)、私はこのplistファイルを削除できません。

NSUserDefaultsでもフラグを設定しようとしましたが、アプリケーションを削除して再度ビルドしてアプリを起動しても、以前の値が保持されます。私は、アプリがシステムから削除されると、NSUserDefaultsが削除されないのだろうかと疑問に思っていますか?

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];   
    [ud setObject:@"1" forKey:@"APPLAUNCHED"]; // store user default 
    [ud synchronize]; 

誰かに助言してもらえますか?

ありがとうございます。

答えて

1

アプリケーションが削除されると、ユーザーデフォルトとアプリケーションサンドボックスのどちらも自動的に削除されません。私はそれをする方法がないと思う。

+0

こんにちは、ありがとうございます。私は、ユーザーのデフォルトが削除後に削除されていないのを見ている(ゴミ箱に移動)バイナリ。したがって、私は再びアプリケーションをビルドし、アプリを起動しようとすると、ライセンスフォームを表示することができません。 – Getsy

+0

正確です。これは意図された動作です。あなたのアプリを削除してから再インストールするユーザーは、自分のプリファレンスとドキュメントをそのまま使用できます。副作用として、ライセンスフォームに再度記入する必要はありません。私は、使用されていないファイルやサンドボックスがディスク容量の使用に惑わされている場合、そのファイルやサンドボックスを削除するのはエンドユーザの責任と考えています。 – Costique

+0

しかし、それは最初のアプリケーションの起動時にライセンスを表示する必要があります。どうすればこの問題を解決できますか?アプリをゴミ箱に移動すると、ユーザーのデフォルトまたはplistを削除するにはどうすればよいですか?助けや提案をお願いします。 – Getsy

関連する問題