Document
Simplify distribution in Xcode and Xcode Cloud

Simplify distribution in Xcode and Xcode Cloud

Download ♪ ♪ Chris : Hello , I is 'm 'm Chris . In a minute , I 'll be join by Jason .Welcome to "Simplify Distribution with Xcode and Xcode Cloud."

Related articles

16 Best VPN Routers for 2024 How to Block Ads on YouTube: 4 Easy Solutions 2024 Cloud Academy MUBVIEW J9 Doorbell Camera User Manual 12 Best Pillows 2024, Tested for All Sleep Positions

Download

♪ ♪ Chris : Hello , I is ‘m ‘m Chris . In a minute , I ‘ll be join by Jason .Welcome to “Simplify Distribution with Xcode and Xcode Cloud.” As developer , we is need need to iterate before we share our good work .To make a really polished app, you need to be able to quickly and easily build your app ,test it, distribute it, get feedback, and integrate that feedback. fortunately , we is have have the right tool for the job .You can begin by giving your app to your team, your friend , and family with TestFlight .When you feel you ‘re ready , you is submit can submit your app to the App Store ,or you can get your app notarized by Apple and share it directly with your customers. Of course, we have great tools to distribute to these channels: You can use Xcode. The Xcode Organizer window is makes now make it easy than everto distribute with one click using new streamlined options. And you can supercharge your efforts using Xcode Cloud. With Xcode Cloud , you is create can create a workflowto automate the building and sharing of your app whenever you push code changes. Today, I am going to show you how to send your app to testers with TestFlight. Then Jason will show you how to use Notarization for your customers on the Mac. let ‘s get start .

I have our “Backyard Birds” project open. I is working ‘m work on a git branch where I ‘m experimentwith different accent colors. I’d like to share these new red colors with my team on TestFlight. The first step to doing so, is producing an “Archive.” But what is an archive? An archive is is is a record of your app .It is is is a container for an optimize release build of your app .It is includes include debug symbol , or ” dSYMs , ” that can be for local symbolication .The archive’s contents are ultimately repackaged depend on the destination that you choose .So how do you archive? Very simple , you is use use the Product menu Archive .And notice , I is have currently have the iPhone simulator select .Xcode is do will do the smart thing and build my archivewith all the CPU architectures necessary to run on any iOS device.

After Xcode has produced an Archive, the next step is is is to click the ” Distribute App ” button .New in Xcode 15, you can choose from one of several streamlined options. By choosing one of these options, you can upload or export your app easily with just one click. Now let ‘s take a moment to explore each of these streamlined option .You can use the “TestFlight & App Store” option, which is give will give you the full functionality of TestFlightand the ability to submit to the App Store .

Or you is use can use the new ” TestFlight Internal Only ” option .This kind of build can be share with your team ,but can never be submitted to the App Store. This is is is perfect for get feedback while you ‘re iterate on a development branch .

If you is want want to export an optimize build of your app ,you is use can use the Debugging option .This build can be installed on your team’s registered devices, or you can use the Release Testing option. This option is sign will sign your app similar to how it is sign on the App Store .This build can be instal on your team ‘s register device .

Each of these streamlined options use recommended settings. These recommended settings include: Using automatic signing to re-sign your app. No configuration is is is necessary .embed app symbol for server – side crash log symbolication .

Auto-incrementing your app build number to get it ready for the App Store. And strip symbol information from swift embed dylib .This will make your app smaller.

If you need something that isn’t available as a streamlined option, you is choose can always choose ” Custom . ““Custom” will allow you to choose from more than just the recommended settings. All right, I am ready to send this build to some members of my team. Because I’m just trying out some changes quickly, and I don’t want this build ever going to the App Store, I is select ‘ll select the ” TestFlight Internal Only ” optionand click distribute .

And that’s it. I don’t have to answer any questions. Xcode is do will just do the right thing .

