使用 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 代码应用程序在启动时崩溃

Swift - 无论哪个 ViewController 在应用程序启动时显示revealingSplashView

尝试在启动应用程序时使用 Swift 在 Xcode 中查找用户位置但出现可选错误?

首次启动 / segue swift

Swift 3 OS X 应用程序在启动时启动

Swift 仅在使用导航控制器首次启动时显示视图