Create New Project...
To create a new project, first of all we open Xcode and click on the Create New Project...
button.
Create an App for the iOS Operating System
We tell the Xcode wizard that we want to create an App
for the iOS
Operating System.
Product Name
To name the project, replace <Template>Bridge
with the name of the App.
- For example:
WeatherBridge
.
Team
To run the new app on a simulator it is not necessary to add an account.
- However, there are a number of advantages that make it advisable to create one. By associating your Apple ID with Xcode you will have
- the ability to also run your apps on a physical device.
- access to developer resources such as beta software.
- If you don't have your Apple ID associated with Xcode yet, you can follow the link below Xcode: Add your Apple ID Account.
Organization Identifier
This text field is a crucial part of the Bundle Identifier of the app, which uniquely identifies your app in the App Store and on devices.
- It is usually structured in reverse domain name notation and precedes the app name to create the full bundle ID.
- For example, if your app is called
MyApp
and your organization's website is [www.example.com], a common organization identifier would becom.example
. Therefore, in this case the Bundle ID will becom.example.MyApp
.- If you do not have a domain, you can create a unique identifier based on your personal name, such as
name.johndoe
.
- If you do not have a domain, you can create a unique identifier based on your personal name, such as
- For example, if your app is called
Interface, Language, Storage
For SwiftUI projects without access to databases, you can leave the default values.
Include Tests
We chose not to check the Include Tests
option that adds test targets automatically.
This decision is based on two main considerations regarding user interface (UI) testing:
- Performance Impact
- UI tests simulate user interactions with the application interface, which, while valuable for end-to-end testing, tend to be significantly slower than unit tests.
- This slower execution can affect the speed of our development and testing cycle, especially in the early stages of development, when we want to maintain agility.
- UI tests simulate user interactions with the application interface, which, while valuable for end-to-end testing, tend to be significantly slower than unit tests.
- Utility and focus
- At this stage, our main focus is to build the core functionality of our app and ensure its reliability through Unit Tests.
- Unit tests allow us to validate the logic and behavior of individual components in isolation, providing a fast and efficient way to detect and correct bugs at an early stage.
In another post we will see how to integrate the Unit Tests once the project is already created.
- With this approach
- we have control over the test environment and ensure that it is adapted to our specific needs.
- We can focus on unit tests, running tests more frequently, benefiting from their fast execution to maintain a robust and reliable code base.
- It is worth noting that the decision to exclude UI testing now does not prevent us from incorporating it later.
- As our application grows and the need for comprehensive UI testing becomes more apparent, we can easily add a UI testing target to our project.
Select a folder
Indicate in which folder you want the project to be hosted.
End of project creation
Run (⌘R)
Commit
e - New Xcode (15.3) project - Interface: SwiftUI, Language: Swift, Include Tests: off
Xcode: Crear un nuevo proyecto SwiftUI
Create New Project...
Para crear un nuevo proyecto, primero de todo abrimos Xcode y hacemos clic sobre le botón Create New Project...
.
Crear una App para el Sistema Operativo iOSc
Al asistente de Xcode le indicamos que queremos crear una App
para el Sistema Operativo iOS
.
Product Name
Para darle nombre al proyecto, sustituye <Template>Bridge
por el nombre de la App.
- Por ejemplo:
WeatherBridge
Team
Para ejecutar la nueva app en un simulador no hace falta añadir ninguna cuenta.
- Sin embargo hay una serie de ventajas que hace aconsejable la creación de ésta. Asociando tu ID de Apple a Xcode tendrás
- la posibilidad de también ejecutar tus apps en un dispositivo físico.
- acceso a recursos para desarrolladores como software beta.
- Si todavía no tienes tu ID de Apple asociado a Xcode, puedes seguir el siguiente enlace Xcode: Añadir tu cuenta de Apple ID.
Organization Identifier
Este campo de texto es una parte crucial del Bundle Identifier de la app, el cual identifica de forma única tu app en la App Store y en los dispositivos.
- Suele estructurarse en notación inversa de nombres de dominio y precede al nombre de la aplicación para crear el ID del paquete completo.
- Por ejemplo, si tu app se llama
MyApp
y el sitio web de tu organización es [www.example.com], un identificador de organización común seríacom.example
. Por lo tanto, en este caso el Bundle ID serácom.example.MyApp
.- Si no tienes un dominio, puedes crear un identificador único basado en tu nombre personal, como por ejemplo "name.johndoe".
- Por ejemplo, si tu app se llama
Interface, Language, Storage
Para proyectos SwiftUI sin acceso a Bases de Datos, puedes dejar los valores por defecto.
Include Tests
Optamos por no marcar la opción "Include Tests" que añade objetivos (En targets) de prueba automáticamente.
Esta decisión se basa en dos consideraciones principales relativas a las pruebas de interfaz de usuario (IU (EN UI Tests)):
- **Impacto en el rendimiento **
- Las pruebas de interfaz de usuario simulan las interacciones del usuario con la interfaz de la aplicación, que, si bien son valiosas para las pruebas de extremo a extremo, tienden a ser significativamente más lentas que las pruebas unitarias.
- Esta ejecución más lenta puede afectar a la velocidad de nuestro ciclo de desarrollo y pruebas, especialmente en las primeras fases del desarrollo, cuando queremos mantener la agilidad.
- Las pruebas de interfaz de usuario simulan las interacciones del usuario con la interfaz de la aplicación, que, si bien son valiosas para las pruebas de extremo a extremo, tienden a ser significativamente más lentas que las pruebas unitarias.
- **Utilidad y enfoque:
- En esta etapa, nuestro enfoque principal es construir la funcionalidad central de nuestra app y asegurar su confiabilidad a través de pruebas unitarias (EN Unit Tests).
- Las pruebas unitarias nos permiten validar la lógica y el comportamiento de los componentes individuales de forma aislada, ofreciendo una forma rápida y eficaz de detectar y corregir errores en una fase temprana.
En otra entrada veremos como integrar los Tests Unitarios una vez el proyecto ya está creado.
- Con este enfoque
- tenemos el control sobre el entorno de pruebas y garantizamos que se adapte a nuestras necesidades específicas.
- nos podemos centrar en las pruebas unitarias, ejecutando pruebas con mayor frecuencia, beneficiándonos de su rápida ejecución para mantener una base de código robusta y fiable.
- Vale la pena señalar que la decisión de excluir las pruebas de interfaz de usuario ahora no nos impide incorporarlas más adelante.
- A medida que nuestra aplicación crezca y se haga más evidente la necesidad de realizar pruebas de interfaz de usuario exhaustivas, podremos añadir fácilmente un objetivo (EN target) de pruebas de interfaz de usuario a nuestro proyecto.
Seleccionar una carpeta
Indica en que carpeta quieres que se aloje el proyecto.
Fin de la creación del proyecto
Este es el aspecto de nuestro proyecto en Xcode.
Ejecuta (⌘R)
Commit
e - New Xcode (15.3) project - Interface: SwiftUI, Language: Swift, Include Tests: off