Skip to content

Publicación de APPs

Fernando Uval edited this page Feb 13, 2023 · 13 revisions

ionic cordova build android --prod --release

keytool -genkey -v -keystore dr3.0.keystore -alias DondeReciclo3 -keyalg RSA -keysize 2048 -validity 10000

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore dr3.0.keystore app-release-unsigned.apk DondeReciclo3

zipalign -v 4 app-release-unsigned.apk DondeReciclo3.0.1.apk

iOS

Prerequisitos

  • Node JS v14.18.3
  • Xcode
  • Xcode Command Line Tools (xcode-select --install)
  • Archivo de configuración de Firebase en carpeta raíz (GoogleService-Info.plist)

Versiones de este procedimiento

Ionic:

Ionic CLI : 6.20.6 (/usr/local/lib/node_modules/@ionic/cli) Ionic Framework : @ionic/angular 5.6.4 @angular-devkit/build-angular : 0.803.29 @angular-devkit/schematics : 8.3.29 @angular/cli : 8.3.29 @ionic/angular-toolkit : 2.3.3

Cordova:

Cordova CLI : 11.0.0 Cordova Platforms : none Cordova Plugins : no whitelisted plugins (0 plugins total)

Utility:

cordova-res (update available: 0.15.4) : 0.15.1 native-run (update available: 1.7.1) : 1.0.0

System:

ios-deploy : 1.10.0 ios-sim : 8.0.2 NodeJS : v14.18.3 (/Users/danielcarranza/.nvm/versions/node/v14.18.3/bin/node) npm : 6.14.15 OS : macOS Monterey Xcode : Xcode 14.2 Build version 14C18

Ionic:

  • Ionic CLI : 6.20.6 (/usr/local/lib/node_modules/@ionic/cli)
  • Ionic Framework : not installed
  • @angular-devkit/build-angular : not installed
  • @angular-devkit/schematics : not installed
  • @angular/cli : not installed
  • @ionic/angular-toolkit : not installed

Cordova:

  • Cordova CLI : 11.0.0
  • Cordova Platforms : none
  • Cordova Plugins : no whitelisted plugins (0 plugins total)

Utility:

  • cordova-res (update available: 0.15.4) : 0.15.1
  • native-run (update available: 1.7.1) : 1.0.0

System:

  • ios-deploy : 1.10.0
  • ios-sim : ios-sim/9.0.0 darwin-x64 node-v16.13.2
  • NodeJS : v16.13.2 (/usr/local/bin/node)
  • npm : 8.19.2
  • OS : macOS Monterey
  • Xcode : Xcode 14.2 Build version 14C18

Comandos

  1. sudo npm install -g @angular/cli
  2. sudo npm install -g @ionic/cli
  3. npm install
  4. sudo cordova prepare iOS
  5. Firmas en Xcode (App y Pods)
  6. ionic cordova build ios --prod

Procedimiento Xcode

Limpieza de pods (cuando se indique)

cd platforms/ios rm Podfile.lock rm -Rf Pods pod cache clean --all pod deintegrate pod setup pod install

Verificar versión de ruby >= 2.7

rvm list o ruby --version

###Reinstalar Ruby con rvm (opcional) curl -L https://get.rvm.io | bash -s stable source /Users/datauy/.rvm/scripts/rvm rvm install ruby-2.7.2

Reinstalar cocoapods

sudo gem uninstall cocoapods sudo gem install cocoapods -v 1.9.3 sudo gem install cocoapods-dependencies

Instalar DR (opciona)

git clone https://github.com/datauy/DondeReciclo-3.git cd DondeReciclo-3/ cp <plist dir>/GoogleService-Info.plist ./

Reinstalar IOS

En la raíz de la instalación git checkout tags/4.0.11 git checkout package.json rm package.lock.json rm -Rf pl* npm i ionic cordova prepare ios

Modificar Podfile

platform :ios, '12.1' Ejecutar limpieza de Pods

Ejecutamos XCode

Firmar paquetes (Pods y DR)

Poner target >= 12.1 (Pods y DR) en PROJECT y TARGETS principales

En DR

Quitar framework y realizar ajustes de pantallas e ainda

En Pods

En Project Pods -> build settings -> buscar “quote”, y pasar la opción de Quoted include in Framework Header a NO Pasar todas las versiones de Auth a IOS 12.1 o el target usado (main, firebase y GTM)

Correr build Corregir las setting sugeridas por el sistema Correr archive

Errores comunes

https://github.com/dpa99c/cordova-plugin-firebasex/issues/326 https://github.com/dpa99c/cordova-plugin-firebasex#cordova-cli-builds

AppAuth, building for iOS-armv7 but attempting to link with file built for iOS-arm64 Undefined symbols for architecture armv7

Se resuelve cambiando el target a > 12 del modulo que da error

BuildProductsPath/Release-iphoneos/GoogleTagManager/TagManagerResources.bundle" not found. Run 'pod install' to update the copy resources script

correr pod update en la carpeta platforms ios Si el error persiste, realizar limpieza de Pods Realizar nuevamente la configuración de Pods en Xcode y quitar framework de DR

Doble quoted fix: build settings Pods ‘quote’ -> no

Undefined symbol: OBJC_CLASS$_OIDTokenResponse Se resuelve cambiando el target a > 12 del modulo que da error