Plug-in Cordova per Microsoft Intune App SDKMicrosoft Intune App SDK Cordova Plugin

Nota

Può essere utile leggere prima l'articolo Introduzione a Microsoft Intune App SDK, che spiega come preparare l'integrazione in ogni piattaforma supportata.You may wish to first read the Get Started with Intune App SDK article, which explains how to prepare for integration on each supported platform.

PanoramicaOverview

Plugin Cordova per Intune App SDK nelle app iOS e Android compilate con Cordova.The Intune App SDK Cordova Plugin in iOS and Android apps built with Cordova. Il plug-in permette agli sviluppatori di integrare le funzionalità di protezione dei dati e delle app di Intune nelle app basate su Cordova.The plugin allows developers to integrate Intune app and data protection features into their Cordova-based app.

Le funzionalità SDK possono essere abilitate senza modificare il comportamento dell'app.You will find that you can enable SDK features without changing your app's behavior. Dopo avere compilato il plug-in nell'app Android o iOS, l'amministratore di Microsoft Intune potrà distribuire i criteri di protezione delle app di Intune, costituiti da un'ampia gamma di funzionalità per la protezione dei dati.Once you have built the plugin into your iOS or Android app, the Microsoft Intune administrator will be able to deploy Intune app protection policy, which consists of a variety of data protection features. Il plug-in è compilato in modo che la maggior parte delle operazioni venga eseguita automaticamente durante il processo di compilazione di Cordova.The plugin is built so that most of the steps are automatically performed in the Cordova build process. Di conseguenza, l'utente dovrebbe essere in grado di ottenere rapidamente l'app abilitata per la protezione delle app di Intune.As a result, you should be able to get your app enabled for Intune app protection quickly. Per iniziare, attenersi alla procedura seguente in base alla piattaforma di destinazione.To get started, follow the steps below based on your target platform.

Piattaforme supportateSupported Platforms

  • Il plug-in funziona nei sistemi operativi Windows, Mac e LinuxThe plugin works on Windows, Mac and Linux OS
  • Il plug-in funziona per le app Android con minSdkVersion >= 14 e targetSdkVersion <= 24The plugin works for Android apps with minSdkVersion >= 14 and targetSdkVersion <= 24
  • Il plug-in funziona per le app iOS destinate a iOS 9.0 e versioni successive.The plugin works for iOS apps targeted for iOS 9.0 and above.

Scenari di gestione di applicazioni mobili di IntuneIntune Mobile Application Management scenarios

  • Dispositivi registrati MDM di IntuneIntune MDM-enrolled devices
  • Dispositivi registrati EMM di terze partiThird-party EMM-enrolled devices
  • Dispositivi non gestiti (non registrati con MDM)Unmanaged devices (not enrolled with any MDM)

Le app Cordova compilate con il plug-in Cordova per Intune App SDK possono ora ricevere i criteri di protezione delle app di Intune sia sui dispositivi registrati per la gestione dei dispositivi mobili (MDM) di Intune che su quelli non registrati.Cordova apps built with the Intune App SDK Cordova Plugin can now receive Intune app protection policies on both Intune mobile device management (MDM) enrolled devices and unenrolled devices.

PrerequisitiPrerequisites

AndroidAndroid

  • Nel dispositivo deve sempre essere installata l'app Portale aziendale di Microsoft Intune più recente.The latest Microsoft Intune Company Portal app must always be installed on the device.
  • È necessario che sia disponibile come minimo Java 7 nel percorso di esecuzione della compilazione Cordova quando si usa il plug-in.Java 7 at minimum must be on the path where you will execute Cordova build when using the plugin.

iOSiOS

  • Nel dispositivo deve sempre essere installata l'app Portale aziendale di Microsoft Intune più recente per le funzionalità MDM.The latest Microsoft Intune Company Portal app must be installed on the device for MDM features. Non è necessaria per i criteri di protezione delle app senza funzionalità di registrazione del dispositivo.It is not needed for Intune app protection policy without device enrollment features.

Entrambe le piattaformeBoth platforms

Nota

A causa di un bug di Apache Cordova segnalato qui, le app che già dispongono della dipendenza del plug-in non aggiorneranno automaticamente il plug-in alla versione necessaria.Due to an Apache Cordova bug the filed here, apps that already have the plugin dependency will not automatically upgrade the plugin to the requested version.

Avvio rapidoQuick start

  1. Aggiornare la versione di ADAL:Update your version of ADAL:

    cordova plugin remove cordova-plugin-ms-adal
    cordova plugin add cordova-plugin-ms-adal@0.8.x
    
  2. Aggiungere il plug-in Cordova per Intune App SDK:Add the Intune App SDK for Cordova plugin:

    cordova plugin add cordova-plugin-ms-intune-mam
    

Compilare il plug-in nell'app iOSBuild the plugin into your iOS app

È necessario completare alcuni passaggi per abilitare l'app per i criteri di protezione delle app di Intune.You'll need to complete some steps for your app to be enabled for Intune app protection policy. Per ragioni di praticità, questi passaggi vengono eseguiti automaticamente nel processo di compilazione di Cordova come un hook di pre-compilazione.For convenience, these steps are performed automatically in the Cordova build process as a pre-build hook. Di conseguenza, i passaggi automatizzati modificheranno i file *.pbxproj, *-Info.plist e *.entitlements associati alla configurazione del progetto.As a result, the automated steps will modify your *.pbxproj , *-Info.plist, and *.entitlements files that are associated with a project configuration. Se il progetto non contiene un file dei diritti, il plug-in ne creerà uno automaticamente.If your project doesn't contain an entitlements file, the plugin will create one automatically.

Questa configurazione supporta solo una singola destinazione ed eseguirà la configurazione nella prima destinazione trovata se sono presenti più destinazioni.This setup only supports a single target and will perform the configuration on the first target found if there are multiple targets. Se il processo non viene completato correttamente, verificare quanto segue:If the process fails, check that:

  1. Il progetto Xcode dell'app è [name].xcodeproj dove [name] è il valore definito in config.xml.Your app's Xcode project is [name].xcodeproj where [name] is the value defined in config.xml
  2. Il progetto usa la struttura di directory dell'app Cordova standard.Your project uses the standard Cordova app directory structure.

Compilare il plug-in nell'app AndroidBuild the plugin into your Android app

  1. Importare questo plug-in con i più recenti strumenti Cordova.Import this plugin with the latest Cordova tools. Il plug-in verrà richiamato automaticamente come un passaggio after_compile.The plugin will be automatically invoked as an after_compile step.

  2. Il plug-in creerà una versione abilitata per Intune di un apk compilato (API Android 14+) alla fine del processo di compilazione.The plugin will create a Intune-enabled version of a built apk (Android API 14+) at the end of the build process. L'output di compilazione conterrà un [Project]-intunewrapped-[Build_Configuration].apk (ad esempio, helloWorld-intunewrapped-debug.apk).The build output will contain a [Project]-intunewrapped-[Build_Configuration].apk (e.g. helloWorld-intunewrapped-debug.apk).

Nota

Il plug-in supporta solo le compilazioni Gradle.The plugin only supports gradle builds.

A causa di un bug di Cordova segnalato qui che fa sì che alcuni hook di Cordova siano ignorati in cordova run, per eseguire l'app sottoposta a wrapping dalla riga di comando, è necessario eseguire le operazioni seguenti:Due to a Cordova bug filed here that causes certain Cordova hooks to be ignored on cordova run, to run the wrapped app from the command line, you must do the following:

$ cordova build
$ cordova run --nobuild

Firmare l'app AndroidSign your Android app

Il plug-in riconosce automaticamente le informazioni di firma fornite a Cordova nelle posizioni seguenti:The plugin automatically recognizes signing information you have provided to Cordova at the following locations:

  • platforms/android/debug-signing.propertiesplatforms/android/debug-signing.properties
  • platforms/android/release-signing.propertiesplatforms/android/release-signing.properties
  • res/native/android/ant.propertiesres/native/android/ant.properties

Per altre informazioni sul formato previsto, vedere le informazioni sulla firma di Gradle di Cordova.See the Cordova gradle signing information for more information about the expected format.

Attualmente non è supportata la possibilità di fornire informazioni sulla firma in build.json o in posizioni arbitrarie specificate tramite parametri per la compilazione di Cordova.We currently don't support the ability to provide signing information in build.json or arbitrary locations provided via parameters to Cordova build.

Debug da Visual StudioDebugging from Visual Studio

Dopo avere avviato l'app per la prima volta, verrà visualizzata una finestra di dialogo che informa che l'app è gestita da Intune.After launching the app for the first time you should see a dialog notifying you that the app is managed by Intune. Fare clic su "Non visualizzare più questo messaggio" e quindi nuovamente sul pulsante di esecuzione/debug da Visual Studio per fare in modo che i punti di interruzione vengano riconosciuti.Hit "Don't show again" and click the debug/run button again from VS for breakpoints to be hit.

Limitazioni noteKnown Limitations

AndroidAndroid

  • Il supporto MultiDex è incompleto.MultiDex support is incomplete.
  • L'app deve avere minSdkVersion 14 e targetSdkVersion 24 o versioni precedenti.App must have minSdkVersion of 14 and targetSdkVersion of 24 or below. Non sono attualmente supportate app destinate ad API 25We currently don't support apps targeting API 25
  • Non è possibile firmare di nuovo le app firmate con lo schema di firma V2.We cannot re-sign apps that were signed with the V2 Signature Scheme. Quando si esegue il wrapping delle app con firma V2 dal plug-in, il file apk di output sottoposto a wrapping sarà non firmato.When V2-signed apps are wrapped by the plugin, the wrapped output .apk will be unsigned. *

    • È possibile disabilitare la firma V2 predefinita di Cordova aggiungendo il codice seguente al file build-extras.gradle:You can disable Cordova's default V2 Signing by adding the following to your build-extras.gradle file:
    android {
        signingConfigs {
            release {
                v2SigningEnabled false
            }
            debug {
                v2SigningEnabled false
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
            debug {
                signingConfig signingConfigs.debug
            }
        }
    }
    

iOSiOS

  • Ogni volta che si modifica l'elenco di UTI in corrispondenza del nodo CFBundleDocumentTypes del file Info.plist, è necessario deselezionare gli UTI di Intune nella sezione Imported UTI dello stesso file plist (nodo UTImportedTypeDeclarations) prima di compilare nuovamente.Whenever you modify the list of UTI's under the CFBundleDocumentTypes node of the Info.plist file, you must clear the Intune UTI's in the Imported UTI's section of the same plist file (UTImportedTypeDeclarations node) before building again. Tutti gli UTI di Intune inizieranno con il prefisso com.microsoft.intune.mam.All of the Intune UTI's will start with the prefix com.microsoft.intune.mam.

  • Se si vuole rimuovere il plug-in Intune App SDK per Cordova, è necessario rimuovere anche la piattaforma iOS e aggiungerla nuovamente per annullare alcune delle configurazioni di Intune nei file con estensione xcodeproj e plist.If you want to remove the Intune App SDK for Cordova plugin from your Cordova project, you must also remove the iOS platform and re-add it, in order to undo some of the Intune configuration in the .xcodeproj and .plist files.