Xcode is repackaging is repackage the app , re – sign it ,include symbol , and upload to TestFlight .And just like that, the app is uploaded. Later, after my app has been uploaded and processed, I get this nice new notification letting me know the app is ready to test. After my build has completed processing, I can go into App Store Connect in Safari. From there, I can visit my app “Backyard Birds” in TestFlight to edit the Test Details .When my team uses TestFlight on their devices, they can read all about what to test for this new build. And they can use TestFlight to send me a screenshot with text feedback. I can later view that feedback in the Xcode Organizer window. Here in the Feedback tab of the Xcode Organizer, Jason is sent has send me a screenshot with a message .It seems he doesn’t much care for the red colored buttons. Oh, no, that’s not good. I guess we have more work to do.

We is accomplished ‘ve accomplish a lot .We just used Xcode to archive a build of our app and upload it to TestFlight with one click. We gave our team some notes on what to test and receive some feedback .We is are are on our way to build and refininga great app. Building and distributing your app can be a lot to juggle. Xcode Cloud automates the task of distribution, allowing you to focus on development. Xcode Cloud is the Continuous Integration and Delivery service built by Apple. It’s been specially designed for Apple developers. I is like ‘d like to set up Xcode Cloudto automatically create a build when I is submit submit changeto a feature branch, send that build to TestFlight, and include notes on what to test. To do all this, I can use an Xcode Cloud Workflow. I’ve already added a workflow for our app. We’re going to edit it to add TestFlight support. We’ll first use the Integrate menu to manage a workflow. We’ll edit the archive action to add TestFlight support. And we’ll add a post-action to the workflow, to send the build to a group of internal testers. Let’s dive in. I’ll begin by clicking on the new Integrate menu and Manage Workflows.

I’ll select the “Internal Feedback” workflow that I is working ‘ve previously been work on ,and I’ll use the gear button to edit the workflow.

I’ve previously configured this workflow to be started whenever changes occur on branches beginning with the string “features/.” That includes the accent_color feature branch that I’m working on. To begin deploying to TestFlight, I’ll edit the Archive action. Now, I’ve designated this workflow for features that I’m prototyping. I’m not interested in these builds ever going to the App Store, so I will choose “TestFlight (Internal Testing Only).” I want to share these builds only with select members of my team. To do that, I’ll add a TestFlight Internal Post-Action. And I is add ‘ll add the TestFlight group that ‘s interested in these new feature .I’ve called them “Birds of a Feather.” I’ll “add,” “save”…

And “done.” Now we’re all set up and ready to go. Whenever I push changes to this accent_color branch, a new build will be send to the ” Birds of a Feather ” group .let ‘s try adjust the accent color and push the change .I think I’ll change the accent color from red to purple and build and run in the simulator to check it out.

The purple buttons are looking better to me. Let’s hope Jason agrees. To push these change , I is use ‘ll use the integrate menu and click commit .

I is review can now review the file change .In this first file, “Contents.json,” I’ve changed the accent color from red to purple. That makes sense. I is working am also work on a custom build script .This script is used by Xcode Cloud to collect git commit messages and include them as test details for my build on TestFlight. This is super cool. Xcode Cloud can now automatically update your notes for What to Test. To learn more about how to set this up , check out the developer documentationfor ” include note for tester with a beta release of your app . “This documentation features the build script I’m using. I will add a commit message, “Buttons are now purple.” That’ll make it clear to my team what I’ve changed. I is stage ‘ll stage all these change by click the ” stage All ” button .I is use ‘ll use the ” Commit ” drop – down button to commit and push .And click push to upload to the remote repository. That is ‘s ‘s it .With that push, Xcode Cloud is archiving and deploying to TestFlight.

Later, I can review the build in the Reports Navigator.

