Posted on Leave a comment

Meet the new Apple Developer forums

Whether you’re chatting with the community, asking questions, or getting clarifications from Apple engineers, the Apple Developer Forums are a great place to learn and share information about Apple platforms.

The forums have a ton of great content, and we want to help you get the most out of your visit. Check out some tips and tricks to discover how you can post like a pro, up your reputation, quickly find the best answers, and more.

Personalize your profile

While anyone can view and browse the forums, you’ll need to sign in with your Apple ID if you want to ask or answer questions. Once you register, you can customize your profile with a preset avatar, add your location if you’re comfortable doing so, and share a link to one of your apps on the App Store.

Just follow a few simple steps:

  1. Sign into your account.
  2. Go to your profile silhouette in the upper right corner of the screen.
  3. Click or tap on your silhouette.
  4. Click or tap Edit Profile.

From there, you can change whatever you’d like to change, as well as chose to show information like how long you’ve been on the forums.

Tag, you’re it

The forums are organized by tags: When someone asks a new question, they can add up to four tags to help categorize their post. If you have a question about building watchOS apps with SwiftUI, for example, you might tag that post SwiftUI and watchOS, and people searching either topic would get it in their search results.

Tags are listed on every post in the forums: You can view all of the most recent questions filed under a given tag by clicking or tapping on it — as well as check out any relevant technical documentation or information for that tag.

See all available tags on the forums

Search swiftly

Available on every forums page, the search bar lets you look for questions, tags, and profiles. You can supercharge your search queries with a few quick tips — here’s how.

Keyword search
Type in a word that’s three characters or longer and hit return to get question titles or descriptions related to the word (or words) you’ve typed.

Tag search
Want to search for a tag? Type it in brackets, like so:

[mac]

This query will return information on tags with the word “mac” in them. Type in the name of a specific tag, and you’ll go straight to the tag’s landing page, which contains a brief description of the tag and a list of recently tagged questions.

Combination searches
If you know the name of a specific tag or multiple tags, you can combine them with a keyword to further refine your search. For example:

[macOS][Beta] Catalyst

This search will return all questions that have “Catalyst” in their title or description and are tagged with both “macOS” and “Beta.”

Find a person
Want to take a look at someone’s profile? Use the following:

user:username

Replace “username” with the person’s username that you’re looking for to get a list of matching people (or, if you’ve entered an exact match, you’ll visit that person’s profile).

Quickly spot Apple Recommended answers

When browsing forum threads, you can use colors and shapes to quickly learn a bit more about that post. If using a mouse or trackpad, you can also hover your pointer over any box to get more information about that post.

Each question displays a color-coded square to indicate status. Blue squares are unsolved issues, green are solved, and green-bordered questions are solved with an Apple Recommended answer.

All unsolved questions appear with a blue box to the left of the thread title, with the number of replies inside that box.

Once a question has been marked “solved,” that box turns green. And if an Apple Developer Forums admin has marked that answer “Apple Recommended,” the post’s green box gains a darker border around it.


Tip: Be a problem-solver

Our community has a wealth of knowledge of both Apple platforms and products. If you spot a question on the forums that you think you can answer, you can reply to that post with your suggested solution. If it helps the author of the post, they can mark your answer as the solution to their problem, and you get reputation points for providing the best answer. If one of the Apple staff members agrees, they may promote your answer to Apple Recommended — netting you even more reputation.


When you’re viewing threads themselves, you can spot answers marked as Apple Recommended along the left side of the screen: They’re represented with a black circular icon with a white Apple logo inside of it.

Rep your reputation

Great community members are key to a great experience — and on the Apple Developer Forums, you can help your community surface important questions and earn reputation through constructive participation in threads. Moderators may review forum posts to ensure a safe and secure platform for you and other developers. Once a post has been approved, however, the community can rank and promote posts to the front page or top of a tag.

The forums use a points-based system: Participating in threads and constructively providing answers can help you gain points and privileges.

Here are some of the perks you can gain on the forums for participating actively:

  • When you solve problems, you get a “solved” badge on your profile that lists the number of questions you’ve solved.
  • When you provide a solution that admins mark as “Apple Recommended,” you receive an “Apple Recommended” badge on your profile.
  • You can report posts for being duplicates or spam. (Requires at least 50 points reputation)
  • You can downvote questions or replies. (Requires at least 100 points reputation)

Gain points by:

  • Providing a reply that gets marked as “Apple Recommended”: 25 points
  • Providing a reply that gets marked as “Solved” by the author: 15 points
  • Asking a question that gets upvoted: 5 points
  • Providing a reply that gets upvoted: 5 points

Lose points by:

  • Having an upvote rescinded for your question or reply: -5 points (neutralizes the previous upvote)
  • Providing a question or reply that gets downvoted: -2 points
  • Having spam or inappropriate/ abusive content that you posted removed: -15

Share replies within a post

Want to link out to a forum thread in Messages, email, or elsewhere? You can share the original post or any reply by going to a thread and tapping or clicking on the Share button, found inline to the right of the post.

Post like a pro

Ready to ask a question or share your thoughts? Here’s how to make your post look great.

Content is crucial
When posting a question, consider what you can provide as background to help people understand your issue. Try to mention any limitations, assumptions, or simplifications. If you forget something or make a typo, you can edit your content for up to one hour after posting.

Tag it up
You can add up to four tags to any post. Pick tags that relate directly to your question, and consider whether you’d want to see your post listed within that tag if it were being made by someone else.

Mark it down
The forums take advantage of the Markdown language to quickly and easily style your text without cumbersome formatting, including:

  • Headers
  • Ordered lists, tasks, and unordered lists
  • Bold and italic text
  • Links
  • Code and syntax highlighting
  • Blockquotes, code, and text quotes

Attach a log
If your post would benefit from attaching log content, click or tap on the attachment icon in the text editor. Add a title, paste your log content, and click Add Text. This text will be linked in the body of your post. (Note: Image attachments are not currently supported.)

Mark as solved
If someone provides you with a great answer on the thread, don’t forget to mark your question as solved by clicking or tapping on the checkmark icon next to the reply in question. You can only mark one reply as solved, and it can’t be unmarked. (You also can’t solve your own question.)

Event excitement

At WWDC20, the forums are offering several event-specific tags to explore.

Everyone can view and read all WWDC-tagged posts. When you sign in with your Apple ID, you can also share your thoughts using the WWDC20 Community tag or request help around conference logistics with the WWDC20 Support tag.

Additionally, if you’ve been a member of the Apple Developer Program or Apple Developer Enterprise Program since June 11, 2020 or you won the Swift Student Challenge, you can post on session-specific conference tags by signing in with the Apple ID associated with your developer account. Use these tags to ask questions about the technology within any given session and connect directly with Apple engineering teams.


Have more thoughts on the forums? You can provide feedback by contacting Apple Developer Support or by creating a post and adding the Forums Feedback tag.

Resources

Visit the Apple Developer Forums

Learn more about the Apple Developer Forums

Posted on Leave a comment

All-new Apple Developer Forums Now Available

The Apple Developer Forums have been completely redesigned, so they’re more engaging to use, automatically surface the most relevant content, offer simpler navigation, and make it easier to categorize and search for content. Connect with fellow developers and Apple engineers as you give and receive help on a wide variety of development topics, from implementing new technologies to established best practices. And during WWDC20, the forums will be a central place to engage with the community and over 1,000 Apple engineers, discuss new technologies, and get your questions answered.

Visit the Apple Developer Forums

Posted on Leave a comment

The developer’s guide to the Human Interface Guidelines

The Human Interface Guidelines — “HIG” for short — offers in-depth information and UI resources for all of Apple’s platforms, including specific technology areas. The HIG is full of information for designers that can help them create more compelling, intuitive, and beautiful experiences and design better apps.

If you’re an engineer, the HIG can be equally useful as a guide during the entire development process. It offers a high-level and comprehensive view of key UI elements and associated APIs, and best practices to help you implement features into your app.

We’ve put together a few common scenarios to show you how the HIG can help you throughout app design and development.

Where to start

The HIG is organized by platforms and technologies, each with its own index. If you’ve never explored the HIG before, consider starting with the platform you’re currently developing for.

Each platform is broken up into multiple sections that cover topics like app architecture, interaction, views, controls, and system capabilities. If you’d like to implement custom UI elements for your Apple Watch app, for example, you could reference the SpriteKit and SceneKit page of the System Capabilities section and gain perspective on some of the user experience considerations of implementing textured and 3D imagery in your app, as well as find a link to the WKInterfaceSCNScene and WKInterfaceSKScene framework over on the Developer Documentation website.

“I want to include a new UI element.”

The HIG offers guidance for all interface elements, with a focus on the element’s intended use. When including any new piece of UI into your app, consider using the HIG to review how you should present the intended element on screen. Explore recommendations, learn about the rationale for styling, and understand the various ways in which you can achieve a presentation that expresses your brand and feels familiar to people who use your app.

Even for something as simple as adding a button to your interface, the HIG provides recommendations for how to place, label, and align it within your app — along with guidance on presenting and using these elements.

“I want to introduce a new feature into my app.”

When Apple releases new features, you can often find additional insight and best practices around adoption within the HIG.

Say that you add Augmented Reality (AR) content to your app. Inside the HIG, you can find information on AR interactions and address common problems with interface patterns. You can learn how to guide people into an AR experience, for example, or how people expect to interact with real and virtual content on screen. This guidance can also help you have discussions with your design and development teams as you plan out feature inclusion, and lead to better implementation.

Get started with Apple design elements

Apple’s ever-growing resources library makes it easy to explore the design side of our platforms. These downloads are great for prototyping concepts, finding specifications, and learning the language of design elements.

There are templates and libraries for Adobe Photoshop, Adobe XD, Sketch, and Keynote, and each of these is filled with ready-to-use iOS UI elements — toolbars, tab bars, buttons, and much more. You can also explore resources like the SF Symbols app, which contains thousands of symbols in a wide range of weights and scales. These symbols integrate nicely with Xcode, they’re simple to align with text labels, and they support accessibility features like Dynamic Type and Bold Text.

The helpful HIG

The HIG is one of the best places you can start when you’re making design and engineering decisions about your app. It lays out the principles that define design across all Apple platforms, and it makes recommendations to help you anticipate and implement what most people want when using software.

Best of all, the HIG is continually updated to reflect changes and improvements across Apple’s platforms. So you can count on implementing features that keep pace with people’s evolving expectations.

Resources

Human Interface Guidelines

Apple Design Resources

Learn more about SF Symbols

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