Posted on Leave a comment

Swift Student Challenge Winners Announced

The WWDC20 Swift Student Challenge gave students around the world the opportunity to showcase their love of coding by creating an incredible Swift playground. Starting today, developers who submitted their applications can find out their status by signing in to the Challenge website with the Apple ID they used to submit their application. Winners will receive an exclusive WWDC20 jacket and pin set, be able to request WWDC20 lab appointments, and be able to post about WWDC20 content on the all-new Apple Developer Forums.

With so many incredible applications this year, focussing on everything from productivity to the environment and social action, we want to congratulate all 350 winners from 41 countries.

Learn more about some of this year’s winners

Posted on Leave a comment

Full stream ahead.

It’s almost time for an all-new WWDC experience — starting with the Special Event Keynote from Apple Park on June 22 at 10 a.m. PDT. Get all the latest details for 1-on-1 developer labs, the all-new forums, and the Apple Design Awards. Update to the latest version of the Apple Developer app for iPhone, iPad, Apple TV, and Mac, now available on the App Store.

View the WWDC website

Download the app

Posted on Leave a comment

Welcome to the Apple Developer app

Say hello to the updated Apple Developer app. Whether you’re a computer science student in China or a veteran UI designer in Germany, the Developer app can help you make truly great apps for Mac, iPhone, iPad, Apple Watch, and Apple TV.

Learn about new Apple technologies you can adopt in your app, best practices for implementation, and tips for tuning and optimization. Design beautiful apps that will scale across all devices. See how developers on the App Store have approached and integrated new distribution models. Find inspiration in stories from the Apple developer community. And enjoy all that the Worldwide Developers Conference has to offer.

Instant expertise

The Discover tab is regularly updated to help you find timely, relevant, and actionable information. You can catch up on the latest developer news, get recommendations on implementing new features, learn about inspiring engineers and designers in the Apple developer community, and watch videos about Apple technologies to help you build even more powerful and innovative apps.

Full stream ahead

The Developer app is the heart of this year’s exciting, virtual WWDC experience. Join millions of developers from around the world starting June 22 for an in-depth look at the future of Apple platforms, and watch more than 100 technical and design-focused videos by Apple engineers and designers on the WWDC tab.

Find what you seek

Want to find an older article, story, or WWDC session? Check out the Browse tab to search through the archive for videos, articles, and more.

Let’s go

Over the last 30 years, developers around the world have been creating amazing apps that entertain, influence culture, and change lives. The Apple Developer app helps everyone stay current and learn about the newest technologies and techniques to make their apps even better.

Posted on Leave a comment

How to test your app on beta software

Apple regularly provides platform updates to add new features, fix bugs, and continue to improve the experience for everyone who uses our products. As part of that process, we offer beta software for developers as well as a Public Beta Software Program. This lets developers test apps on upcoming software, address pesky bugs, and provide information to engineering teams around upcoming software changes and improvements.

While we encourage people to only install beta software on a secondary device, you may still find that some of your customers want to run your app while using a beta version of an operating system. Here are some of the ways to ensure your app’s stability for those people, get feedback from them, and provide some of your own to Apple’s engineering teams.

Test early, test often

When new beta software is released, we recommend downloading it as soon as possible to test with your existing apps. Not only is it an opportunity to ensure your app continues to work well, but it also puts you in a great position to experiment with our latest APIs and features.

The earlier you test, the earlier you can identify possible bugs or issues and flag them to Apple engineers. It’s also your best opportunity to register feedback around new features and influence future operating system updates.

Triage the trouble

Sometimes, changes to an API or operating system updates in an early beta may seriously affect your app. This is never a great feeling, but don’t panic! Chances are, many of your fellow developers are in the same boat. First, do a bit of triage to identify the problem. Is this a system issue, or a latent bug in your own code?

To troubleshoot, isolate your issue by creating a minimally-reproducible case in a new Xcode project. When you only focus on the code that causes the bug, the problem can often be easier to find — and this also gives you a smaller project that you can share with others to troubleshoot or attach to a bug report.

If you find that the beta has revealed an existing bug in your code, you may be able to fix it immediately and provide an update that makes your app more stable for both people on production as well as those running beta software.


Sometimes you may be able to isolate the code in such a way that you can reproduce the issue on shipping software. If that’s the case, and if you need help fixing it, submit a Technical Support Incident for code-level support.


If there’s an issue with the beta itself that’s preventing you from providing a fix, it’s time to file some feedback. Even if you think others have filed this bug before, you should always send in a report: Your reproduction steps and data could be the key that unlocks the problem, or pushes the issue to a higher level of prioritization.

How to file great bug reports

Amidst all the work you’re already doing on your app, you may be tempted to post a blanket statement to your website or within your app that you aren’t providing support for people who use beta software. We strongly discourage this approach: Your customers may be fellow developers or need to run beta software for another reason, and deterring them from running your app may make them feel shut out or lose trust in your software. Instead, if you’re running into a serious problem on a beta that may make for a sub-par experience that you haven’t been able to address in an update, consider sharing your issue on your website and social media channels, as well as the steps you’re taking to address it.

Foster feedback

Though people running beta software on their devices can’t leave reviews for your app in the App Store, they still might have valuable feedback for you. Consider creating an easy way for your customers to provide bug reports — they may find something you’ve missed!

Consider offering a way for people to submit feedback or bug reports inside your app. Carrot Weather provides two options for people inside the app’s settings screen.

Connect with the community

Are you struggling to fix an issue brought on by a beta update? Consider reaching out to our broader developer community and post to the Apple Developer Forums. Your question may be able to help others who may be struggling with similar challenges.

Meet the new Apple Developer forums

Explore the Apple Developer Forums

Future-proof your app

Outside of the beta release cycle, it’s worth taking a look at your project and any server-side code you maintain to see if there are ways you can improve and future-proof aspects of your app.

  1. Can you fix or remove any additional warnings in your Xcode project?
  2. Do you have any code that relies on a specific OS version or deprecated API that you update or make OS-agnostic?
  3. Are you using any third-party frameworks that rely on deprecated code?
  4. Can you improve your app’s error handling to continue gracefully when encountering unexpected issues?

Resources

Beta Software Downloads

Apple Beta Software Program

Submit feedback

Posted on Leave a comment

Enhance bug reports with debug profiles and logging

When you file bug reports through Apple’s Feedback Assistant, you’re helping flag issues, improve our platforms, and make the experience better for developers and customers alike.

You can supply more information about bugs you come across when you provide a sysdiagnose from your device. Sysdiagnoses contain logs that include additional information gathered from apps and frameworks that you can submit as part of your bug report. They can be a crucial part of the bug-solving process, especially for troubleshooting certain problems.

That said, a sysdiagnose can contain a lot of information, and you can help the engineers triaging your issue by providing some additional context. That’s where Apple’s Profiles and Logs page comes in: It provides supplemental instructions when reporting an issue with specific frameworks. If you think you know which framework is causing the problem, read its bug reporting and logging instructions: You may be able to provide additional information that can help make your report more actionable — like detailing the song that was playing and the date and time you saw the bug.

Visit the Profiles and Logs section of the Apple Developer website to find out more about filing supplemental information for a bug.

Sometimes, a sysdiagnose is not enough, even with supplemental instruction. For those issues, debug profiles help capture specific details within a technology or framework that can aid engineers in diagnosing the problem. To install a debug profile, download it to your device and follow the instructions to capture the requested information.

So, the next time you go to file a new piece of feedback, please add a sysdiagnose or logging generated from a debug profile to your report. It can help engineers begin tracking down even the trickiest of bugs, and it increases the likelihood of your issue being fixed. As always, the sooner you submit a new problem — and the more information you provide — the higher likelihood you have of getting it resolved in a future software version.

This is especially crucial when filing bugs against beta software, as prioritizations around fixes have to be made in early seeds. If you file a detailed bug with logs and a clear reproduction path, you have a much better chance of it being prioritized than a bug with no additional information.


Resources

File effective bug reports

Profiles and Logs

Posted on Leave a comment

How to file great bug reports

Bugs are an inevitable part of the development process. Though they can be frustrating to bump up against, you can help squash these sorts of problems quickly by identifying the issue you’re running into, reproducing it, and filing a bug report. At Apple, we provide an app and website called Feedback Assistant for logging issues with Apple’s products or software.

You should always file feedback for any bugs you find while developing on Apple’s platforms; after all, we can’t fix problems that we don’t know about. But how can you be sure that the information you provide is helpful for triaging the issue, rather than a bug-solving dead end? Here are some of our top tips for making sure your bug report is clear, actionable, and — most importantly — fixable.

Step by step

Whenever you log a new bug report, be clear and descriptive. Whether you’re providing specific feedback around a bug you’re running into or general feedback, describe your issue in detail.

This starts with a clear title that describes both the issue and the inciting factor. “Calendar events are missing” tells the screener that there’s an issue with Calendar events, but not how or why. In contrast, “Calendar events on macOS 10.15.4 are missing after creating a quick event” provides more detail at a glance and potentially helps identify duplicate bugs sooner.


Tip: It’s often helpful for bug screeners to understand how issues are affecting app development. If you identify a problem while developing your app, include the name and version of your app in both the title and description field — even if you can reproduce the problem in a sample project — and add a link to your App Store record or a TestFlight build.


