Posted on Leave a comment

How to review your app’s crash logs

While we’d all prefer it if our apps never crashed, the logs captured from those crashes can help you troubleshoot bugs and get your app up and running again. If and when something goes awry, your app automatically gathers crash reports from people who have opted in to send you anonymized crash data. And you can view that data using the Xcode Organizer on your Mac.

Note: While there are several third-party analytics tools that can also provide information on crashing threads when incorporated into your app, you may not always be able to see the full backtrace. Additionally, the log you receive may not be in a format you can send to Apple when filing feedback.

Here’s how you can access full crash reports directly from Xcode and your Mac’s Finder.

Find your app’s crash logs

There are two ways to view your app’s crash logs. The first provides you with at-a-glance information — like the percentage of people running into crashes on an earlier version of iOS — while the other offers a more detailed look at individual crash reports.

  1. Open Xcode.
  2. Select Window from the menu bar.
  3. Go to Organizer > Crashes.
  4. Choose App Store from the drop down menu.

The Xcode Organizer displays crashes reported by your app, organized by the issue and frequency. You’ll only be able to see information from people who have opted to share anonymized crash reports.

Here, you can see crash reports from your app’s builds, including TestFlight betas and versions you’ve released to the App Store. Browse all of your crashes at a glance, and check out statistics to see how crashes break down across OS versions and different devices.

And if you want to start troubleshooting on the spot, you can even open a crash report and jump right to the affected line in Xcode by simply choosing the Open In Project option.

Review your app’s crash logs

To check out individual crash logs in detail, you’ll need to engage the power of your Control key.

  1. Control-click on the crash in question.
  2. Choose Show in Finder.
  3. In the Finder window, control-click the highlighted .xccrashpoint file.
  4. Choose Show Package Contents.
  5. In the folder that displays, go to DistributionInfos > all > Logs.

Inside the Logs folder, you’ll find each individual crash report, which you can browse and troubleshoot accordingly. You can also use these crash reports when reporting feedback to Apple.

Resources

Learn more about diagnosing issues using crash reports and device logs

Learn more about reporting bugs

Posted on Leave a comment

New App Store Connect API capabilities now available.

The App Store Connect API now offers greater flexibility to automate and customize workflows for your app. With these new capabilities, you can:

  • Build and maintain your App Store product page by uploading and managing assets like screenshots, app previews, app description, and more.

  • Create new versions of your app, set up pre-orders, manage phased releases for version updates, and submit your app to App Review.

  • Monitor app performance indicators by downloading power and performance metrics and diagnostics logs.

  • Manage additional resources associated with your developer account, such as unified software signing certificates, multiplatform App IDs, and capabilities.

Learn more about the App Store Connect API

Posted on Leave a comment

How to start designing assets in Display P3

An eye-catching icon or splash of color can focus attention and help people locate the right information inside your app. Consider designing those assets in the Display P3 color space: They’ll look richer and more vibrant on any device with a wide color gamut display.

You can find wide color gamut Retina displays on most Macs, as well as iPhone, iPad, and Apple Watch. They bring more true-to-life colors and deep hues to the screen, not only making for excellent image and video viewing but also heightening people’s everyday app experience.

Use Display P3 assets in your app to amplify important elements of your interface: the colors of a VU meter in an audio app, for instance, or the redline in a rev counter inside your racing game.

If you display photography or video in your app, you should consider using Display P3 to help images stay true to the camera’s original capture. Shopping apps can help people choose the right item by showcasing the true color of a certain dress or pair of pants. You can also use Display P3 for your app icon to highlight colors and smooth out gradients.

Interested in exploring Display P3 for your assets? To get started, you’ll need to get your tools ready to work in that color space. We’ll show you how to design in Display P3 using two popular Mac apps: Adobe Photoshop and Sketch.


Note: Does your display support Display P3?

Your hardware tools are just as important as your software tools: Ensure that the device you use to create assets supports the Display P3 color space so that you can preview your designs accurately. That includes all iMacs with Retina displays, 2016 and later MacBook Pro, LG’s UltraFine 4K or 5K Display, and the Pro Display XDR.


