Adapte o mPaaS 10.1.32 para o iOS 13 e evite erros funcionais e falhas causadas por alterações no comportamento do sistema.
O iOS 13, lançado em 19 de setembro de 2019, introduziu mudanças no comportamento do sistema que podem causar erros funcionais, falhas e outros problemas em aplicativos não adaptados. |
Contexto
O iOS 13, lançado em 19 de setembro de 2019, trouxe alterações no comportamento do sistema capazes de provocar erros funcionais, travamentos e outros problemas em aplicativos não adaptados.
Antes da adaptação, o SDK do mPaaS compilado com o Xcode 10 era afetado em dispositivos iOS 13 principalmente da seguinte forma: o iOS 13 otimizou a inicialização de aplicativos ao alterar o mecanismo de carregamento de imagens. Isso podia fazer com que categorias do sistema sobrescrevessem métodos de categoria definidos pelo SDK e, consequentemente, métodos personalizados poderiam não retornar os resultados esperados.
Status atual
O mPaaS foi adaptado para o iOS 13 quando compilado com o Xcode 10. Como a adaptação cobre atualmente apenas o Xcode 10, use o Xcode 10 para empacotamento ao enviar seu aplicativo para a App Store. Uma versão adaptada para o Xcode 11 será lançada conforme a cadeia de ferramentas amadurecer.
Atualize o SDK ou componentes
Atualização via plugin
O plugin do mPaaS para Xcode oferece dois métodos de atualização:
Atualização de módulo do mPaaS
Atualização de baseline do mPaaS
Escolha o método de atualização conforme sua necessidade:
Se já utiliza o plugin para gerenciar dependências de componentes e sua versão atual do SDK é 10.1.32, use o recurso de atualização de módulo do mPaaS para atualizar os módulos em uso.
-
Se não utiliza o plugin para gerenciar dependências de componentes, siga estas etapas para atualizar:
Use o recurso de edição de módulo do mPaaS para selecionar os módulos necessários.
Use o recurso de atualização de módulo do mPaaS para atualizar para a versão 10.1.32.
Visualize a versão atual da baseline do projeto na seção de atualização de baseline do mPaaS do plugin. Para mais informações, consulte Instruções do plugin mPaaS.
Atualização via CocoaPods
Siga estas etapas para instalar a versão mais recente do SDK 10.1.32:
Verifique se o número da versão dos componentes do mPaaS no Podfile é 10.1.32.
Execute
pod mpaas update 10.1.32. Caso ocorra um erro de comando, executepod mpaas update --allpara atualizar o plugin primeiro e, em seguida, execute o comando novamente.Execute
pod install.
Biblioteca de hotpatching
Se a baseline atual não for 10.1.32, atualize também a biblioteca de hotpatching para a versão 10.1.32. A equipe dedicada de suporte técnico fornece a biblioteca de hotpatching online. Para obter a biblioteca, entre no grupo 145930007362 do DingTalk e contate o suporte do mPaaS.
Alterações na API
Os componentes da versão 10.1.32 incluem uma camada de adaptação. Após atualizar o SDK, use as APIs dessa camada. Para notas sobre a atualização, consulte os documentos dos componentes a seguir:
-
Gerenciamento de hotpatching
NotaO hotpatching para iOS está disponível apenas para o Apsara Stack. O SDK para nuvem pública possui uma implementação vazia por padrão.
Observe as alterações na configuração dos arquivos category e info.plist referentes às classes de configuração de componentes do mPaaS no projeto.
Use os métodos do adaptador em vez dos métodos subjacentes no seu código. Métodos subjacentes podem mudar ou tornar-se obsoletos em versões futuras, o que exigiria esforço adicional de adaptação.
Tratamento de bibliotecas personalizadas
Os componentes da versão 10.1.32 incorporam requisitos personalizados. Caso seu projeto dependa de bibliotecas personalizadas, proceda da seguinte forma para garantir estabilidade:
Ao atualizar de uma versão anterior do SDK para 10.1.32, suas bibliotecas personalizadas podem precisar de nova personalização para a nova versão. Entre no grupo 145930007362 do DingTalk e contate o suporte do mPaaS para confirmar essa necessidade.
-
Caso já esteja usando a versão 10.1.32, talvez seja necessário atualizar apenas alguns componentes. Verifique a Lista de bibliotecas atualizadas para adaptação ao iOS 13 abaixo para determinar se suas bibliotecas personalizadas estão incluídas.
Se não estiverem incluídas, continue usando as bibliotecas personalizadas normalmente.
Se estiverem incluídas, suas bibliotecas personalizadas podem precisar de nova personalização. Entre no grupo 145930007362 do DingTalk e contate o suporte do mPaaS.
Lista de bibliotecas atualizadas para adaptação ao iOS 13
mPaaS
MPDataCenter
APMultimedia
BEEAudioUtil
BeeCapture
BeeCityPicker
BeeMediaPlayer
BeePhotoBrowser
BeePhotoPicker
NebulaAppBiz
NebulaBiz
NebulaSDKPlugins
APConfig
AntUI
NebulaSDK
TinyAppCommon
MPPromotion