When writing up your problem, describe each step thoroughly — it’s often helpful to pretend that whoever reads it has never seen the app or system you’re writing about before. For example, if you were to write “When I create an event in Calendar, it disappears in a moment,” the screener lacks enough detail to reproduce the issue. Are you creating a Calendar event through the Quick Event button, or are you dragging to add a new event? How long is a moment? Did the event disappear after multitasking, or did you remain in the app?

Whenever a bug screener has to pause and consider this kind of question, it reduces the likelihood that your problem can get fixed quickly. Instead, think about ways you can describe your bug in detail, like so:

1. Click Quick Event button in the Calendar app.
2. Fill out an event with any title.
3. Hit Return.

Actual Results: The event appears in the right place in my calendar but then disappears.

Expected Results: The Calendar event should appear and stay on my calendar.

After filling out your reproduction steps and expected result, it’s also worth considering additional factors that could influence the problem. Are you signed into iCloud? Do you have any Accessibility settings turned on? Does the issue reproduce in a similar fashion in other places around the OS? The more questions you can answer in the initial report, the faster someone reading it can triage it effectively and get it over to the right team or person for a fix.

Add some visuals

If you can reproduce the bug and capture video or a screenshot while it’s happening, this information can be invaluable to people for troubleshooting the issue. A screen recording can also help capture details that you may not have thought to provide in the description field. If your problem involves an issue with the UI, you should always include visuals.

Log the crash

Unfortunately, not all bugs are reproducible or have easy-to-follow steps. For trickier cases, consider providing logging information like a sysdiagnose: If you’re filing a bug on your iPhone or iPad, you can use the Feedback Assistant app to capture one automatically. If filing a bug via Apple’s web portal, you can install profiles that can help you manually gather a sysdiagnose.

You can also provide any additional logging relevant to the issue. For example, if you’re experiencing a crash, you can include your app’s crash logs. If you’re reporting a performance regression, you can include an Instruments Trace on iOS or iPadOS, or a Sample on macOS.

Enhance bug reports with debug profiles and logging

Create a sample project

Running into an issue while developing an app? Consider isolating the problem into a small sample project that compiles. Not only can it help you narrow down the specific bug you’re facing, but it’s one of the easiest ways for Apple’s bug screeners and engineers to triage the offending problem. If you can’t produce a sample project, sample code is also helpful — any additional information that can help narrow down the issue is valuable.

Escalate your report

If you’re a paid member of the Apple Developer Program, Enterprise Program, or MFi Program and you’re having a technical issue with one of Apple’s platforms on a production release, you should consider filing a Technical Support Incident. This is a request for code-level support for Apple frameworks, APIs, and tools when you cannot fix a bug, have trouble implementing a specific technology, or have other questions about your code.

Request technical support

Resources

Learn more about Feedback Assistant

Learn more about our privacy policy when filing bugs with Feedback Assistant

Posted on Leave a comment

New Resources Available for Password Manager Apps

Apple has created a new open source project to help developers of password managers collaborate to create strong passwords that are compatible with popular websites. The Password Manager Resources open source project allows you to integrate website-specific requirements used by the iCloud Keychain password manager to generate strong, unique passwords. The project also contains collections of websites known to share a sign-in system, links to websites’ pages where users change passwords, and more.

View Password Manager Resources

Posted on Leave a comment

Meet the developer: Christopher Gray

How Christopher Gray’s app, Scholly, helps kids go to college.

As a teenager in Alabama, Christopher Gray was a straight-A student, community volunteer, and relentless dreamer. He was also the son of a single mother who’d lost her job to the recession. At times during his high school years, they were homeless.

With graduation looming, Gray came to see college as a necessity, but one priced like a luxury item. Lacking internet access at home, he searched for scholarships at the library, one hour at a time, in keeping with the posted screen limits. He often wrote 500-word application essays on his phone — not a smartphone but a chunky 2008 model with a tiny keyboard. He did this for seven months.

“I saw a problem and I tried to fix it,” he says from a Hollywood office populated by a handful of coworkers and one very large dog named Milk. “My grandma always told me, ‘You have to work. You have to ignore whatever is going on around you, put your head down, and focus.’”

When his first scholarship check arrived, he sensed his efforts paying off. By the time the last one came in, Gray had amassed $1.3 million.

He used the money to study finance and entrepreneurship at Drexel University (and to cover his living expenses for all four years). But the process nagged at him. How, he thought, could it be so disjointed? How many students had it discouraged from going or even applying to college?

“I realized there’s all this money looking for students,” he says, “and all these students looking for money.”

Enter Scholly. Founded at Drexel by Gray and fellow students Nick Pirollo and Bryson Alef, it launched in 2015 with the simple goal of matching students with available scholarships: Input your age, interests, and other demographic information and Scholly would find potential fits.

No matter what your interests are, Scholly can help find money to support them.

The idea, Gray says, was born from his desire to help others do what he did. “I got some scholarships because I was the only one who applied. A lot of times, students just don’t know they exist.”

