私たちはNSUserdefaultsを使用してアプリケーションの最初の起動を検出できます。しかし、iOSの最初の初回起動を検出する方法はありますか?一度に1つずつポップアップを表示する必要があります。iOSで毎日最初の起動を検出するにはどうすればよいですか?
appDelegateの打ち上げで
1
A
答えて
2
は君たちをありがとう!簡単な解決策を得ました。サポートに感謝します
let today = NSDate().formattedAsDay
if (NSUserDefaults.standardUserDefaults().stringForKey(Constants.FIRSTLAUNCH) == today)
{
//Already Launched today
}
else
{
//Today First Launch
NSUserDefaults.standardUserDefaults().setValue(today, forKey:Constants.FIRSTLAUNCH)
}
extension NSDate {
var formatted: String {
let formatter = NSDateFormatter()
formatter.dateFormat = "MM/dd/yyyy"
return formatter.stringFromDate(self)
}
0
それはuserdefaultsまたはタイムスタンプがある場合はどこか、そしてちょうど今日はそれが古いタイムスタンプを交換し、ポップアップに
1
を示している場合、タイムスタンプからこの日付と異なる日付かどうかを確認するには、タイムスタンプの保存最初の打ち上げがあります
applicationDidFinishLaunchingWithOptions
で
、
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// get the time the app last launched
let lastLaunch = NSUserDefaults.standardUserDefaults().doubleForKey("lastLaunch")
let lastLaunchDate = NSDate(timeIntervalSince1970: lastLaunch)
// check to see if lastLaunchDate is today.
let lastLaunchIsToday = NSCalendar.currentCalendar().isDateInToday(lastLaunchDate)
if !lastLaunchIsToday {
// do your stuff, show a popup or whatever
}
// update the last launch value
NSUserDefaults.setDouble(NSDate().timeIntervalSince1970(), forKey: "lastLaunch")
return true
}
0
私はそれはあなたを助けることができる願っています:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let timestamp = NSUserDefaults.standardUserDefaults().doubleForKey(forKey: "lastLaunch")
if !NSDate.init(timeIntervalSinceNow: timestamp).isToday() {
// Show popup
NSUserDefaults.standardUserDefaults().setDouble(NSDate().timeIntervalSince1970, forKey: "lastLaunch")
NSUserDefaults.standardUserDefaults().synchronize()
}
return false
}
extension NSDate {
func isToday() -> Bool {
let today = NSDate()
self.compare(today)
let todayCalendar: NSDateComponents = NSCalendar.currentCalendar().components([.Era, .Year, .Month, .Day], fromDate: today)
let selfCalendar: NSDateComponents = NSCalendar.currentCalendar().components([.Era, .Year, .Month, .Day], fromDate: self)
return todayCalendar.day == selfCalendar.day && todayCalendar.month == selfCalendar.month && todayCalendar.year == selfCalendar.year && todayCalendar.era == selfCalendar.era
}
}
関連する問題
- 1. 最初の起動後に初期ビューコントローラを変更するにはどうすればよいですか?
- 2. 最初のアプリ起動の検出に失敗しました。どうすればいいですか?
- 3. iOSで日付のメタフォーマット検出を無効にするにはどうすればよいですか?
- 4. iOS 10で毎日のローカル通知メッセージを更新するにはどうすればよいですか?
- 5. 最初のアプリケーション起動時にpushviewcontrollerを表示するにはどうすればよいですか?
- 6. 最初の起動時にビューを表示するにはどうすればよいですか?
- 7. IOSでフィンガーサイズを検出するにはどうすればいいですか?
- 8. アプリケーションからJProfilerで起動したことを検出するにはどうすればよいですか?
- 9. uiWebViewでjavascript操作の起動を検出するにはどうすればよいですか?
- 10. 最初のクリックでスライドを移動させ、最初のクリックで左に動かないようにするにはどうすればよいですか?
- 11. 週の最初の曜日の日付を取得するにはどうすればよいですか?
- 12. WCFサービスのアプリケーションプールの再起動を検出するにはどうすればよいですか?
- 13. 毎月最後の日付を取得するにはどうすればよいですか?
- 14. Visual Studio 2010の出力の最初の行に移動するにはどうすればよいですか?
- 15. デバイスがルート(Android)かjailbroken(iOS)かどうかを検出するにはどうすればよいですか?
- 16. 毎日特定の時間にサービス/アラームを起動するようにアプリを設定するにはどうすればよいですか?
- 17. iosでfscalenderの最初の日付と最後の日付を取得するにはどうすればよいですか?
- 18. facebook-ios-sdkのようなアプリを再起動するにはどうすればいいですか?
- 19. jQueryで検証を手動で起動するにはどうすればよいですか?
- 20. DatePickerで週の最初の曜日を設定するにはどうすればよいですか?
- 21. 毎時データをPostgreSQLの毎日、毎週、毎月、および毎年の値に集計するにはどうすればよいですか?
- 22. ファブリックのログを毎日のようにするにはどうすればいいですか?
- 23. 毎月の最新の日時を選択するにはどうすればいいですか?
- 24. バックグラウンドでコンパニオンウォッチアプリからメインiOSアプリを起動するにはどうすればよいですか?
- 25. iOSでマイクの許可を与えるユーザーを検出するにはどうすればよいですか?
- 26. REGEX-アンダースコアの後に最初の日付を取得するにはどうすればよいですか?
- 27. SwiftでiOSで複数行のキーボードペーストイベントを検出するにはどうすればよいですか?
- 28. インテントでアプリケーションを起動するにはどうすればよいですか?
- 29. ウェブページでデフォルトブラウザを起動するにはどうすればよいですか?
- 30. プログラムで.pdfを起動するにはどうすればよいですか?
これまでに試したことを確認するコードを表示してください。 –