使用Swift 3和Realm构建一个运动追踪iOS应用

有很多应用程序可以做到这一点。 我知道。 但是最近我搜索了一个特定的跟踪应用程序来监视需要某些特定数据的水上活动,但我找不到。 那么,当您找不到任何东西时该怎么办? 您只是构建自己的应用程序,对不对?

让我们使用Swift 3.1创建一个iOS锻炼跟踪应用程序,并使用Realm记录我们的锻炼情况。

创建一个新项目

与模板“单视图应用程序”

在继续之前,让我们在项目中进行几个配置 ,以接受从“ 用户位置”接收数据 (如果您忘记设置此项,您的应用将崩溃)

  • 转到Info.plist文件并设置两个“隐私”位置键。 您可以根据需要更改此键的值:
  • 启用两个功能:后台模式->位置更新和Healthkit

然后转到Main Storyboard,单击第一个View Controller并嵌入到Navigation View Controller中

如果需要,您不需要使用导航控制器。 但这就是我在此示例中选择的。 行?

建立一个基本的UI

Tracking App 的第一个屏幕将是所有锻炼的列表,以使您有动力继续锻炼并保持更好的锻炼状态,为此,请使用TableView (不要忘记将所有约束标记为View的零) 。 在此视图的“ 导航项”中添加“ 条形按钮项” ,然后将“ 系统项”更改为“添加到元素的属性”检查器中。

对于“ 跟踪屏幕” ,再向“ 主情节提要”中添加一个“ 视图控制器” ,并通过按住Command键并拖动到该视图的“条形按钮”为其创建Segue。 在此视图中,我们需要添加有关当前锻炼的一些基本信息,例如:

  • 距离
  • 持续时间
  • 步伐

随意选择最佳布局。 您将需要3x标签 (距离,持续时间和速度), 1x按钮 (开始/停止锻炼) 和一个MKMapView用于显示跟踪线。 在以优雅的布局显示所有这些元素之后,为所有元素创建IBOutlet并为按钮添加IBAction

让我们去最好的部分。 代码:

在继续之前,我们需要安装Realm,而使用CocoaPods的简单方法就是安装它。 查看文档,然后为您选择最佳方法。 而且,如果您只是安装Pod,请记住关闭Xcode项目并打开.xcworkspace文件 (而不是.xcodeproj)

为了保存您的锻炼,我们需要使用带有属性的常规Swift类创建Realm数据模型。 我创建一个save()方法来保持对象的简单保存。

要在模拟器中测试应用,您将需要手动设置以下图片所示的位置:

好看! 如有任何疑问,请在Github上下载完整的代码,然后查看工作代码:

marcostimm / swift-realm-sport-tracking
swift-realm-sport-tracking –如何使用Swift 3.1和Realm构建体育跟踪应用程序的基本示例 github.com