Posted on Leave a comment

Meet the developer: Catana Chetwynd

For fans of Catana Comics, her sticker app was love at first sight.

Thanksgiving with her boyfriend’s parents, a bout of the flu, and a “very old” iPad. These were the circumstances that gave rise to Catana Chetwynd’s beloved cartoons back in 2016, when she was 21 years old.

“I had been playing around with drawing on the iPad for a few months and John [now her fiancé] suggested that I make a comic,” she says. “It seemed like a good way to pass the time, since I wasn’t feeling well. Turns out, it was really fun!”

Over the next few days, she drew five more comics based on everyday situations in her relationship, like not-so-subtly requesting back rubs from John and rolling her eyes at his juvenile jokes.

John and Catana: the real-life couple behind the cartoons.

John, a software engineer, posted them on Reddit, and the internet fell hard: more than 2,000 comments poured in.

“We were really surprised by the flood of positive responses,” Chetwynd says. John set up a website and she created an Instagram account—which now has nearly 3 million followers—and Catana Comics was born.

“There are some incredibly awesome webcomics out there,” Chetwynd says, “but when we started, there weren’t really any based on a couple.” She has found that most of her fans enjoy sharing her comics with a significant other.

How Catana Comics go from sketch to screen.

It makes sense, then, that the number-one request Chetwynd got from her followers was for a sticker pack. With the Catana Comics iMessage app, fans can easily exchange her big-eyed, huge-hearted caricatures with a special someone.

“Shortly after we came out with the first batch of stickers,” Chetwynd says, “I received an email from a woman who said that her husband was on a very long business trip in a different time zone. She loved that the stickers allowed them to quickly send emotive messages without using words.”

Fans demanded stickers—and here they are.

Chetwynd can relate, since she and John connect via her stickers too: “We both work from home, but in different rooms, and there are so many days where the only communication we’ll have is sending each other a sticker every hour or so.”

One of her go-tos: a drawing of John looking at a picture of her saying, “I miss you.”

“It was in the very first release and I wasn’t thinking it could be funny when I made it, but now John will go to the bathroom and I’ll send it to him,” she says. “I use it almost every day.”

Originally published on the App Store.

Posted on Leave a comment

How to support Route Guidance in CarPlay Dashboard

CarPlay Dashboard consolidates music, maps, and Siri suggestions into a single screen inside your car for a safer, smarter experience. Starting with iOS 13.4, you can add support for CarPlay Dashboard in your navigation app, too: Make your map, upcoming maneuvers, and dashboard buttons available at a glance by adopting a few new capabilities inside the CarPlay framework.

Note: To integrate your app with CarPlay Dashboard, your CarPlay navigation app needs to support UIScene. For more information on adopting UIScene, check out “Introducing Multiple Windows on iPad”.

Get started with CarPlay Dashboard

To support CarPlay Dashboard inside your navigation app, you’ll need to update to Xcode 11.4 if you haven’t already.

iOS 13.4 offers new capabilities within the CarPlay framework: CPDashboardButton, CPDashboardController, and CPTemplateApplicationDashboardScene.

CPTemplateApplicationDashboardScene is a new UIScene subclass that CarPlay creates when it determines that your app should appear in CarPlay Dashboard.

CPDashboardController and CPDashboardButton let you manage controls that appear in CarPlay Dashboard.

How to add support for CarPlay Dashboard

To take advantage of CarPlay Dashboard, start by supporting CPTemplateApplicationDashboardScene and its related protocol CPTemplateApplicationSceneDelegate.

Note: You need use CPTemplateApplicationSceneDelegate instead of CPApplicationDelegate to support this feature.

We’ll take you through each step below. In addition, we’ve provided a sample application scene manifest for your reference.

<key>UIApplicationSceneManifest</key>
<dict> <key>CPSupportsDashboardNavigationScene</key> <true/> <key>UISceneConfigurations</key> <dict> <key>UIWindowSceneSessionRoleApplication</key> <array> <dict> <key>UISceneClassName</key> <string>UIWindowScene</string> <key>UISceneConfigurationName</key> <string>Phone</string> <key>UISceneDelegateClassName</key> <string>MyAppWindowSceneDelegate</string> </dict> </array> <key>CPTemplateApplicationSceneSessionRoleApplication</key> <array> <dict> <key>UISceneClassName</key> <string>CPTemplateApplicationScene</string> <key>UISceneConfigurationName</key> <string>CarPlay</string> <key>UISceneDelegateClassName</key> <string>MyAppCarPlaySceneDelegate</string> </dict> </array> <key>CPTemplateApplicationDashboardSceneSessionRoleApplication</key> <array> <dict> <key>UISceneClassName</key> <string>CPTemplateDashboardScene</string> <key>UISceneConfigurationName</key> <string>CarPlay-Dashboard</string> <key>UISceneDelegateClassName</key> <string>MyAppCarPlayDashboardSceneDelegate</string> </dict> </array> </dict>
</dict>

Step 1: Create a scene delegate

