使用 Swift 启动应用程序的次数?
Posted
技术标签:
【中文标题】使用 Swift 启动应用程序的次数?【英文标题】:Count number of times app has been launched using Swift? 【发布时间】:2015-08-12 13:35:22 【问题描述】:我想计算我的 ios 应用程序使用 Swift 启动的次数。
然后我想获取该号码并每次使用NSLog
显示它。
【问题讨论】:
不要在 Swift 中使用NSLog
,而是使用print()
和println()
出于好奇,怎么会?
nburk 的评论在撰写时是合理的,但我来自未来,在这里我们将 oslog()(统一日志记录)作为当前日志记录的最佳实践。 Unified LoggingOSLog
【参考方案1】:
将此添加到AppDelegate
中的applicationDidFinishLaunching
方法中。
Swift 3 和 Swift 4:
// get current number of times app has been launched
let currentCount = UserDefaults.standard.integer(forKey: "launchCount")
// increment received number by one
UserDefaults.standard.set(currentCount+1, forKey:"launchCount")
斯威夫特 2:
// get current number of times app has been launched
let currentCount = NSUserDefaults.standardUserDefaults().integerForKey("launchCount")
// increment received number by one
NSUserDefaults.standardUserDefaults().setInteger(currentCount+1, forKey:"launchCount")
根据documentation,不用再打电话了:
UserDefaults.standard.synchronize()
等待对默认数据库的任何挂起的异步更新并返回;此方法不必要且不应使用。
【讨论】:
我在使用.setInteger
时遇到错误,因为我认为它不接受 currentCount+=1
作为参数。
将currentCount+=1
更改为currentCount+1
,它应该可以工作! :)
非常感谢,我将其更改为currentCount++
,但没有运气。 currentCount+1
成功了。
如果您正在寻找用户启动应用程序的次数,这不是您想要做的。 applicationDidFinishLaunching 也将被系统调用,无需用户交互。见developer.apple.com/library/content/documentation/iPhone/…
不确定这对您是否重要,但如果您将其存储在用户默认值中,则手机未锁定的人可以更改此号码。我会使用核心数据。【参考方案2】:
您可以将 int 存储到 NSUserDefaults。
每次加载应用时,可以增加数量并再次保存。
在 ApplicationDidFinishLaunching 方法中添加此逻辑。
希望这会有所帮助。
【讨论】:
以上是关于使用 Swift 启动应用程序的次数?的主要内容,如果未能解决你的问题,请参考以下文章
Swift - 无论哪个 ViewController 在应用程序启动时显示revealingSplashView