More good news was to come. His story soon reached the producers of Shark Tank, and the rest is Scholly history: Gray’s 60-second pitch resulted in a near-instant deal with Lori Greiner and Daymond John—and some viral offscreen dramatics. (Greiner offered Gray his requested $40,000 without even asking questions. “I don’t care how we monetize,” she said, prompting a minor meltdown in which a number of sharks basically stormed out of the studio.)

I realized there’s all this money looking for students, and all these students looking for money.

Scholly Search is the classic example of a simple idea that exploded. Today, it has roughly 3 million users who have landed more than $110 million in scholarships.

Actor and activist Jesse Williams is a member of Scholly Search’s board; Chance the Rapper has appeared at its Chicago-based initiatives. The company has relocated from Philadelphia to California, into a sprawling corner office with mountain views.

“The amounts are compelling,” Gray says, “but what’s just as powerful are the stories of people who get, like, the last $3,000 they need to enroll. I always wear my Scholly sweatshirt when I travel, and people come up to me and say, ‘Oh wow, you’re Scholly!’ Not ‘Oh, you’re Chris’ but ‘You’re Scholly!’ And they’ll tell me their story. It’s really powerful to experience that, because, OK, I was a homeless kid.”

Still in his midtwenties, Gray has been named to Forbes’ “30 Under 30” list for social entrepreneurship and Oprah Winfrey’s “SuperSoul 100” (who are basically her favorite people). He’s spoken at the Obama Foundation’s My Brother’s Keeper summit and received the 2018 Smithsonian American Ingenuity Award.

Christopher Gray’s work got the attention of Barack Obama, Oprah Winfrey, and Jesse Williams.

In recent years, Gray has set about evolving Scholly into a full-service education app. Scholly Math is an AI-powered standalone app that helps students solve tricky problems (while showing its work, of course). There’s also Scholly Editor, a web-based proofreader. “We originally created it to help with essays,” Gray says, “but a lot of kids are using it to get better grades and learn English, especially in underserved schools.” 

Mostly, he hopes to continue helping students reach dreams that circumstances might have once deemed impossible. 

“This good thing happened to me,” he says, “and now maybe I can help people who otherwise may not be able to help themselves.”


Originally published on the App Store.

Posted on Leave a comment

Meet the developer: Shine

The secret of their self-care app’s success? Staying authentic.

Before creating Shine, a self-care app that encourages you to “accept who you are today,” co-CEOs Marah Lidey and Naomi Hirabayashi set a few ground rules.

“We’re not going to assume you’re working,” says Lidey. “We’re not going to assume you have or don’t have kids or that you want kids. We’re not going to assume anything about your gender.”

Anything that felt “preachy, pricey, or presumptuous” was off the table too.

That foundation worked. More than 4 million users have signed up for Shine, with nearly one in three reviews describing the app as “life-changing,” according to Hirabayashi.

Shine co-CEO Marah Lidey

How do Lidey and Hirabayashi know their audience so well? They’re part of it — and have been for a long time.

The duo met in 2011 while executives at DoSomething.org, a nonprofit that helps young people transform their communities. The two started getting coffee, then lunch, then after-work drinks, creating what Lidey calls a “safe space to process the tough stuff.” 

Over time, they came to see the “tough stuff” in a new light. “What we were going through wasn’t weird — it was human,” says Lidey.

Shine grew out of their desire to make that safe space bigger, to help others with issues ranging from building a credit score to dealing with giving feedback to employees.

Check in with Shine via its chat interface and the app will serve up articles based on your responses (front). Check out the app’s Quick Hitters for talks tailored to different times of day.

The app launched in 2018 as an “accessible but aspirational” text-based coaching program. Its tone is chatty and friendly, like “the friend that has a psych degree,” says Hirabayashi. (Shine’s actual psych cred comes from therapist and corporate coach Anna Rowley, who helped develop the curriculum.) Using a chat-based interface, the app helps you see how you see yourself. (Hirabayashi, for her part, is a “Caring Critic” prone to “extending compassion outward, but often struggling to bring that compassion home,” she says.)

Shine co-CEO Naomi Hirabayashi

Today the app is rich with features. The Daily Shine is a podcast that Hirabayashi describes as a “secular sermon.” Challenges are short, multiday audio courses on specific goals like “Be More Direct” and “Let Yourself Have More Fun.” “Nightcap” is a collection of sleep stories that double as winking retellings of 2000s rom-coms (“The Devil Wears Pajamas”). “They’re meant to be boring and also a little cheeky,” Lidey says.

Through all the growth, the pair’s goal has remained the same. The idea isn’t to solve every problem, but to adjust how people approach them, says Hirabayashi. “What’s beautiful is that the pressure is to be authentic, not perfect.”


Originally published on the App Store.