To begin, define a scene delegate for CPTemplateApplicationSceneSessionRoleApplication. This can be done dynamically in your UIApplicationDelegate by returning a configuration in application:configurationForConnectingSceneSession:options:, or ahead of time in your app’s Info.plist in the Application Scene Manifest.

The delegate must conform to CPTemplateApplicationSceneDelegate, where it will be given an instance of CPInterfaceController and CPWindow, as you’ve been used to with CPApplicationDelegate.

Additionally, to support CPTemplateApplicationDashboardScene, include a new key in your Application Scene Manifest to declare support for CarPlay Dashboard: CPSupportsDashboardNavigationScene with a value of true.

Step 2: Define the dashboard delegate

Next define your delegate to the dashboard scene just like you would for the main template application scene. This delegate conforms to CPTemplateApplicationDashboardSceneDelegate and will be given an instance of CPDashboardController and UIWindow.

Step 3: Draw your CarPlay Dashboard content

Use the provided window to draw navigation related content for display in the CarPlay Dashboard, similar to the CPWindow given to the main template application scene. You can also provide two instances of CPDashboardButton to CPDashboardController that appear in the guidance card widget while your app is not actively navigating.

Step 4: Use your app in CarPlay Dashboard

People can interact with your app through both the dashboard buttons as well as within your main app interface. When navigation begins in your app using CPMapTemplate and CPNavigationSession, CarPlay will automatically display maneuvers in the guidance widget. When navigation ends, it will revert to your currently set dashboard buttons.


Resources

Learn more about creating apps for CarPlay

Learn more about integrating CarPlay with your navigation app in the Developer Library

Posted on Leave a comment

How to scan and analyze surroundings with the LiDAR Scanner on iPad Pro

ARKit 3.5 can take advantage of the LiDAR Scanner on the iPad Pro 11-inch (2nd generation) and iPad Pro 12.9-inch (4th generation) to help your apps better understand physical environments.

Learn how your apps can use information from the cameras and LiDAR Scanner to analyze the real world, get depth information, and form 3D meshes that:

  • Accurately locate points on physical surfaces
  • Recognize and classify physical objects
  • Occlude virtual objects with real-world objects
  • Enable realistic interactions between virtual and physical objects

For example, An AR game might use mesh generated by Scene Geometry, which uses information from the LiDAR Scanner, to let someone realistically bounce a virtual ball off a physical wall inside their room.

Learn more and explore a sample app in the Developer Library

Posted on Leave a comment

New Financial Report Coming to App Store Connect

Starting April 2020, you can get more details on the final proceeds of your apps and in-app purchases, including the transaction and settlement dates for purchases, as well as the state or province for transactions in the United States and Canada. Simply download the “All Countries or Regions (Detailed)” report in App Store Connect.

View App Store Connect Help

Posted on Leave a comment

Meet the developer: Rich Siegel

Why BBEdit creator Rich Siegel has always put the user above all.

BBEdit may be one of the most beloved developer tools on any platform, but its creator, Rich Siegel, had relatively modest ambitions. He started writing the first version of the software back in 1989 because he needed an editor that could handle “large” files—something north of 32 KB.

“One of the limitations of Macintosh Pascal was that source files couldn’t be more than 32 kilobytes,” he explains.

Over a quarter century has passed since BBEdit’s commercial debut, and the app has become a favorite among developers, scientists, web designers, and writers alike for its sheer power and speed. (Siegel regularly tests 12 GB files these days.)

Siegel remains BBEdit’s principal architect and lead engineer, and the caffeine molecule tattooed on his arm says a lot about his work ethic. We spoke with him from his Bare Bones Software headquarters north of Boston, which Siegel shares with a pair of African gray parrots.


Developers, do you have an interesting story to tell? The App Store‘s editorial team would love to hear it!


What were the early days of BBEdit like?

Back then, the way to put Mac software out in the world was to submit it to the Info-Mac Archive, an FTP repository hosted by Stanford. So that’s what I did, and word started to spread pretty fast online.

I had mentioned that if anyone wanted a copy on disk, they could mail a floppy and a self-addressed return envelope to me at my home. I was inundated with floppies.

BBEdit has been around for a lifetime by software standards. How have you seen the user base change?

Our base started as Mac software developers, scientists, system administrators, and other technical users. The first big change was popularity among HTML authors and web back-end developers. As word spread, we were able to help folks understand that the internet was built with text—that you could treat text as data or you could treat it as a document. So the next wave brought in internet architects, cryptanalysts, and scientists from unexpected disciplines.

The third wave has been mostly writers and other content creators—folks who see their text not as data but as words, and who want as little as possible between them and their words.

However, as many changes as we’ve seen, there has been a delightful constancy to our customers: They’re people who simply want to get work done. They’re not distracted by shiny things in their software tools.

What are some of the more surprising projects you’ve seen people create with BBEdit?

There’s been so much! Our customers have used BBEdit to create novels, doctoral theses, and other long written works. One customer has used BBEdit as part of the development workflow to fly UAVs [unmanned aerial vehicles] the size of an F-16; the flight control system sends data to BBEdit in real time, where the engineers examine it, change it, and send it back to the aircraft in just a few seconds. And the Human Genome Project even uses BBEdit to help analyze long sequences of DNA.