Set up a new Display P3 canvas

Here’s how to configure your canvas to support Display P3.

Create a new Display P3 canvas in Photoshop

  1. Open Adobe Photoshop on your Mac.
  2. Click on the Create new button from the main interface. (You can also create new documents at any time by going to the toolbar and selecting File > New.)
  3. Choose the dimensions and any other information you wish to customize for your canvas.
  4. Under Color Mode, change your color depth from 8 to 16 bit.
  5. Below Color Profile, select Display P3.
  6. Select Create to begin designing in Display P3.

You can avoid manually creating a canvas for every new asset by saving your settings as a preset. Name your preset at the top of the screen, press the Save button, then press Save Preset.

Create a new Display P3 canvas in Sketch

  1. Open Sketch on your Mac.
  2. Create a new file.
  3. Go to File > Change Color Profile (or use the keyboard command Shift-Command-K).
  4. Select Display P3 as your Color Profile.
  5. Choose Assign.

Use Sketch’s Color Profile settings to use Display P3 on your canvas.

Convert an existing sRGB image into P3

If you receive image assets from someone else, ensure those assets are converted to Display P3 directly from the RAW file, and not from sRGB, as some color information will be lost in the conversion.

If you must import an existing image in Photoshop, use Convert to Profile to preserve your design as much as possible. If you use Assign To Profile, that will take your existing colors and stretch them into the new color space, changing your design along the way.

In Sketch, after you’ve received your file, go to File > Change Color Profile to edit your Color Profile. Then select Convert.

Export your work in Display P3

Once you’re done creating your asset, you can preserve the Display P3 color space in any file you export.

How to export your work in Photoshop

Note: While there are multiple ways of creating assets from the work you do in Photoshop, like Generator or Export As, only using Save As will maintain your Display P3 color space and 16-bit color depth settings.

  1. Navigate to the toolbar and select File > Save As… (or type Shift-Command-S).
  2. Choose where you’d like to save your asset.
  3. If needed, name your asset.
  4. Under Format, select PNG.
  5. Below Color, make sure the Embed Color Profile: Display P3 setting is checked.
  6. Save your file.

Export your P3 assets in Photoshop using the Embed Color Profile option in the Save As screen.

How to export your work in Sketch

Sketch preserves your color profile upon export, allowing you to save your P3 work in the same manner as other assets.

  1. In Sketch, go to the File menu.
  2. Select the export option you need: Export or Export Current Selection.

Resources

Watch “Get started with Display P3” >

Watch “Optimizing app assets” >

Watch “Image and Graphic Best Practices” >

Learn more about color management >

Posted on Leave a comment

Announcing the 2020 Apple Design Awards

The Apple Design Awards celebrate innovation, ingenuity, design excellence, and outstanding technical achievement. A WWDC tradition, the ADAs highlight those who take thoughtful and creative approaches to their apps and games, giving people new ways to work, play, or imagine things that were never before possible.

“We’ve been awarding great design for more than two decades now, and each year’s winners set new standards for others to emulate,” said John Geleynse, Senior Director of Evangelism and longtime host of the Apple Design Awards.

This year’s winners are no different: Their apps are beautiful, intuitive, captivating and delightful. They spring from a deep understanding of and empathy for the people they’re intended to serve. They are unique, exhaustively refined, and crafted with care and attention to detail.

2020 Apple Design Awards

The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple’s platforms. Meet the 2020 winners.

The winners of the 2020 Apple Design Awards

Join us as we surprise the 2020 winners of the Apple Design Awards. The Apple Design Awards recognize excellence in design and innovation for apps and games across all of Apple’s platforms.

“Winning apps require a lot of work,” said Geleynse, “And we want to honor the effort, dedication, creativity, and new ideas that lead to innovative solutions like these.”