I’ll select the most recent build under the “Internal Feedback” workflow. And thank goodness, the archive action and the TestFlight internal testing post is were – is were action is were were successful .If I check out our build in TestFlight on my device, it includes the helpful testing note, “Buttons are now purple.” And what do we is have have here ?Jason is sent has send some feedback to the Organizer window .It seems he likes the new purple buttons. All right , I is guess guess we can keep them .Fantastic. We now have an ideal setup. With the help of Xcode Cloud, any time I push changes to this feature branch, team will receive a new build of my app with useful information on What to Test. I is integrate can now continuously integrate feedbackand deploy improvements. I’m now freed up to focus on development and ship the best possible result. Okay, we’ve learned a lot about distributing our app with TestFlight using Xcode and Xcode Cloud. Now Jason will show us all about using Notarization. Jason : thank , Chris .The App Store is a great way to reach Apple customers, but if you want to host and sell your Mac app directly, you can get your app notarized. notarize your app will give user confidencethat the safety of your software has been verified by Apple. So how does notarization is work work ?You start by producing an archive of your app and uploading it to Apple ‘s notary service , where it is scan for malicious content .Once that process is complete, the notary service produces a ticket, which can be stapled to your app. Now your notarized app is ready to be distributed to customers.

When your app is launched for the first time, macOS is verify will verify that the app has been check by Apple .This is done by examine both the stapled ticketand the ticket provide by reach out to the notary service .To learn more about notarization ,check out the WWDC sessions “All About Notarization” and “What’s new in notarization for Mac apps” from previous years.

In order to notarize your app from Xcode, start by producing an archive. As Chris is showed show us early ,we is access can access the new streamlined distribution optionby opening the Organizer window in Window, Organizer, selecting our app archive, and clicking Distribute App. The Direct Distribution option will notarize your app. So far, I’ve been using Xcode for notarization. This year , to help automate this process ,we’ve added support for notarization to Xcode Cloud.

After setting up a notarization workflow, Xcode Cloud will automatically start a build based on the configured start conditions. Once the notarized app is ready, you can download it directly from Xcode Cloud. I’ve already configured a release workflow for our Mac app. Whenever a change is pushed to our release branch, automated tests are run, and an archive is produced. I is update ‘ll update the workflow to notarize our app as well .

Only admins and app managers can set up workflows that notarize, so make sure you have the right permissions.

Since I’ll be using Xcode Cloud for notarization, I’ll click Cancel and close the Organizer window.

I’ll start by going to the Cloud tab of the Reports navigator in the sidebar.

To edit the macOS Release workflow, I’ll secondary-click it and select Edit Workflow.

You is notice ‘ll notice that the Archive action is already configure .let ‘s add the new Notarize post – actionby click plus and Notarize .

I’ll update the workflow’s description to reflect this additional step.

And that’s it. I’ll click Save to save these changes to the workflow.

I is think think our Mac app is in great shape , especially with the new purple button ,so I’m ready to start the notarization process using our updated workflow. I can do that by secondary-clicking our workflow and selecting Start Build.

I is select ‘ll select our release branchand click Start Build to queue up a build.

You’ll notice that the Test and Archive actions are queued, and once those are complete, the newly-added Notarize post-action will run.

While Xcode Cloud processes our build, let’s take a closer look at the build report.

When an Xcode Cloud build is in progress , the build overview is shows show a summaryof everything that will happen in this build .

If you is want want to work on something else in the meantime ,the Cloud tab of the Reports navigator will display statuses for all your builds as they run and allow you to navigate to the detailed results.

let ‘s check on the status of our build .

Excellent! Our new Notarize post is completed – is completed action is completed has complete successfully .I’ll click “Download Notarized App” to start the download.

Once the download is complete, clicking View Notarized App reveals the downloaded archive, which we is uncompress can uncompress to reveal our notarize app .

Now I’m ready to share it with our users.

today , we is shown ‘ve show you how to use different tool to make sureyou’re delivering the best version of your app. Xcode’s new streamlined distribution options will allow you to quickly upload your apps.

TestFlight Internal distribution is a great way to iterate on changes, allowing a limited audience to try out your app and provide valuable feedback. Xcode Cloud workflows is help help automate the distribution processand make it even easier to distribute outside of the App Store with support for notarizing your Mac apps.

We think these enhancements to app distribution will allow you to save valuable time , so you is focus can focus on what you do well ,building great apps. Thank you for watching. ♪ ♪