microsoftconnect / ms-intune-app-sdk-ios

Intune App SDK for iOS enables data protection and mobile app management features in iOS mobile apps with Microsoft Intune
91 stars 27 forks source link

Do we have any setting in Intune SDK to disable it? #32

Closed quantumarun closed 5 years ago

quantumarun commented 5 years ago

Hi Team, I am currently running 2 different codebase of my app, one with Intune SDK integrated and another without SDK. Want to check if their is any setting in the Intune SDK to disable it so that with single Codebase i just have to switch the setting?

Kyle-Reis commented 5 years ago

Hey @quantumarun, there is no such setting, but it is possible to support non-Intune customers even when the Intune SDK is integrated. The MS Office apps are an example of this. Do both versions of your app use ADAL to authenticate users? Or do you just call loginAndEnrollAccount in the Intune version?

quantumarun commented 5 years ago

@Kyle-Reis : We are not using ADAL to authenticate users. Below mechanism we are using: iOS:- Yes i am calling loginAndEnrollAccount in AppDelegate.cs as below IntuneMAMEnrollmentManager.Instance.LoginAndEnrollAccount(null);

Android:- In AndroidManifest.xml file added below meta-data

&ltmeta-data android:name="com.microsoft.intune.mam.DefaultMAMServiceEnrollment" android:value="true" /&gt
        &ltmeta-data android:name="com.microsoft.intune.mam.MAMPolicyRequired" android:value="true" /&gt
Kyle-Reis commented 5 years ago

Hey @quantumarun, on iOS, there are a couple of ways you could approach this. If your goal is to have a single app for both Intune and non-Intune users, you could display some UI to your end-users that lets them to decide which auth flow to initiate, similar to Citrix Secure Mail.

If you want to build 2 separate apps for Intune and non-Intune users, but share as much code between them as possible, you can just add a 2nd build target to your Xcode project. One target can link against the Intune SDK while the other does not. The two targets should be able to share all the same source code files which do not include any Intune API calls.

quantumarun commented 5 years ago

@Kyle-Reis : How to disable in Xamarin Project as mine is Xamarin.Forms project.

Kyle-Reis commented 5 years ago

@quantumarun, I believe it would be the same concept in Xamarin/Visual Studio. You could have 2 Xamarin.iOS projects in the same VS solution: one which includes our Xamarin bindings and one which does not. The two projects could all reference the same common source files while any files that require Intune-specific logic could differ between the two.