(Legacy) Guida alla migrazione di iOS/tvOS v3.x iostvos-v3x-migration-guide

NOTE
Il contenuto di questa pagina viene fornito solo a scopo informativo. L’utilizzo di questa API richiede una licenza corrente da Adobe. Non è consentito alcun uso non autorizzato.
IMPORTANT
Assicurati di essere sempre informato sugli ultimi annunci di prodotto per l'autenticazione di Adobe Pass e sulle timeline di disattivazione aggregate nella pagina Annunci di prodotto.
TIP
Note:
  • A partire dall’sdk di iOS versione 3.1, gli implementatori possono ora utilizzare WKWebView o UIWebView in modo intercambiabile. Poiché UIWebView è obsoleto, le app devono migrare a WKWebView per evitare problemi con le versioni future di iOS.
  • Tieni presente che la migrazione implicherebbe semplicemente il passaggio della classe UIWebView a WKWebView; non è necessario eseguire alcun lavoro specifico in merito all’AccessEnabler di Adobe.

Aggiornare le impostazioni della build update

Questa versione contiene funzionalità scritte in linguaggio SWIFT. Se la tua app è completamente Objective-C, devi impostare su "Sì" la casella di controllo "Incorpora sempre le librerie Swift standard" nelle impostazioni di build della tua destinazione. Quando questa opzione è impostata, Xcode analizza i framework inclusi nell’app e, se uno di essi contiene codice Swift, copia le librerie pertinenti nel bundle dell’app. Se non si aggiornano le impostazioni della build, l'app potrebbe bloccarsi con errori che indicano che non è possibile caricare AccessEnabler.framework o diverse librerie ibswift*.

Aggiunta dell'istruzione software add

Per informazioni su come ottenere l'informativa sul software, vedere
pagina:
Registrazione applicazione

Una volta ottenuta l'istruzione software, si consiglia di ospitarla su un server remoto in modo da poterla revocare o modificare facilmente senza distribuire una nuova versione dell'applicazione in App Store. All'avvio dell'applicazione, ottenere l'istruzione software dalla posizione remota e trasmetterla nel costruttore AccessEnabler:

    accessEnabler = AccessEnabler("YOUR_SOFTWARE_STATEMENT_HERE");

Informazioni API qui: Riferimento API iOS / tvOS

Aggiungere lo schema URL personalizzato add-custom

Per informazioni su come ottenere uno schema URL personalizzato, visitare questa pagina: Ottenere uno schema URL cliente

Dopo aver ottenuto lo schema URL personalizzato, devi aggiungerlo al file info.plist dell’applicazione. Lo schema personalizzato ha questo formato: adbe.u-XFXJeTSDuJiIQs0HVRAg://. È necessario omettere i due punti e le barre in avanti quando lo si aggiunge al file. L'esempio precedente diventerà adbe.u-XFXJeTSDuJiIQs0HVRAg.

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>CUSTOM_URL_SCHEME_HERE</string>
            </array>
        </dict>
    </array>

Intercettazione delle chiamate sullo schema URL personalizzato intercept

Questo vale solo nel caso in cui l'applicazione abbia precedentemente abilitato la gestione manuale di Safari View Controller (SVC) tramite la chiamata setOptions(["handleSVC":true"]) e per MVPD specifici che richiedono Safari View Controller (SVC), richiedendo pertanto il caricamento degli URL degli endpoint di autenticazione e disconnessione da un controller SFSafariViewController anziché da un controller UIWebView/WKWebView.

Durante i flussi di autenticazione e disconnessione, l'applicazione deve monitorare l'attività del controller SFSafariViewController mentre viene eseguita una serie di reindirizzamenti. L'applicazione deve rilevare il momento in cui carica un URL personalizzato specifico definito da application's custom URL scheme (ad esempio adbe.u-XFXJeTSDuJiIQs0HVRAg://adobe.com). Quando il controller carica questo URL personalizzato specifico, l'applicazione deve chiudere SFSafariViewController e chiamare il metodo API handleExternalURL:url di AccessEnabler.

In AppDelegate, aggiungi il seguente metodo:

    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any]) -> Bool {
            if (url.absoluteString.hasPrefix("adbe.")) {
                accessEnabler.handleExternalURL(url.description)
                return true;
            }
        }

Informazioni API qui: Gestisci URL esterno

Aggiorna la firma del metodo setRequestor update-setreq

Poiché il nuovo SDK utilizza un nuovo meccanismo di autenticazione, non sono necessari il parametro signedRequestId o la chiave pubblica e il segreto (per tvOS). Il metodo setRequestor è semplificato e richiede solo il valore requestorID.

iOS

Questo codice:

    accessEnabler.setRequestor(requestorId, setSignedRequestorId: signedRequestorId)

diventa:

    accessEnabler.setRequestor(requestorId)

tvOS

Questo codice:

    accessEnabler.setRequestor(requestorId, setSignedRequestorId: signedRequestorId,
                    secret: "secret", publicKey: "public_key")

diventa:

    accessEnabler.setRequestor(requestorId)

Informazioni API qui: Imposta richiedente

Sostituisci il metodo getAuthenticationToken con il metodo handleExternalURL replace

Metodo getAuthentication utilizzato in passato per il completamento del flusso di autenticazione. Poiché il nome è fuorviante, è stato rinominato in handleExternalURL e considera l'URL come parametro.

Modifica tutte le occorrenze di questo:

    accessEnabler.getAuthenticationToken()

in questo:

    accessEnabler.handleExternalURL(request.url?.description);

Informazioni API qui: Gestisci URL esterno

recommendation-more-help
3f5e655c-af63-48cc-9769-2b6803cc5f4b