1 00:00:02,410 --> 00:00:05,880 Al compilar para las tiendas de aplicaciones, la CLI de la expo, 2 00:00:05,920 --> 00:00:10,780 por lo que lo que escribimos aquí en la línea de comando puede ayudarlo o ayudarlo, pero 3 00:00:10,780 --> 00:00:17,070 es posible que deba modificar su configuración en la aplicación. archivo json dependiendo de las características que use su aplicación. 4 00:00:17,110 --> 00:00:24,160 Entonces, nuestra aplicación aquí usa un montón de módulos nativos, todos estos módulos necesitan solicitar permisos y 5 00:00:24,250 --> 00:00:32,020 de alguna manera hacemos esto con la API de permisos, como por ejemplo en el selector de imágenes aquí cuando 6 00:00:32,020 --> 00:00:38,590 solicitamos permisos, pero para Android, por ejemplo, también necesita proporcionar una lista de los permisos que 7 00:00:38,590 --> 00:00:46,510 su aplicación necesita en un archivo de configuración que usted, cuando usa React Native, solo tiene pero que no tiene 8 00:00:46,510 --> 00:00:53,890 cuando usa expo porque expo proporciona este contenedor y hace todo eso por usted en la expo cliente, pero 9 00:00:53,890 --> 00:00:57,030 ahora ya no planeamos usar el cliente expo 10 00:00:57,070 --> 00:01:03,610 y aunque lo incluirá en su aplicación independiente como mencioné, ahora necesita decirle a expo qué 11 00:01:03,610 --> 00:01:05,630 permisos debe solicitar allí. 12 00:01:05,890 --> 00:01:11,860 Además, por ejemplo, si está utilizando Google Maps, también debe proporcionar su clave API de Google Maps y con eso, no me 13 00:01:12,400 --> 00:01:17,350 refiero a que lo estamos haciendo aquí, que usamos en algunas partes de nuestro código Javascript, sino 14 00:01:17,350 --> 00:01:19,680 para use el paquete de mapas React Native. 15 00:01:19,720 --> 00:01:27,160 Nuevamente, la aplicación cliente expo básicamente usa su propia clave para el desarrollo, etc., pero tan pronto como planee ofrecer una 16 00:01:27,190 --> 00:01:33,670 aplicación independiente, debe traer sus propias claves para que el contenedor de exposición que se incluirá en su 17 00:01:33,670 --> 00:01:37,480 aplicación independiente use su clave porque el equipo de 18 00:01:37,510 --> 00:01:41,720 la exposición no le dará una clave de su propiedad para eso. 19 00:01:42,090 --> 00:01:44,620 Una vez más, los documentos oficiales son tus amigos, allí puedes 20 00:01:44,620 --> 00:01:48,020 aprender qué puedes configurar en la aplicación. json y comencemos 21 00:01:48,490 --> 00:01:54,580 con Android porque allí, tendrás que configurar un poco más antes de profundizar en 22 00:01:54,670 --> 00:01:57,190 lo que es específico sobre iOS. 23 00:01:57,190 --> 00:02:04,210 Entonces, para Android, además del ícono, etc., lo que puede configurar allí son los permisos. Ahora la cuestión es que puede omitir la 24 00:02:04,210 --> 00:02:10,930 clave de permisos y, en ese caso, como puede ver aquí, expo configurará su 25 00:02:10,930 --> 00:02:14,200 aplicación para solicitar todos los permisos. 26 00:02:14,200 --> 00:02:19,600 Ahora, no recomendaría hacerlo porque las personas mirarán tu aplicación en la App Store y si 27 00:02:19,600 --> 00:02:26,980 ven que tu aplicación básica de administración de lugares quiere permisos para leer sus contactos o hacer llamadas, bueno, no sé sobre 28 00:02:26,980 --> 00:02:30,070 ti, pero no lo haría. t descargue dicha aplicación. 29 00:02:30,070 --> 00:02:35,680 Por lo tanto, mi recomendación sería que sea específico con respecto a los permisos que necesita su 30 00:02:35,680 --> 00:02:41,860 aplicación y que lo haga yendo a su aplicación. json y allí, en el nodo de Android, agrega la 31 00:02:42,130 --> 00:02:45,030 clave de permisos y ahora agrega los permisos. 32 00:02:45,040 --> 00:02:51,130 Ahora siempre se solicitarán algunos permisos básicos y encontrará estos permisos aquí, por ejemplo, permisos para obtener datos 33 00:02:51,130 --> 00:02:57,040 de Internet, etc., pero ahora también puede, por ejemplo, agregar permisos para usar la ubicación del usuario y 34 00:02:57,040 --> 00:03:01,100 acceder a la cámara porque eso es algo que haremos hacer. 35 00:03:01,100 --> 00:03:06,670 Agreguemos estas claves aquí a permisos como este, a cadenas de teclas con comillas dobles, eso es importante en 36 00:03:06,670 --> 00:03:07,960 este archivo, agregado 37 00:03:07,990 --> 00:03:09,480 a esta matriz de permisos. 38 00:03:10,520 --> 00:03:20,350 Ahora también necesitaremos el permiso de almacenamiento externo de escritura para guardar nuestra imagen, por lo que deberíamos agregar eso también y con eso deberíamos 39 00:03:20,350 --> 00:03:21,520 ser buenos 40 00:03:21,520 --> 00:03:26,410 para esta aplicación pero, por supuesto, dependiendo de la aplicación que esté creando, 41 00:03:26,410 --> 00:03:29,940 verifique cuidadosamente qué permisos tiene su aplicación necesitará, siempre 42 00:03:30,010 --> 00:03:36,190 puede consultar las páginas de documentación de los paquetes de módulos nativos que está utilizando, allí 43 00:03:36,190 --> 00:03:38,570 normalmente debería encontrar una descripción de 44 00:03:38,620 --> 00:03:43,430 los permisos que necesita este paquete. Por lo tanto, los permisos 45 00:03:43,650 --> 00:03:48,840 son una cosa, además si está utilizando Google Maps, debe agregar el nodo de 46 00:03:48,840 --> 00:03:51,530 Google Maps a su configuración de Android. 47 00:03:51,690 --> 00:03:52,170 Entonces, 48 00:03:52,170 --> 00:04:00,210 después de los permisos, podemos agregar mapas de Google como este, que también contiene un objeto como valor y, en ese 49 00:04:00,270 --> 00:04:02,440 objeto, configura la clave API. 50 00:04:02,490 --> 00:04:09,480 Nuevamente, no lo necesitaba para el cliente de la exposición cuando publicamos la aplicación en esta página de exposición y usamos la aplicación del cliente de 51 00:04:09,510 --> 00:04:15,190 la exposición porque allí el equipo de la exposición básicamente le da su propia clave de Google Maps, pero si 52 00:04:15,330 --> 00:04:18,480 está creando una aplicación independiente, usted necesita proporcionar el suyo propio. 53 00:04:18,480 --> 00:04:27,000 Entonces, para eso, asegúrese de usar su clave aquí, así como también importante, y ya mencioné esto en el módulo 54 00:04:27,360 --> 00:04:29,530 no expo, asegúrese de que 55 00:04:29,580 --> 00:04:40,260 en las API de Google, así que en la consola de la nube de Google cuando verifique su biblioteca de API, usted asegúrese de que el 56 00:04:40,260 --> 00:04:47,390 SDK de mapas para Android esté habilitado para este proyecto al que pertenece esta clave API que 57 00:04:47,400 --> 00:04:48,080 proporcionó. 58 00:04:48,090 --> 00:04:49,440 Entonces, aquí está 59 00:04:49,440 --> 00:04:54,720 habilitado, esto debe pertenecer al proyecto para el que creó la clave API que ahora 60 00:04:54,720 --> 00:05:00,770 proporciona aquí, de lo contrario, esto no funcionará. Entonces, estos son los permisos y la configuración de Google Map y es 61 00:05:00,770 --> 00:05:02,980 posible que necesite otras configuraciones específicas sobre las que 62 00:05:02,980 --> 00:05:06,710 puede obtener información aquí en la aplicación. archivo json según las funciones que esté utilizando. 63 00:05:06,710 --> 00:05:10,220 También puede configurar Por supuesto todo lo demás 64 00:05:10,220 --> 00:05:18,540 y tantas cosas, una cosa que absolutamente debe proporcionar para construir su aplicación es también esta clave de paquete. 65 00:05:18,540 --> 00:05:21,940 Esto es algo que siempre debe agregar, independientemente de lo que use 66 00:05:22,050 --> 00:05:27,800 su aplicación, aquí en el nodo de Android, debe proporcionar la clave del paquete y ahora debe tener un formato determinado. 67 00:05:27,810 --> 00:05:33,870 Básicamente es una URL inversa, una URL ficticia que no tiene que existir, pero que actúa como un identificador único 68 00:05:33,870 --> 00:05:37,110 en toda la Google Play Store, por lo que debe ser 69 00:05:37,110 --> 00:05:42,060 una URL inversa que nadie más ha usado antes y, por lo tanto, normalmente si usted 70 00:05:42,120 --> 00:05:48,210 posee un dominio, usaría su dominio, por ejemplo, com. Academind, entonces un dominio inverso y luego 71 00:05:48,270 --> 00:05:53,700 un identificador único, como grandes lugares. Puede crear cualquier URL que desee aquí, pero, por supuesto, 72 00:05:53,790 --> 00:05:58,920 una vez más, debe ser única y, por lo tanto, debe usar su propio dominio o un dominio 73 00:05:58,920 --> 00:06:00,890 ficticio que no sea propiedad de nadie, 74 00:06:00,990 --> 00:06:07,530 por lo que no es un dominio académico porque soy dueño de esto, por lo que cualquier otro dominio, cualquier otro identificador ficticio que 75 00:06:07,530 --> 00:06:08,880 debería tener este formato, 76 00:06:08,880 --> 00:06:10,790 eso es lo que proporciona aquí. 77 00:06:10,860 --> 00:06:14,860 También debe proporcionar algo similar en iOS, allí si va a iOS, 78 00:06:14,970 --> 00:06:21,480 no necesita proporcionar esta configuración de permisos porque los permisos de iOS funcionan de manera diferente, necesitaría proporcionar una clave 79 00:06:21,480 --> 00:06:22,580 API de 80 00:06:22,650 --> 00:06:28,020 Google Maps si usa Google Maps versión del paquete de mapas para iOS, el valor predeterminado 81 00:06:28,020 --> 00:06:33,600 de este paquete es usar Apple Maps y no he cambiado esto en mi aplicación, así que 82 00:06:33,600 --> 00:06:37,200 no necesito proporcionar la API de Google Maps aquí, pero 83 00:06:37,440 --> 00:06:45,260 lo que definitivamente debes proporcionar aquí es Un identificador de paquete. Así que reemplace el paquete con un identificador de paquete y el formato 84 00:06:45,260 --> 00:06:47,240 es el mismo, tiene esta sintaxis 85 00:06:47,240 --> 00:06:54,050 de URL inversa aquí y la nombraré com. Academind. curso de grandes lugares y también 86 00:06:54,080 --> 00:06:56,630 use esa edición de curso aquí en Android. 87 00:06:56,810 --> 00:07:02,090 Por lo tanto, el identificador de paquete para iOS y el paquete para Android deben establecerse en una URL única inversa. 88 00:07:02,090 --> 00:07:07,830 Ahora, además de estos identificadores, también debe establecer algo más, en iOS debe agregar 89 00:07:07,840 --> 00:07:15,290 un número de compilación, también aquí en el nodo de iOS, por lo tanto, el número de compilación 90 00:07:15,290 --> 00:07:23,020 debe ser una cadena que identifique su compilación. Allí, debería tener un número de compilación como esta versión allá arriba y trabajando 91 00:07:23,530 --> 00:07:25,800 de la manera que lo expliqué allí arriba. 92 00:07:25,810 --> 00:07:33,100 Por lo tanto, debe ser un número que consta de tres dígitos donde tiene un número de parche para parches, 93 00:07:33,110 --> 00:07:39,780 correcciones de errores, luego este número de actualización menor para nuevas características que no rompen todo y este número 94 00:07:39,780 --> 00:07:41,820 de actualización principal, puede cambiar 95 00:07:41,850 --> 00:07:46,260 esto como lo desee pero debe cambiarlo para cada nueva versión que 96 00:07:46,260 --> 00:07:51,910 publique e implemente y, por supuesto, debe cambiarlo de modo que refleje lo que cambió. 97 00:07:51,920 --> 00:07:53,970 Ahora necesita algo similar para Android, 98 00:07:53,970 --> 00:08:01,710 si volvemos a la documentación de Android, también necesitamos un código de versión. Entonces, aquí agregamos código de versión y ahora aquí no se 99 00:08:01,870 --> 00:08:07,030 trata de una cadena, sino de un número que simplemente debe aumentar en uno para cada 100 00:08:07,030 --> 00:08:07,810 nueva versión. 101 00:08:07,810 --> 00:08:09,170 Entonces comienza en una, la 102 00:08:09,190 --> 00:08:14,950 próxima versión que lanza, incluso si solo contiene algunas pequeñas correcciones, debe ser dos y luego tres y 103 00:08:14,950 --> 00:08:15,910 así sucesivamente. 104 00:08:15,910 --> 00:08:20,890 Así que eso es lo que debe configurar aquí, así es como funciona para Android, también encontrará esa 105 00:08:20,950 --> 00:08:23,000 descripción aquí en la documentación y con 106 00:08:23,140 --> 00:08:28,000 eso, ahora estamos preparados para implementar esto o construirlo primero y, como mencioné, lo genial Lo que 107 00:08:28,000 --> 00:08:32,860 pasa con la expo administrada es que ahora puede construir esto en los servidores en la nube 108 00:08:32,860 --> 00:08:33,960 de la expo. 109 00:08:34,150 --> 00:08:41,440 Entonces, lo que debe hacer es ejecutar expo Publish para publicar la última versión de su aplicación en los servidores de Expo 110 00:08:41,500 --> 00:08:46,100 como esa, que aún no la compilará como una aplicación independiente y ahora lo 111 00:08:47,370 --> 00:08:54,190 que obtengo aquí son un par de advertencias o errores. Entonces, vemos que Android no debería tener una propiedad adicional 112 00:08:54,190 --> 00:08:55,360 de Google Maps, sí, 113 00:08:59,710 --> 00:09:02,300 porque debería estar en un nodo de configuración, 114 00:09:02,410 --> 00:09:03,490 mi error. 115 00:09:03,490 --> 00:09:08,890 Entonces, debe agregar la configuración aquí y en la configuración, es posible que tenga esta clave de 116 00:09:08,890 --> 00:09:15,780 Google Maps, es un pequeño error de mi parte y aquí para el paquete, a Android en realidad no le gustan los 117 00:09:15,850 --> 00:09:24,170 guiones allí, pero puede usar guiones bajos, así que usemos esto . Con eso solucionado, ahora ejecutemos la publicación expo nuevamente para validar esto 118 00:09:24,170 --> 00:09:27,230 nuevamente y luego publiquemos la versión más reciente en 119 00:09:27,320 --> 00:09:33,890 los servidores de la expo que nuevamente no comenzará el proceso de compilación pero que es una preparación importante 120 00:09:35,170 --> 00:09:40,360 y una vez hecho esto, está listo para También construya su aplicación para Android e 121 00:09:40,390 --> 00:09:41,120 iOS. 122 00:09:41,170 --> 00:09:45,910 Ahora, la diferencia entre publicar y construir es que publicar solo empuja su código y configuración a los servidores de 123 00:09:45,910 --> 00:09:50,540 la exposición y luego puede escanear el código de barras con el cliente de la exposición y así sucesivamente. 124 00:09:50,560 --> 00:09:56,590 Construir significa que aprovechará el servicio de compilación en la nube de la expo para crear realmente un paquete de aplicaciones de 125 00:09:56,830 --> 00:09:59,480 Android o un archivo IPA de iOS, estos son los 126 00:09:59,500 --> 00:10:04,090 archivos que luego carga en las tiendas de aplicaciones a partir de entonces, por lo que hay 127 00:10:04,090 --> 00:10:06,780 una gran diferencia aquí. Ahora, estos paquetes que 128 00:10:06,800 --> 00:10:10,220 construye como se mencionó anteriormente incluyen el cliente de exposición, por 129 00:10:10,220 --> 00:10:15,290 ejemplo, lo incluyen como un envoltorio alrededor de su aplicación, pero es una aplicación nativa real, por 130 00:10:15,290 --> 00:10:19,410 lo tanto, después de todo, es una aplicación nativa con solo este pequeño envoltorio 131 00:10:19,490 --> 00:10:24,840 extra pequeño alrededor teniendo en cuenta la configuración que configura aquí, por ejemplo, con respecto a los permisos. 132 00:10:24,870 --> 00:10:31,890 Además, estas aplicaciones que crea en los servidores de expo que luego puede distribuir a través de las tiendas de aplicaciones hablarán con 133 00:10:31,890 --> 00:10:39,300 los servidores de expo para la funcionalidad de actualización por aire. Por lo tanto, solo publicará nuevas actualizaciones con la publicación 134 00:10:39,300 --> 00:10:45,750 expo a partir de entonces y sus aplicaciones independientes que se ejecutan en otros dispositivos obtendrán estas actualizaciones publicadas, 135 00:10:45,750 --> 00:10:48,900 por lo que la publicación sigue siendo importante 136 00:10:48,900 --> 00:10:53,820 incluso si está creando aplicaciones independientes, si está creando paquetes de aplicaciones porque Estos 137 00:10:54,000 --> 00:10:59,160 paquetes de aplicaciones continuarán hablando con los servidores de la Expo para obtener nuevas versiones. 138 00:10:59,280 --> 00:11:01,720 Pero hablando de eso, ¿cómo construimos estos paquetes ahora? 139 00:11:01,720 --> 00:11:07,770 Haces esto con el comando de compilación expo y ahí tienes build: Android y 140 00:11:07,770 --> 00:11:08,780 build: iOS. 141 00:11:08,880 --> 00:11:16,020 Bueno, comencemos con build: Android y, como su nombre lo indica, esto crea una aplicación para Android. 142 00:11:16,020 --> 00:11:21,540 Puede aprender todo sobre el proceso de compilación independiente en la documentación de la exposición de 143 00:11:21,540 --> 00:11:27,210 aplicaciones independientes de construcción, que también encontrará adjunta aquí y allá, encontrará la configuración básica que necesita 144 00:11:27,210 --> 00:11:33,710 y lo que debe tener en cuenta allí. Para Android, aquí encontrará que también ahora, al menos, 145 00:11:33,710 --> 00:11:39,200 puede elegir si desea crear un APK o un archivo de paquete de aplicaciones, se recomienda 146 00:11:39,260 --> 00:11:40,780 crear un archivo de 147 00:11:40,850 --> 00:11:47,330 paquete de aplicaciones porque ese es el formato preferido que Google desea y para esto, puede ejecutar en lugar de 148 00:11:47,330 --> 00:11:54,710 simplemente expo build Android, ejecuta expo build Android -t app add-bundle. Si ahora presiona enter, esto finalmente validará su configuración y luego 149 00:11:54,710 --> 00:12:00,350 empujará su código a los servidores de compilación en la nube de la expo donde ahora se programará. 150 00:12:00,350 --> 00:12:05,330 Ahora, en primer lugar, le preguntará porque las aplicaciones deben firmarse, eso sucede con un par de claves 151 00:12:05,360 --> 00:12:10,210 públicas privadas que al final se utiliza para identificarlo como el autor de la aplicación, las actualizaciones 152 00:12:10,220 --> 00:12:13,200 futuras de la aplicación y con eso no lo hago. 153 00:12:13,220 --> 00:12:18,250 no significa actualizaciones que publicó en los servidores de expo con el comando de publicación de expo, pero 154 00:12:18,410 --> 00:12:23,600 cuando reconstruye la aplicación, cuando reconstruye el paquete que luego vuelve a cargar en las tiendas de aplicaciones, lo 155 00:12:23,900 --> 00:12:28,940 que ocasionalmente tendrá que hacer si, por ejemplo, cambia el ícono o algo más que no se puede 156 00:12:28,940 --> 00:12:30,670 compartir con la publicación de 157 00:12:30,740 --> 00:12:36,890 la exposición, en tales casos, debe firmar la actualización con las mismas claves que utilizó para crear la aplicación original para identificarlo 158 00:12:37,130 --> 00:12:39,050 como el autor; de lo contrario, App 159 00:12:39,050 --> 00:12:45,530 Store negará esta actualización. no aceptará tu próxima versión de la aplicación. Por lo tanto, debe firmar su aplicación y si sabe lo 160 00:12:45,530 --> 00:12:50,120 que está haciendo, puede crear y cargar su propia tienda de claves, pero aquí me limitaré 161 00:12:50,120 --> 00:12:50,770 a 162 00:12:50,810 --> 00:12:54,090 la versión uno y dejaré que expo maneje lo que significa que 163 00:12:54,170 --> 00:13:00,300 creará una clave para asignar y hacer todas las cosas de firma para usted en sus servidores, así que eso es 164 00:13:00,350 --> 00:13:01,520 lo que elijo aquí. 165 00:13:04,640 --> 00:13:13,820 Ahora con eso, vuelve a compilar la aplicación igual que para publicar, y aunque estoy compilando la aplicación de Android, todavía la compila para iOS porque al final 166 00:13:13,820 --> 00:13:19,700 lo que hace aquí es publicar la aplicación. Entonces, esperemos a que esto 167 00:13:19,700 --> 00:13:27,160 termine, ahora solo está haciendo lo mismo que expo publicarlo, pero a partir de entonces, 168 00:13:27,190 --> 00:13:32,310 programará que esto se construya en los servidores de expo. 169 00:13:32,350 --> 00:13:38,060 Entonces, ahora que se ha publicado y ahora se programa una compilación de este tipo y se pone en cola, por cierto, este 170 00:13:38,170 --> 00:13:42,670 es un proceso que ahora puede dejar como dice aquí, siempre puede verificar el estado de su compilación ingresando 171 00:13:42,940 --> 00:13:44,570 esta URL, usted ' Deberá iniciar 172 00:13:44,620 --> 00:13:48,720 sesión con su cuenta de Expo allí y luego podrá ver el estado de la compilación. 173 00:13:48,880 --> 00:13:49,700 Ahora importante, 174 00:13:49,810 --> 00:13:51,380 esta compilación puede llevar mucho tiempo, 175 00:13:51,430 --> 00:13:57,100 la compilación en sí misma no tanto, sino hasta que se construya porque está programada, tenga en cuenta que este es 176 00:13:57,100 --> 00:13:59,260 un servicio gratuito, por lo que, por supuesto, 177 00:13:59,380 --> 00:14:03,800 no se construye de inmediato, pero cuando los servidores de la exposición tienen espacio para ello. 178 00:14:03,910 --> 00:14:08,240 Esto puede llevar un par de minutos, incluso horas, hasta que eso suceda, así que no se 179 00:14:08,320 --> 00:14:13,030 preocupe si eso lleva algo de tiempo, siempre puede verificar esta URL que está viendo en su línea 180 00:14:13,060 --> 00:14:16,490 de comando para ver qué sucede. Así que puede salir de esto, 181 00:14:16,500 --> 00:14:20,740 esta también es una URL donde luego encontrará los archivos de compilación, así que 182 00:14:20,740 --> 00:14:26,830 aquí está mi estado de compilación si lo verificamos, verá que es lindo y en este momento, no está sucediendo nada 183 00:14:26,830 --> 00:14:28,380 más, podemos volver a 184 00:14:28,380 --> 00:14:33,820 visitar esto más tarde para ver el proceso de compilación y descargue el paquete de aplicaciones terminado y, 185 00:14:33,820 --> 00:14:35,890 por ahora, hagamos lo mismo para iOS. 186 00:14:35,950 --> 00:14:38,500 Esto se puede 187 00:14:38,610 --> 00:14:44,890 hacer ejecutando expo build iOS. Ahora importante, para crear aplicaciones de iOS, necesita una cuenta de desarrollador de 188 00:14:44,890 --> 00:14:46,270 Apple paga, eso es imprescindible. 189 00:14:46,690 --> 00:14:53,590 Por lo tanto, deberá ir al desarrollador. manzana. com y allí, deberá iniciar sesión con su 190 00:14:53,590 --> 00:14:59,650 ID de Apple y, básicamente, obtener una cuenta de pago, por lo que deberá agregar su tarjeta de crédito y pagar una 191 00:14:59,650 --> 00:15:02,050 tarifa de $ 99. Eso es obligatorio, no 192 00:15:02,050 --> 00:15:03,230 hay forma de 193 00:15:03,310 --> 00:15:07,930 evitarlo, Apple lo requiere para que puedas crear aplicaciones que quieras publicar en sus tiendas. 194 00:15:07,930 --> 00:15:10,210 No necesita eso durante el desarrollo, 195 00:15:10,210 --> 00:15:13,200 pero ahora para compartir la aplicación, necesita tener eso. 196 00:15:13,240 --> 00:15:20,290 Básicamente, es una tarifa que solo está permitida para las personas en la tienda que tienen al menos algún tipo 197 00:15:20,680 --> 00:15:22,510 de objetivos serios, supongo. 198 00:15:22,510 --> 00:15:28,210 Por lo tanto, asegúrese de iniciar sesión aquí y configurar su cuenta de desarrollador de Apple para unirse al Programa de desarrolladores 199 00:15:28,210 --> 00:15:31,490 de Apple y, a partir de entonces, puede ejecutar este comando 200 00:15:31,560 --> 00:15:38,440 y le pedirá que inicie sesión con su cuenta de desarrollador de Apple. Entonces, inicie sesión con su ID y contraseña de 201 00:15:38,500 --> 00:15:42,880 Apple y esa información no se almacenará en los servidores de la 202 00:15:42,880 --> 00:15:43,960 expo, no 203 00:15:43,960 --> 00:15:49,660 se preocupe, pero necesita configurar todo para compilar su aplicación porque para el proceso de compilación 204 00:15:49,660 --> 00:15:54,550 de Apple, necesita certificados especiales, etc. puede solicitar en su nombre con estos datos. 205 00:15:54,640 --> 00:15:59,800 Una vez que iniciaste sesión, te pregunta cómo quieres manejar tus credenciales, al igual que antes 206 00:15:59,800 --> 00:16:04,330 si no sabes lo que estás haciendo, debes dejar que la exposición maneje todo 207 00:16:04,330 --> 00:16:11,920 eso porque, como mencioné, necesitas un par de al final, los certificados especiales para construir su aplicación iOS y expo pueden solicitar todo eso 208 00:16:11,920 --> 00:16:17,650 por usted y configurar todo eso para usted, así que dejaré que expo haga esto para todos estos 209 00:16:17,960 --> 00:16:21,080 pasos y ahora básicamente hará todo eso por usted. 210 00:16:21,080 --> 00:16:26,500 Ahora, esto también construye mi aplicación aquí para iOS y la vuelve a publicar primero, eso es lo mismo que 211 00:16:26,510 --> 00:16:33,940 hicimos antes para Android y ahora también tenemos una compilación programada para iOS. Al igual que antes, esto está en 212 00:16:33,960 --> 00:16:40,020 cola, puede salir de eso y simplemente ver su compilación aquí en el navegador. 213 00:16:40,030 --> 00:16:45,660 Así que ahora no solo tenemos esa compilación de Android en cola, sino que también tenemos esa compilación de iOS 214 00:16:45,660 --> 00:16:48,680 en cola y ambas demorarán un tiempo hasta que terminen. 215 00:16:48,690 --> 00:16:53,460 Ahora, hay una cosa importante que también debe hacer después de que 216 00:16:53,460 --> 00:16:54,510 se haya 217 00:16:54,510 --> 00:17:00,300 realizado esta compilación de Android, que aún no es, debe ejecutar expo fetch: android: keystore. 218 00:17:00,300 --> 00:17:05,580 Una vez más, esto solo funciona después de que se complete la compilación porque esto 219 00:17:05,580 --> 00:17:12,900 buscará este almacén de claves generado automáticamente que la exposición genera para usted si elige eso en la configuración que necesita 220 00:17:13,030 --> 00:17:17,420 para futuras actualizaciones de esta aplicación. Definitivamente lo necesitará y en futuras actualizaciones cuando 221 00:17:17,460 --> 00:17:22,070 reconstruya la aplicación, deberá elegir que proporcione su propio almacén de claves y luego deberá proporcionar este almacén de 222 00:17:22,070 --> 00:17:25,330 claves, así que ingrese la ruta a este almacén de claves que luego descargará. 223 00:17:25,350 --> 00:17:30,630 Por lo tanto, este comando finalmente descargará un archivo generado en los servidores de la expo que debe 224 00:17:30,630 --> 00:17:33,570 almacenar en su sistema para futuras actualizaciones de la misma 225 00:17:33,600 --> 00:17:35,980 aplicación, de lo contrario no podrá actualizar. 226 00:17:36,000 --> 00:17:41,040 Entonces, ese es un comando importante que necesitará ejecutar una vez que se complete esta compilación. Bueno, y con eso, esperemos a 227 00:17:41,040 --> 00:17:42,600 que termine, iOS 228 00:17:42,600 --> 00:17:46,610 ya está construyendo, Android todavía está en cola pero iOS 229 00:17:46,620 --> 00:17:49,120 ya está en marcha, así que 230 00:17:49,120 --> 00:17:53,830 esperemos a que termine la compilación de iOS y ahora esto está 231 00:17:53,830 --> 00:17:57,200 hecho, ahora mi iOS La construcción está hecha. 232 00:17:57,330 --> 00:18:02,730 Ahora también puede consultar los documentos oficiales sobre cómo puede continuar probando esto en su dispositivo o 233 00:18:02,730 --> 00:18:08,720 simulador o luego ir a la parte donde carga la aplicación en Apple App Store y Google Play Store. 234 00:18:08,730 --> 00:18:09,690 Así que 235 00:18:09,690 --> 00:18:16,930 creamos la aplicación, ahora puede cargarla ejecutando expo upload: ios, esto usará de manera predeterminada su última aplicación y la 236 00:18:17,020 --> 00:18:18,630 cargará en la App Store. 237 00:18:18,640 --> 00:18:24,100 Ahora es la parte que no haré aquí porque realmente no quiero publicar esta aplicación aquí, pero 238 00:18:24,100 --> 00:18:25,710 es lo que harías 239 00:18:25,780 --> 00:18:30,570 ahora, usaría esta aplicación que se creó aquí para iOS o Android, la compilación de 240 00:18:30,580 --> 00:18:36,160 Android es ahora también se ejecuta como veo, por lo que usaría esto y luego lo publicaría con 241 00:18:36,160 --> 00:18:40,780 este comando para iOS o con este comando para Android, en Google Play Store. 242 00:18:40,780 --> 00:18:45,970 Ahora siga los pasos que encuentra aquí en los documentos para crear las cuentas apropiadas y configurar 243 00:18:45,970 --> 00:18:49,150 todo correctamente para que este comando pueda tener éxito 244 00:18:49,150 --> 00:18:55,450 y con eso, tendrá su aplicación implementada en Apple App Store y en Google Play Store para que pueda puede 245 00:18:55,450 --> 00:19:02,140 llevar su aplicación a cualquier usuario en todo el mundo como una aplicación independiente, que no dependa del cliente expo que 246 00:19:02,140 --> 00:19:05,440 se instale en los dispositivos, lo cual es bastante bueno.