Version 3.0 of BBEdit, “accelerated for Power Macintosh,” from 1994.

How has the software evolved over the years?

BBEdit has undergone one huge technical transformation after another. First there was the port to PowerPC. We developed an OpenDoc component, and some of the internal architecture work we did for that is still in use.

Then came a nearly complete rewrite of its internal architecture, followed closely by a port to Mac OS X—BBEdit was the first third-party application to run natively on that new OS—and then the port to Intel. Last year we finished rewriting BBEdit again, this time as an AppKit application.

In between PowerPC and OpenDoc, there was another development: the emergence of the World Wide Web. BBEdit had a plug-in model at the time, and two of our customers—one in the UK and one in Spain—independently wrote HTML markup tools. This was 1995, and we had no idea what HTML was, but we could tell that it was going somewhere. So we evaluated the tools, chose a set of them to bundle with BBEdit, and off we went. Little did we know…

BBEdit is one of the most beloved apps out there. Why do you think that is?

We’ve always had the utmost respect for the user. Every internal decision about look and function answers the questions “What does the customer need?” and “How can we help them be more productive?” (Not “How can we give them what they’re asking for?” because that isn’t the right question to answer.) The Macintosh was introduced to help anybody do great things. It’s something we believe in completely.

Originally published on the Mac App Store.

Posted on Leave a comment

Deadline for App Updates has Been Extended

We greatly value the worldwide developer community, and appreciate your commitment to making a difference in people’s lives through the power of technology. To accommodate developers who may need additional time to update their existing apps on the App Store, the deadline for adhering to the requirements below has been extended to June 30, 2020.

  • Apps for iPhone or iPad must be built with the iOS 13 SDK or later and use an Xcode storyboard to provide the app’s launch screen.

  • iPhone apps must support all iPhone screens and all iPad apps must support all iPad screens.

  • Apps for Apple Watch must be built with the watchOS 6 SDK or later.

  • Apps that authenticate or set up user accounts must support Sign in with Apple if required by guideline 4.8 of the App Store Review Guidelines.

  • Apps in the Kids category must be in full compliance with guideline 1.3 and guideline 5.1.4. of the App Store Review Guidelines.

  • Apps using HTML 5 must be in full compliance with guideline 4.7 sections 4, 5, and 6 of the App Store Review Guidelines.

Read the App Store Review Guidelines

Learn about submitting apps

Posted on Leave a comment

Apple Developer App Update Now Available

The Apple Developer app delivers in-depth information from Apple experts all year round with the latest developer news, informative videos, and more. This new version lets you watch videos at multiple playback speeds, interact with the full video transcripts, and share stories from the Discover tab. It also includes accessibility improvements and other enhancements.

Download on the App Store

Posted on Leave a comment

ARKit 3.5 Now Available

ARKit 3.5 takes advantage of the new LiDAR Scanner and depth-sensing system on iPad Pro to support a new generation of AR apps that use Scene Geometry for enhanced scene understanding and object occlusion. And now, AR experiences on iPad Pro are even better with instant AR placement, and improved Motion Capture and People Occlusion — all without the need to write any new code.

Learn more about ARKit 3.5

Posted on Leave a comment

How to debug your SwiftUI previews in Xcode

With SwiftUI and Xcode 11, it’s much faster to create great user interfaces for apps on iOS, macOS, watchOS, and tvOS. As you write your app, use Xcode‘s design tools at any point to see live previews of your app in different states and on different compatible devices — all without launching Simulator.

And here’s a valuable tip: We’re going to break down how you can debug that SwiftUI code live in Xcode, too.

Enable Debug Preview in Xcode 11

When creating an interface for your app in SwiftUI, you‘ll see a preview inside Xcode that displays your app, formatted for your currently-selected device.

If you’re hitting an issue in your code, however, and don’t know where to troubleshoot, you can instead enable Debug Preview to quickly find that pesky bug. Here’s how to do it.

  1. Open your Swift project in Xcode 11.
  2. Right-click (or Control-click) on the Live Preview button in the bottom right corner of the preview.
  3. Select Debug Preview.

The Debug Preview mode in Xcode provides easy access to an assortment of debugging tools for your app, including a visual breakdown of your app’s elements.

Now, you can troubleshoot your SwiftUI project using all of the usual debugging tools, such as breakpoints, view debugging, memory graph debugging, and logging to the Console.

Resources

Learn more about SwiftUI

Check out Apple’s SwiftUI Tutorials

Check out Mastering SwiftUI Previews

Posted on Leave a comment

Universal Purchase for Mac Apps Now Available

The macOS version of your app can now be included in a universal purchase, allowing customers to enjoy your app and in‑app purchases across iOS, iPadOS, macOS, watchOS, and tvOS by purchasing only once. Get started by using a single bundle ID for your apps in Xcode and setting up your app record for universal purchase in App Store Connect.

Learn more about universal purchase