Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow the app to be configured with an MDM #81

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

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