What are the device-specific CMPedometer features supported in individual iPhone and Apple Watch models?












0















I am interested in knowing which Core Motion - Pedometer (CMPedometer) features are supported in which iPhone models.



Specifically I am interested in the bool values of the following properties:



isCadenceAvailable()
isStepCountingAvailable()
isPaceAvailable()
isDistanceAvailable()
isPedometerEventTrackingAvailable()
isFloorCountingAvailable()


I have access to an iPhone SE and a 5s.
On those models, I got the following response:



5s



isCadenceAvailable: false
isStepCountingAvailable: true
isPaceAvailable: false
isDistanceAvailable: true
isPedometerEventTrackingAvailable: false
isFloorCountingAvailable: false


SE



isCadenceAvailable: true
isStepCountingAvailable: true
isPaceAvailable: true
isDistanceAvailable: true
isPedometerEventTrackingAvailable: true
isFloorCountingAvailable: false


I would love it if other members can submit info for the other iPhone models: 6, 6s, 7, 8, X, XR, XS, XS Max. I believe XR, XS and XS Max would provide the same results, as should 8 and X.





Also, similar results for Apple Watch models is also welcome. Here's the data for



S0



isCadenceAvailable: true
isStepCountingAvailable: true
isPaceAvailable: true
isDistanceAvailable: true
isPedometerEventTrackingAvailable: true
isFloorCountingAvailable: false




Here's the code for printing this out:



iOS



import UIKit
import CoreMotion

class ViewController: UIViewController {

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)

print("isCadenceAvailable: (CMPedometer.isCadenceAvailable())")
print("isStepCountingAvailable: (CMPedometer.isStepCountingAvailable())")
print("isPaceAvailable: (CMPedometer.isPaceAvailable())")
print("isDistanceAvailable: (CMPedometer.isDistanceAvailable())")
print("isPedometerEventTrackingAvailable: (CMPedometer.isPedometerEventTrackingAvailable())")
print("isFloorCountingAvailable: (CMPedometer.isFloorCountingAvailable())")
}
}


watchOS



import WatchKit
import Foundation
import CoreMotion

class InterfaceController: WKInterfaceController {
@IBOutlet var boolLabel: WKInterfaceLabel!

override func willActivate() {
super.willActivate()
let b1 = CMPedometer.isDistanceAvailable() ? "Y" : "N"
let b2 = CMPedometer.isStepCountingAvailable() ? "Y" : "N"
let b3 = CMPedometer.isCadenceAvailable() ? "Y" : "N"
let b4 = CMPedometer.isPaceAvailable() ? "Y" : "N"
let b5 = CMPedometer.isPedometerEventTrackingAvailable() ? "Y" : "N"
let b6 = CMPedometer.isFloorCountingAvailable() ? "Y" : "N"
let str = b1 + b2 + b3 + b4 + b5 + b6

boolLabel.setText(str)
}
}


This question is about the info for the other iPhone and watch models. Unfortunately, checking this via the Simulator generates false for all the boolean values. Feel free to copy-paste the above code and run on your device to provide the answers.










share|improve this question



























    0















    I am interested in knowing which Core Motion - Pedometer (CMPedometer) features are supported in which iPhone models.



    Specifically I am interested in the bool values of the following properties:



    isCadenceAvailable()
    isStepCountingAvailable()
    isPaceAvailable()
    isDistanceAvailable()
    isPedometerEventTrackingAvailable()
    isFloorCountingAvailable()


    I have access to an iPhone SE and a 5s.
    On those models, I got the following response:



    5s



    isCadenceAvailable: false
    isStepCountingAvailable: true
    isPaceAvailable: false
    isDistanceAvailable: true
    isPedometerEventTrackingAvailable: false
    isFloorCountingAvailable: false


    SE



    isCadenceAvailable: true
    isStepCountingAvailable: true
    isPaceAvailable: true
    isDistanceAvailable: true
    isPedometerEventTrackingAvailable: true
    isFloorCountingAvailable: false


    I would love it if other members can submit info for the other iPhone models: 6, 6s, 7, 8, X, XR, XS, XS Max. I believe XR, XS and XS Max would provide the same results, as should 8 and X.





    Also, similar results for Apple Watch models is also welcome. Here's the data for



    S0



    isCadenceAvailable: true
    isStepCountingAvailable: true
    isPaceAvailable: true
    isDistanceAvailable: true
    isPedometerEventTrackingAvailable: true
    isFloorCountingAvailable: false




    Here's the code for printing this out:



    iOS



    import UIKit
    import CoreMotion

    class ViewController: UIViewController {

    override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    print("isCadenceAvailable: (CMPedometer.isCadenceAvailable())")
    print("isStepCountingAvailable: (CMPedometer.isStepCountingAvailable())")
    print("isPaceAvailable: (CMPedometer.isPaceAvailable())")
    print("isDistanceAvailable: (CMPedometer.isDistanceAvailable())")
    print("isPedometerEventTrackingAvailable: (CMPedometer.isPedometerEventTrackingAvailable())")
    print("isFloorCountingAvailable: (CMPedometer.isFloorCountingAvailable())")
    }
    }


    watchOS



    import WatchKit
    import Foundation
    import CoreMotion

    class InterfaceController: WKInterfaceController {
    @IBOutlet var boolLabel: WKInterfaceLabel!

    override func willActivate() {
    super.willActivate()
    let b1 = CMPedometer.isDistanceAvailable() ? "Y" : "N"
    let b2 = CMPedometer.isStepCountingAvailable() ? "Y" : "N"
    let b3 = CMPedometer.isCadenceAvailable() ? "Y" : "N"
    let b4 = CMPedometer.isPaceAvailable() ? "Y" : "N"
    let b5 = CMPedometer.isPedometerEventTrackingAvailable() ? "Y" : "N"
    let b6 = CMPedometer.isFloorCountingAvailable() ? "Y" : "N"
    let str = b1 + b2 + b3 + b4 + b5 + b6

    boolLabel.setText(str)
    }
    }


    This question is about the info for the other iPhone and watch models. Unfortunately, checking this via the Simulator generates false for all the boolean values. Feel free to copy-paste the above code and run on your device to provide the answers.










    share|improve this question

























      0












      0








      0


      1






      I am interested in knowing which Core Motion - Pedometer (CMPedometer) features are supported in which iPhone models.



      Specifically I am interested in the bool values of the following properties:



      isCadenceAvailable()
      isStepCountingAvailable()
      isPaceAvailable()
      isDistanceAvailable()
      isPedometerEventTrackingAvailable()
      isFloorCountingAvailable()


      I have access to an iPhone SE and a 5s.
      On those models, I got the following response:



      5s



      isCadenceAvailable: false
      isStepCountingAvailable: true
      isPaceAvailable: false
      isDistanceAvailable: true
      isPedometerEventTrackingAvailable: false
      isFloorCountingAvailable: false


      SE



      isCadenceAvailable: true
      isStepCountingAvailable: true
      isPaceAvailable: true
      isDistanceAvailable: true
      isPedometerEventTrackingAvailable: true
      isFloorCountingAvailable: false


      I would love it if other members can submit info for the other iPhone models: 6, 6s, 7, 8, X, XR, XS, XS Max. I believe XR, XS and XS Max would provide the same results, as should 8 and X.





      Also, similar results for Apple Watch models is also welcome. Here's the data for



      S0



      isCadenceAvailable: true
      isStepCountingAvailable: true
      isPaceAvailable: true
      isDistanceAvailable: true
      isPedometerEventTrackingAvailable: true
      isFloorCountingAvailable: false




      Here's the code for printing this out:



      iOS



      import UIKit
      import CoreMotion

      class ViewController: UIViewController {

      override func viewDidAppear(_ animated: Bool) {
      super.viewDidAppear(animated)

      print("isCadenceAvailable: (CMPedometer.isCadenceAvailable())")
      print("isStepCountingAvailable: (CMPedometer.isStepCountingAvailable())")
      print("isPaceAvailable: (CMPedometer.isPaceAvailable())")
      print("isDistanceAvailable: (CMPedometer.isDistanceAvailable())")
      print("isPedometerEventTrackingAvailable: (CMPedometer.isPedometerEventTrackingAvailable())")
      print("isFloorCountingAvailable: (CMPedometer.isFloorCountingAvailable())")
      }
      }


      watchOS



      import WatchKit
      import Foundation
      import CoreMotion

      class InterfaceController: WKInterfaceController {
      @IBOutlet var boolLabel: WKInterfaceLabel!

      override func willActivate() {
      super.willActivate()
      let b1 = CMPedometer.isDistanceAvailable() ? "Y" : "N"
      let b2 = CMPedometer.isStepCountingAvailable() ? "Y" : "N"
      let b3 = CMPedometer.isCadenceAvailable() ? "Y" : "N"
      let b4 = CMPedometer.isPaceAvailable() ? "Y" : "N"
      let b5 = CMPedometer.isPedometerEventTrackingAvailable() ? "Y" : "N"
      let b6 = CMPedometer.isFloorCountingAvailable() ? "Y" : "N"
      let str = b1 + b2 + b3 + b4 + b5 + b6

      boolLabel.setText(str)
      }
      }


      This question is about the info for the other iPhone and watch models. Unfortunately, checking this via the Simulator generates false for all the boolean values. Feel free to copy-paste the above code and run on your device to provide the answers.










      share|improve this question














      I am interested in knowing which Core Motion - Pedometer (CMPedometer) features are supported in which iPhone models.



      Specifically I am interested in the bool values of the following properties:



      isCadenceAvailable()
      isStepCountingAvailable()
      isPaceAvailable()
      isDistanceAvailable()
      isPedometerEventTrackingAvailable()
      isFloorCountingAvailable()


      I have access to an iPhone SE and a 5s.
      On those models, I got the following response:



      5s



      isCadenceAvailable: false
      isStepCountingAvailable: true
      isPaceAvailable: false
      isDistanceAvailable: true
      isPedometerEventTrackingAvailable: false
      isFloorCountingAvailable: false


      SE



      isCadenceAvailable: true
      isStepCountingAvailable: true
      isPaceAvailable: true
      isDistanceAvailable: true
      isPedometerEventTrackingAvailable: true
      isFloorCountingAvailable: false


      I would love it if other members can submit info for the other iPhone models: 6, 6s, 7, 8, X, XR, XS, XS Max. I believe XR, XS and XS Max would provide the same results, as should 8 and X.





      Also, similar results for Apple Watch models is also welcome. Here's the data for



      S0



      isCadenceAvailable: true
      isStepCountingAvailable: true
      isPaceAvailable: true
      isDistanceAvailable: true
      isPedometerEventTrackingAvailable: true
      isFloorCountingAvailable: false




      Here's the code for printing this out:



      iOS



      import UIKit
      import CoreMotion

      class ViewController: UIViewController {

      override func viewDidAppear(_ animated: Bool) {
      super.viewDidAppear(animated)

      print("isCadenceAvailable: (CMPedometer.isCadenceAvailable())")
      print("isStepCountingAvailable: (CMPedometer.isStepCountingAvailable())")
      print("isPaceAvailable: (CMPedometer.isPaceAvailable())")
      print("isDistanceAvailable: (CMPedometer.isDistanceAvailable())")
      print("isPedometerEventTrackingAvailable: (CMPedometer.isPedometerEventTrackingAvailable())")
      print("isFloorCountingAvailable: (CMPedometer.isFloorCountingAvailable())")
      }
      }


      watchOS



      import WatchKit
      import Foundation
      import CoreMotion

      class InterfaceController: WKInterfaceController {
      @IBOutlet var boolLabel: WKInterfaceLabel!

      override func willActivate() {
      super.willActivate()
      let b1 = CMPedometer.isDistanceAvailable() ? "Y" : "N"
      let b2 = CMPedometer.isStepCountingAvailable() ? "Y" : "N"
      let b3 = CMPedometer.isCadenceAvailable() ? "Y" : "N"
      let b4 = CMPedometer.isPaceAvailable() ? "Y" : "N"
      let b5 = CMPedometer.isPedometerEventTrackingAvailable() ? "Y" : "N"
      let b6 = CMPedometer.isFloorCountingAvailable() ? "Y" : "N"
      let str = b1 + b2 + b3 + b4 + b5 + b6

      boolLabel.setText(str)
      }
      }


      This question is about the info for the other iPhone and watch models. Unfortunately, checking this via the Simulator generates false for all the boolean values. Feel free to copy-paste the above code and run on your device to provide the answers.







      ios iphone apple-watch






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 21 '18 at 18:58









      RoborisRoboris

      14913




      14913
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418876%2fwhat-are-the-device-specific-cmpedometer-features-supported-in-individual-iphone%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418876%2fwhat-are-the-device-specific-cmpedometer-features-supported-in-individual-iphone%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith