Guia de migração do iOS/tvOS v3.x (herdado) iostvos-v3x-migration-guide

NOTE
O conteúdo desta página é fornecido apenas para fins informativos. O uso desta API requer uma licença atual da Adobe. Não é permitida nenhuma utilização não autorizada.
IMPORTANT
Mantenha-se informado sobre os anúncios mais recentes do produto de Autenticação da Adobe Pass e as linhas do tempo de desativação agregadas na página Anúncios de produto.
TIP
Notas:
  • A partir do iOS sdk versão 3.1, os implementadores agora podem usar WKWebView ou UIWebView alternadamente. Como a UIWebView está obsoleta, os aplicativos devem migrar para a WKWebView para evitar problemas com versões futuras do iOS.
  • Observe que a migração implicaria simplesmente alternar a classe UIWebView com WKWebView; não há trabalho específico a ser feito em relação ao AccessEnabler da Adobe.

Atualizar configurações de compilação update

Esta versão contém funcionalidades escritas em linguagem SWIFT. Se seu aplicativo for totalmente Objetive-C, é necessário definir a caixa de seleção "Sempre incorporar bibliotecas padrão Swift" nas configurações de criação do destino como "Sim". Quando essa opção é definida, o Xcode verifica as estruturas agrupadas no aplicativo e, se qualquer uma delas contiver código Swift, ele copia as bibliotecas pertinentes ao pacote do aplicativo. Se você não atualizar as configurações de compilação, seu aplicativo poderá falhar com erros informando que não pode carregar o AccessEnabler.framework ou várias bibliotecas ibswift*.

Adicionando sua instrução de software add

Para obter informações sobre como obter a instrução de software, vá para
página:
Registro de Aplicativo

Depois que você tiver sua instrução de software, recomendamos hospedá-la em um servidor remoto para que você possa revogá-la ou alterá-la facilmente sem implantar uma nova versão do aplicativo no App Store. Quando o aplicativo for iniciado, obtenha a instrução de software do local remoto e transmita-a no construtor AccessEnabler:

    accessEnabler = AccessEnabler("YOUR_SOFTWARE_STATEMENT_HERE");

Informações da API aqui: Referência da API iOS/tvOS

Adicionar o esquema de URL personalizado add-custom

Para obter informações sobre como obter um esquema de URL personalizado, vá para esta página: Obter um esquema de URL do cliente

Após obter o esquema de URL personalizado, é necessário adicioná-lo ao arquivo info.plist do aplicativo. O esquema personalizado tem este formato: adbe.u-XFXJeTSDuJiIQs0HVRAg://. É necessário omitir os dois pontos e as barras ao adicioná-los ao arquivo. O exemplo acima será adbe.u-XFXJeTSDuJiIQs0HVRAg.

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

Interceptar chamadas no esquema de URL personalizado intercept

Isso se aplica somente caso seu aplicativo tenha habilitado anteriormente a manipulação manual do Safari View Controller (SVC) por meio da chamada setOptions(["handleSVC":true"]) e para MVPDs específicos que exigem o Safari View Controller (SVC), exigindo, portanto, o carregamento dos URLs dos pontos de extremidade de autenticação e logout por um controlador SFSafariViewController em vez de um controlador UIWebView/WKWebView.

Durante os fluxos de autenticação e logout, o aplicativo deve monitorar a atividade do controlador SFSafariViewController à medida que passa por vários redirecionamentos. Seu aplicativo deve detectar o momento em que carrega uma URL personalizada específica definida por seu application's custom URL scheme (por exemplo, adbe.u-XFXJeTSDuJiIQs0HVRAg://adobe.com). Quando o controlador carrega esta URL personalizada específica, seu aplicativo deve fechar o SFSafariViewController e chamar o método de API handleExternalURL:url do AccessEnabler.

Em seu AppDelegate, adicione o seguinte método:

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

Informações da API aqui: Tratar URL Externa

Atualizar a assinatura do método setRequestor update-setreq

Como a nova SDK está usando um novo mecanismo de autenticação, não há necessidade do parâmetro signedRequestId nem da chave pública e do segredo (para tvOS). O método setRequestor é simplificado e precisa apenas da requestorID.

iOS

Este código:

    accessEnabler.setRequestor(requestorId, setSignedRequestorId: signedRequestorId)

torna-se:

    accessEnabler.setRequestor(requestorId)

tvOS

Este código:

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

torna-se:

    accessEnabler.setRequestor(requestorId)

Informações da API aqui: Definir Solicitante

Substituir o método getAuthenticationToken pelo método handleExternalURL replace

O método getAuthentication foi usado no passado para concluir o fluxo de autenticação. Como seu nome induzia em erro, ele foi renomeado para handleExternalURL e toma a url como um parâmetro.

Altere todas as ocorrências:

    accessEnabler.getAuthenticationToken()

nesta:

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

Informações da API aqui: Tratar URL Externa

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