2016-08-10 2 views

답변

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 
    } 
}