This year, the honor continues beyond an Apple Design Award and FaceTime celebration: Starting this Friday and each week thereafter, the Developer app will feature exclusive interviews with each winner about their creative process and how they brought their bold and distinctive ideas to life.

Take a quick look at this year’s Apple Design Award winners, along with a few choice highlights from our upcoming interviews.

Majd Taby, Darkroom

“We’ve tried to abstract away all the complexity of photo editing — no import, no export, hiding away the complexity unless you ask for it… the app is much more powerful and complex than the design… that’s just part of the ongoing design challenge of trying to make something that’s usable and powerful at the same time.”

Eran Hilleli, Looom

“The design thought of Looom is the flow first — experience first… Trying to make drawn animation exist in some tool that was almost like a Gameboy… something you can kick back and relax, which is not something that, usually, animation is about.”

István Csanády, Shapr3D

“I think that great interaction design is… always a lot of blood, sweat, and tears… There are no shortcuts because this is something that you can’t really figure out. You just have to observe how your users actually want to interact your with design or with your software… we did hundreds of prototypes, interaction prototypes — you can step-by-step get to the right solution… it took us four and a half years to get to this level of polish.”

David William Hearn, StaffPad

“The core tenet of the app is really: How is this helping me write music? How is this making my day nicer and better and hopefully making me write better music? If it can help me do that, and at least if I finish a project and I don’t feel exhausted at the end of it, then I think that every idea has been worth it. But there’s always more to do. It’s never done.”

Simon Flesser, Sayonara Wild Hearts

“This is a game that is very much about the music, right?… It started very differently, with a much more sinister tone. But then as we were playing our prototype, randomly, this really energetic, pop song came on in the background… And it sort of just clicked. I literally said, ‘This is it.’”

Jenova Chen, Sky: Children of the Light

“With very small changes in the design, you can change how [the player] behaves, how they treat each other in your game. I think it’s your responsibility to think about: How are these players going to interact with your app, with your game, you know, on a daily basis? Is that healthy for them? Is that going to make them be thankful… rather than having resentment of the experience?”

Philipp Stollenmayer, Song of Bloom

“Sometimes it’s hard to tell what the game is trying to tell you. Some images are so abstract that you have to make up your own interpretation. To help the game communicate on every available channel, it was important to give it another sense… from the haptic vibrations, it helps you to understand if this is an active scene or a calm one — you get a really nice sense for the mood.”

Sam Rosenthal, Where Cards Fall

“A lot of the game feels very melancholic but at the same time — it’s a hopeful game. So the app icon is our main character in the winter — which is the present day — looking up… It is not somebody that is lost in the past but somebody that maybe has learned from what happened, has reflected and is looking towards what could be next.”


Read more about the Apple Design Award winners on Apple Newsroom and the App Store.

Read more about the Apple Design Award winners on Apple Newsroom

Read more about the Apple Design Award winners on the App Store

Posted on Leave a comment

Changing the world, one Swift playground at a time

Earlier this year, students from all around the world put their passion, ingenuity, and determination to work crafting Swift playground projects for the WWDC20 Swift Student Challenge. Students from 60 different countries and regions brought their talents to the table, using the challenge’s three-minute limit to stretch their imaginations and explore Apple’s frameworks and technologies. The resulting 350 Swift Student Challenge winners have created AR experiences, projects powered by machine learning, educational material, virtual musical instruments, 8-bit games, and so much more.

Swipe to unlock

In 2019, after having studied just one month at the Apple Developer Academy in Porto Alegre, Brazil, Henrique Conte submitted his first Swift playground project. While he didn’t win a WWDC Scholarship that year, the experience drove him to continue exploring and refining his code.

“This year I felt that, after reading and studying about so many different Apple frameworks, I should try to accomplish the WWDC19 main phrase: ‘Write code. Blow minds,’” he told us. And he did. His winning submission, a three-minute game designed for MacBook Pro’s Touch Bar, excels in both its technical acuity and creativity.

Within the playground, players have to help Eleanor, a young developer, escape from a cave. The twist: The “cave” level is entirely located within the Touch Bar. “I chose to use unusual frameworks to show that it is possible to do amazing things with them,” Conte said. “I feel that [the Touch Bar] has so much potential yet to be discovered, and I wanted to demonstrate some of its capabilities.”

Henrique Conte’s winning submission, “ESCape, Eleanor!”

Though he had never previously developed for macOS, Conte immediately took to the challenge. Like learning any new development concept, he ran into a few initial obstacles — “when I received the message “No such module ‘UIKit’ [after trying to add it to my project] I noticed things would get interesting,” he joked — but he quickly picked up the fundamentals of Mac programming, using AppKit and SpriteKit to build a fully-interactive experience, including taps, slides, keyboard integrations, and multi-screen storytelling. He also paid close attention to the design, something that has become increasingly important to him.

“I am definitely not a designer,” says Conte, “But in the past few years I noticed how essential it is to follow Apple’s Human Interface Guidelines and to provide a great experience. There is no point in creating a perfect code if people will have trouble using your application!”

You can find more of Conte’s work on the App Store: In the last year, he’s created four apps, including one to help children with autism communicate. He’s currently at work on his next project, which he’s building for both iOS and macOS, that addresses the problem of food waste. And — he’s happy to report — the macOS version will incorporate the Touch Bar.

The world turned upside-down

Louise Pieri, 21, fell in love with computer science at a young age in her native Lyons, France. She’s since gone on to study at École 42, the programming school founded by French businessman Xavier Niel. Pieri’s winning project, Meep, drew inspiration from an article she read in a scientific journal about the possibility of parallel universes, as well as her own personal journey as a transgender woman.

“Meep is a game with two levels: the first is a level where everything is reversed and upside-down and the second is where everything is normal,” says Pieri. “The story is about a little blue transgender monster who wants to reach the final level and turn pink… it’s a beautiful metaphor for what happens in the life of a trans person.”

Louise Pieri’s winning submission, “Meep”

Though Pieri had never previously used SpriteKit or AVKit, she knew she wanted to build a game for her Swift playground submission. She spent two days brainstorming ideas before landing on the concept for Meep and diving into the frameworks and interface. Initially, she’d hoped to show both of Meep’s universes on-screen at once before deciding on a multi-level experience, including an entire level upside-down.

In addition to designing and coding the game, Pieri also created her own 2D artwork for each level in Adobe Illustrator and a story for the game — all in under two weeks.

Pieri has been tuning into WWDC20 this year from France, and is especially keen to learn more about the future of Apple platforms. “I can’t wait to get to know iOS 14,” she says. That will come in handy for her next project — bringing a version of Meep to the App Store.

A robot of one’s own

Devin Green’s love of development stemmed from a lifelong fascination with thinking machines. “I have always been in awe of artificial intelligence,” he told us. Out of that idea, the 18-year-old’s winning project — an AI bot named Stanny — was born.

“With everything that is going on in the world right now, I thought people stuck in isolation might find it beneficial to their mental health to talk to a capable AI companion,” he said. Green, who will attend Stanford this fall for computer science and engineering, took about a week to build his playground — most of that time dedicated to refining machine learning models that created Stanny’s ‘intelligence.’

“The model was trained on a data file made up of all the things you could possibly say to Stanny,” Green said. After researching how others had trained chat bots, Green created his own model in TensorFlow, then brought it to his Xcode playground through Core ML Converters.

Devin Green’s winning submission, “Polar Patterns”

While no stranger to experimenting with machine learning models, Green used this project to get to know more of Apple’s ML offerings. “I wanted to make it as simple as possible to go from data to usable Artificial Intelligence,” he told us. He worked with NSLinguisticsTagger to build a working model, then created a generated Core ML model to predict the person’s intent from their query and architected his playground in SwiftUI.

Green sees Swift as the future of machine learning and AI applications. “Swift is not only a really simple and easy to use language, it’s also really expansive,” he told us. “It can be built on in such a way that [it] is capable of doing just about anything.”

Stanny isn’t quite as full-featured: His joke-loving AI is limited to only 63 different intents. But Green has big plans — and he can’t wait to incorporate some of the technology announced at WWDC20. “The Natural Language framework is astounding,” he told us. “If I had any doubts about using Swift for machine learning, they quickly disappeared while watching a natural language processing application understand text with about five lines of code… projects I’ve created, like Stanny, are about to get 100x better!”

Code as design

For first-time winner Renata Pôrto, the challenge gave her a chance to confront her own self-doubts. “As a designer, I have always felt insecurity regarding my ability to code more complex ideas,” she said. After two unsuccessful Swift playground submissions in previous years, the 21-year old student from the Universidade Federal de Pernambuco in Recife, Brazil had once again decided to submit. But after a few days of work, she scrapped the project.

“I was not satisfied with my own decision to continue with a ‘safe’ idea,” she told us. Instead, she began considering concepts she’d wanted to learn about but hadn’t yet explored — including generative art. “One of the things I always thought was fantastic about programming is the possibility of transforming lines of code into visual and interactive experiences,” she said. Just six days later, she emerged with Polar Patterns, a Swift playground that helps people learn more about mathematical roses and generate their own visual art.

“With SpriteKit, I was able to convert the polar equation of mathematical roses into SKShapes, transforming the results from the formula into visual elements,” she said. Pôrto designed just two images herself, relying on her algorithmic code and a few UIKit elements to create the entire visual experience.

Designing an entirely programmatic art interface was a departure for Pôrto. “I am very used to prototyping before programming,” she told us. This project, however, involved creating an experience that would dynamically shift and change depending on what actions someone took within the playground, making it important for Pôrto to visualize and experiment constantly to perfect her interface.

Renata Pôrto’s winning submission, “Polar Patterns”

The result brings the beauty and complexity of polar roses to a Swift playground — and landed Pôrto a winning submission. “It’s a great joy learning about development, even though I am a design student,” she told us. “Studying design helped me to practice my empathy for [people] and to know what resources to use and how to work with them to achieve better results.”

That empathy continues through her work with a local developer group, creating educational tools for new developers in her community. “I always try to pass on my design knowledge to developers, and my developer knowledge to designers,” she said. “And hopefully one day they will make products that make a difference in other people’s lives.”


Learn more about the Swift Student Challenge winners.

Swift Student Challenge winners determined to shape the future

App Store: Meet the Swift Student Challenge winners

Posted on Leave a comment

Game Center updates now available.

Now games with Game Center capabilities display a beautifully redesigned in-game dashboard on iOS, tvOS, and macOS. Users can see their achievements, leaderboards, and Game Center profiles directly in your game when you implement the new Access Point. Game Center also now supports recurring leaderboards that keep rankings current, as well as leaderboards for daily, weekly, and monthly competitions. You can set up recurring leaderboards, add achievements, and opt in to the challenges feature in App Store Connect.

Learn more >

Posted on Leave a comment

Machine learning updates now available.

New tools in Core ML enable secure, cloud-based model deployment and model encryption, Create ML offers new templates and training capabilities, and new APIs for Vision and Natural Language give your apps more power. You can also work with third-party training libraries more easily with updated model converters and accelerated training support on Mac.

Learn more >

Posted on Leave a comment

Refund notifications for all in-app purchases now available.

App Store server notifications now include refund notifications for all types of in-app purchases, including consumables, non-consumables, and non-renewing subscriptions. You can use this information to take action in response, let the user know of any benefit changes, and tell them how to resubscribe.

Learn how to enable status update notifications >

Learn how to handle refund notifications >

Posted on Leave a comment

Introducing Teams for Feedback Assistant.

You can now view and respond to feedback filed by your team members if you’re part of an organization in the Apple Developer Program, the Apple Developer Enterprise Program, Apple School Manager, or Apple Business Manager. And you’ll still have a personal inbox for separate submissions, with the choice to move feedback to your team inbox at any time.

Learn more >