Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/v3.0.0 #47

Merged
merged 7 commits into from
Aug 24, 2024
Merged

Release/v3.0.0 #47

merged 7 commits into from
Aug 24, 2024

Conversation

gumob
Copy link
Owner

@gumob gumob commented Aug 24, 2024

This commit adds two new jobs to the main workflow file for testing the app on the Apple Watch OS and Apple Vision Pro platforms. The changes include adding a new matrix for each platform, updating the steps for each job to use the correct scheme and destination, and updating the needs section to include these new tests in the overall test suite. This will help ensure that our app works correctly on these platforms as well.

gumob added 7 commits August 24, 2024 01:03
 It appears that you have added new `PBXHeadersBuildPhase` sections for the `Punycode.h` file in different locations (`A79A971B2C78CF210079CCA8` and `A79A97352C78CF930079CCA8`) within your Xcode project's build settings. This is a good practice to ensure that the header file is included in the correct target(s) for your project.

   If you encounter any issues or have questions about these changes, feel free to ask! I'm here to help.

 It appears you've added new build phases and dependencies to your Xcode project file (`.xcodeproj`). Here's a brief explanation of what each addition does:

1. `A79A97232C78CF220079CCA8 /* Sources */`: This is a new build phase for Swift source files, which includes the file `Punycode.swift`.

2. `A79A97512C78D0080079CCA8 /* PunycodeTests.swift in Sources */`: This is a new test target for the Swift source file `PunycodeTests.swift`.

3. `A79A972A2C78CF220079CCA8 /* PBXTargetDependency */` and `A79A97442C78CF940079CCA8 /* PBXTargetDependency */`: These are new dependencies for the watchOS, visionOS, and iOS targets. They depend on the Punycode target.

   Without more context, it's hard to say exactly what these changes will do in your project. However, they seem to be setting up a Swift file (Punycode) and its test file (PunycodeTests), and adding dependencies for this new target on other targets within your project.

 This appears to be a configuration file for an Xcode project, specifically for a Swift-based iOS application called "Punycode". The file defines two build configurations: `Release` and `Debug`. Here's a brief overview of the settings:

1. **Framework Search Paths**: The paths where Xcode should look for frameworks when building the project. This includes both user-defined paths (`YOUR_PROJECT_PATH/Frameworks`) and built-in ones (`@loader_path/Frameworks`).

2. **LOCALIZATION_PREFERS_STRING_CATALOGS**: Enables localization for the project.

3. **MACOSX_DEPLOYMENT_TARGET**: The minimum macOS version required to run the app, set to 10.13 (High Sierra).

4. **MODULE_VERIFIER_SUPPORTED_LANGUAGES and MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS**: Specify the Objective-C and Swift language standards supported by the module verifier.

5. **PRODUCT_BUNDLE_IDENTIFIER**: The unique identifier for the app bundle, set to `com.gumob.Punycode`.

6. **PRODUCT_NAME**: The name of the product (app), which is derived from the project name with some modifications (`$(PROJECT_NAME:c99extidentifier)`).

7. **SDKROOT**: The root directory for the SDK being used, set to `xros`.

8. **SKIP_INSTALL**, **SUPPORTED_PLATFORMS**, **SWIFT_EMIT_LOC_STRINGS**, **SWIFT_INSTALL_OBJC_HEADER**, **SWIFT_VERSION**, **TARGETED_DEVICE_FAMILY**, **TVOS_DEPLOYMENT_TARGET**, **WATCHOS_DEPLOYMENT_TARGET**, and **XROS_DEPLOYMENT_TARGET**: Various settings related to the build process, such as supported platforms, Swift version, targeted device family, and deployment targets for different platforms like tvOS, watchOS, and XROS.

9. The `name` key defines the name of each configuration: `Release` and `Debug`.

The `Debug` configuration has additional settings related to code signing, provisioning profiles, and Swift-specific options such as emitting location strings and active compilation conditions.

 feat(Xcode): Add Release and Debug configurations with updated build settings for Swift 5.0, C++17, and other improvements.

 It appears you have added support for watchOS, xROS, and possibly visionOS in your Swift project. The `WATCHOS_DEPLOYMENT_TARGET`, `XROS_DEPLOYMENT_TARGET`, and potentially other deployment targets have been added to the build settings.

  Here's a brief explanation of what each line does:

1. `SWIFT_VERSION = 5.0;` - Sets the Swift version for your project to 5.0.
2. `TARGETED_DEVICE_FAMILY = 3;` - Targets devices that are iPads, iPhones, and iPod touches.
3. `TVOS_DEPLOYMENT_TARGET = 12.0;` - Sets the deployment target for tvOS to version 12.0.
4. `WATCHOS_DEPLOYMENT_TARGET = 8.0;` - Sets the deployment target for watchOS to version 8.0.
5. `XROS_DEPLOYMENT_TARGET = 1.0;` - Sets the deployment target for xROS (Apple's augmented reality platform) to version 1.0.
6. The rest of the code defines build configurations for your project, including Debug and Release builds for each target (app).

By adding these lines, you are enabling your project to be built for multiple platforms, allowing you to create apps for iPhone, iPad, Apple TV, Apple Watch, and possibly augmented reality experiences. Make sure to update your codebase accordingly to take advantage of the new targets.
…e configuration

   Added new environment variables for watchOS and visionOS schemes.
   Updated run_tests function to include watchOS and visionOS tests with their respective scheme, destination, code coverage, open report, and output files.
   Added new lanes for running watchOS and visionOS tests in Fastlane configuration.
   Added Carthage build commands for watchOS and visionOS platforms.
This is an Xcode scheme configuration for a project named Punycode, specifically for the watchOS target. Here's a brief explanation of each section:

1. `TestAction`: This section defines the test action for the scheme. It uses LLDB as the debugger and launcher, enables code coverage, specifies the build configuration as Debug, and lists the testable reference (Punycode-watchOSTests.xctest).

2. `LaunchAction`: This section defines the launch action for the scheme. It also uses LLDB as the debugger and launcher, sets the build configuration to Debug, and specifies the MacroExpansion which includes the Punycode.framework buildable reference.

3. `ProfileAction`: This section defines the profile action for the scheme. It sets the build configuration to Release, enables code coverage, and also includes the Punycode.framework buildable reference in the MacroExpansion.

4. `AnalyzeAction`: This section defines an analyze action for the scheme, but it doesn't specify a build configuration.

5. `ArchiveAction`: This section defines an archive action for the scheme, sets the build configuration to Release, and enables revealing the archive in the organizer when the action is executed.

Each of these actions can be run from the Xcode interface by selecting the scheme and clicking the corresponding button (Test, Run, Profile, Analyze, Archive). The MacroExpansion sections define the buildables that are relevant to each action.
…testing, profiling, and archiving

This commit adds a new XCScheme file for the Punycode project named "Punycode-visionOS". The scheme supports building for testing, running, profiling, archiving, and analyzing. It also includes code coverage for specified targets and testables for the Punycode-visionOSTests.xctest. This change will facilitate better testing and debugging of the Punycode project in Xcode.
…ode' and potential import failures in certain configurations, see swiftlang/swift#56573 for workarounds.
…atforms

   This commit adds two new jobs to the main workflow file for testing the app on the Apple Watch OS and Apple Vision Pro platforms. The changes include adding a new matrix for each platform, updating the steps for each job to use the correct scheme and destination, and updating the needs section to include these new tests in the overall test suite. This will help ensure that our app works correctly on these platforms as well.
Source/Punycode.swift Show resolved Hide resolved
@gumob gumob merged commit eff266d into develop Aug 24, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant