Skip to content

Conversation

@AxelRieben
Copy link

This PR allows you to configure the application with an MDM (Mobile Device Management). When settings are configured with MDM they are hidden in the user interface. To inform the user of the settings that are currently configured, these are displayed at startup in the "Status" screen. To respect the user's privacy, the activation or deactivation of tracking cannot be configured by MDM.

The functionality has been tested with SimpleMDM and AirWatch MDMs.

To simulate sending MDM parameters to an iOS simulator, it is possible to use this command:

xcrun simctl spawn booted defaults write org.traccar.client.TraccarClient com.apple.configuration.managed -dict "device_id_preference" "john.doe" "server_url_preference" "https://traccar.com:5555" "accuracy_preference" "high" "frequency_preference" "300" "distance_preference" "50" "angle_preference" "100" "buffer_preference" "0"

@tananaev
Copy link
Member

Why do we want to hide managed settings?

@AxelRieben
Copy link
Author

Thanks for your return. I see two advantages:

  • User cannot break the configuration accidentally
  • The user experience becomes extremely simple since only the “Enable service” toggle remains

And if we still want to display the settings, and therefore allow the user to modify them, this leads to additional complexity. Due to the fact that we now need to know whether at startup we should take the MDM configuration or keep the user configuration.

@tananaev
Copy link
Member

Well, I'm assuming we shouldn't let them modify it if it's forced by MDM, but they can see it.

@AxelRieben
Copy link
Author

I tried to display the settings in a disabled way. But I haven't found a way to do it with the library used (InAppSettingsKit).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants