Guía de migración de iOS/tvOS v3.x (heredada) iostvos-v3x-migration-guide
- A partir de la versión 3.1 del sdk para iOS, los implementadores ahora pueden utilizar WKWebView o UIWebView de forma intercambiable. Dado que UIWebView está en desuso, las aplicaciones deben migrar a WKWebView para evitar problemas con futuras versiones de iOS.
- Tenga en cuenta que la migración implicaría simplemente cambiar la clase UIWebView con WKWebView, no hay ningún trabajo específico por hacer en relación con AccessEnabler de Adobe.
Actualizar configuración de compilación update
Esta versión incluye funciones escritas en el idioma de SWIFT. Si la aplicación es completamente Objective-C, debe establecer la casilla "Incorporar siempre bibliotecas estándar de Swift" en la configuración de compilación de Target en "Sí". Cuando se establece esta opción, Xcode analiza los marcos agrupados en la aplicación y, si alguno de ellos contiene código Swift, copia las bibliotecas pertinentes en el paquete de la aplicación. Si no actualiza la configuración de compilación, es posible que la aplicación se bloquee con errores que indiquen que no puede cargar AccessEnabler.framework o varias bibliotecas de ibswift*.
Adición de la declaración de software add
Para obtener información sobre cómo obtener la declaración del software, consulte esta sección
página:
Registro de aplicación
Una vez que tenga la declaración de software, le recomendamos que la aloje en un servidor remoto para que pueda revocarla o cambiarla fácilmente sin implementar una nueva versión de la aplicación en App Store. Cuando se inicie la aplicación, obtenga la instrucción de software de la ubicación remota y pásela en el constructor AccessEnabler:
accessEnabler = AccessEnabler("YOUR_SOFTWARE_STATEMENT_HERE");
Información de la API aquí: Referencia de la API de iOS/tvOS
Añadir el esquema de URL personalizado add-custom
Para obtener información sobre cómo obtener un esquema de URL personalizado, vaya a esta página: Obtener un esquema de URL de cliente
Después de obtener el esquema de URL personalizado, debe añadirlo al archivo info.plist de la aplicación. El esquema personalizado tiene este formato: adbe.u-XFXJeTSDuJiIQs0HVRAg://. Debe omitir los dos puntos y las barras diagonales al agregarlos al archivo. El ejemplo anterior se convertirá en adbe.u-XFXJeTSDuJiIQs0HVRAg.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>CUSTOM_URL_SCHEME_HERE</string>
</array>
</dict>
</array>
Interceptación de llamadas en el esquema de URL personalizado intercept
Esto solo se aplica en el caso de que la aplicación haya habilitado anteriormente la administración manual de Safari View Controller (SVC) a través de la llamada setOptions(["handleSVC":true"]) y para MVPD específicas que requieren Safari View Controller (SVC), por lo que es necesario cargar las direcciones URL de los extremos de autenticación y cierre de sesión mediante un controlador SFSafariViewController en lugar de un controlador UIWebView/WKWebView.
Durante los flujos de autenticación y cierre de sesión, la aplicación debe supervisar la actividad del controlador SFSafariViewController a medida que pasa por varias redirecciones. Su aplicación debe detectar el momento en que carga una dirección URL personalizada específica definida por su application's custom URL scheme (p. ej.adbe.u-XFXJeTSDuJiIQs0HVRAg://adobe.com). Cuando el controlador carga esta dirección URL personalizada específica, la aplicación debe cerrar SFSafariViewController y llamar al método de API handleExternalURL:url de AccessEnabler.
En su AppDelegate agregue el siguiente método:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any]) -> Bool {
if (url.absoluteString.hasPrefix("adbe.")) {
accessEnabler.handleExternalURL(url.description)
return true;
}
}
Información de API aquí: Administrar URL externa
Actualizar la firma del método setRequestor update-setreq
Dado que el nuevo SDK utiliza un nuevo mecanismo de autenticación, no es necesario el parámetro signedRequestId ni la clave pública y secreto (para tvOS). El método setRequestor se ha simplificado y solo necesita el requestorID.
iOS
Este código:
accessEnabler.setRequestor(requestorId, setSignedRequestorId: signedRequestorId)
se convierte en:
accessEnabler.setRequestor(requestorId)
tvOS
Este código:
accessEnabler.setRequestor(requestorId, setSignedRequestorId: signedRequestorId,
secret: "secret", publicKey: "public_key")
se convierte en:
accessEnabler.setRequestor(requestorId)
Información de API aquí: Establecer solicitante
Reemplace el método getAuthenticationToken por el método handleExternalURL replace
El método getAuthentication se ha usado en el pasado para completar el flujo de autenticación. Dado que su nombre era engañoso, se le cambió el nombre a handleExternalURL y toma la dirección URL como parámetro.
Cambiar todas las apariciones de esto:
accessEnabler.getAuthenticationToken()
en esto:
accessEnabler.handleExternalURL(request.url?.description);
Información de API aquí: Administrar URL externa