Code-level support
Need help with technical or development issues for Apple frameworks, APIs, and tools? We have lots of resources, tools, and support channels to help. Members of the Apple Developer Program and Apple Developer Enterprise Program can request code-level support for Apple frameworks, APIs, and tools. Support is provided in English via the developer forums or email.
Before you submit a support request
Code-level support is here to help when you get stuck writing, building, or running your software. Start with the following steps to resolve your issue, and submit a request if you still need help.
Check the latest resources
Get the latest technical information as you develop and test your software, so you can resolve issues and plan ahead.
- Documentation: Learn how to use Apple technologies through articles, sample code, tutorials, and API references.
- Technotes: Get timely details on completing specific tasks and resolving unique issues.
- Release notes: Learn about API changes, known issues, fixes, workarounds, and deprecations for recent software releases.
- Videos: Watch presentations by Apple experts on integrating technologies and using development tools. Search transcripts to quickly find details and code presented in the videos.
Search and post on the forums
Your issue might have been discussed and resolved on the Apple Developer Forums — a great resource for discovering solutions or discussing technical topics, like Apple SDKs, APIs, and services. If you can’t find an answer, start a new thread with your question to get guidance from Apple engineers and other developers.
Try to debug
Learn how to resolve bugs in your code using the Xcode debugger, Xcode Organizer, Metal debugger, and Instruments. To do this, you can try to:
- Run Product | Analyze in Xcode and resolve any outstanding analyzer results, if possible.
- When testing and debugging your app in Xcode, check the Console pane for relevant error or warning messages that correlate with the issue you’re investigating.
- Review Testing a Release Build for tips on reproducing bugs that you or your customers are experiencing.
- Read Diagnosing issues using crash reports and device logs and its linked pages for a detailed debugging workflow. If you’re investigating a crash, pay particular attention to Adding identifiable symbol names to a crash report and Identifying the cause of common crashes.
- Abstract the issue into a sample Xcode project, if possible. Remove all code that isn’t necessary to reproduce the issue. Simplify your app’s logic and data structures so that you can get to the issue directly.
- Check out the Debugging tag on the forums and view debugging documentation.
Understand crashes
When an app crashes, the operating system collects diagnostic information about what the app was doing at the time of crash. Use crash reports and logs to diagnose issues and refer to documentation on how to resolve them.
- Acquiring Crash Reports and Diagnostic Logs
- Understanding Crashes and Crash Logs
- Analyzing a Crash Report
- Diagnosing Issues Using Crash Reports and Device Logs
- Adding Identifiable Symbol Names to a Crash Report
- Identifying the Cause of Common Crashes
Looking for something else?
Learn about distribution, TestFlight, In-App Purchases, and more with App Store Connect and App Store Connect API documentation.
- Report bugs and get status updates on your reports with Feedback Assistant.
- Learn about App Review or reply to a message from the App Review team.
- Request entitlements using entitlement forms and ask for status updates in the resulting email thread.
- Ask general questions about development and distribution topics on the Apple Developer Forums.
- Get IT department-level support from AppleCare Professional Support (if available in your region) if you’re deploying iOS, macOS, or macOS Server devices in your organization.
- Get non-development support for Apple products and software on the Apple Support site.
Still need help with your code?
We’re here to help when you get stuck writing, building, or running your software. Program members can request code-level support for Apple frameworks, APIs, and tools. Support is provided in English via the Apple Developer Forums or email.
- Submit only one support issue (a single, discrete problem) per request.
- Submit your request in English and avoid using acronyms, jargon, and nonstandard abbreviations.
- Provide a clear and detailed description with as much information as possible. Include steps you’ve taken to solve the problem and conditions we should consider, such as failures on specific hardware or OS versions.
- Ask a specific question and explain the outcome you expect from your support request. Try to isolate the APIs or features relevant to your issue.
- Provide clear and concise steps to reproduce the issue.
- When working with Apple beta software, follow the same process as with release software. However, when you encounter an issue in beta software, we recommend that you always file a bug report via Feedback Assistant first, then include the Feedback Assistant ID in your support request.
- Be prepared with supporting files:
- A focused sample Xcode project, whenever possible.
- Symbolicated crash reports and diagnostic logs, from the debugging workflow linked above.
- Screenshots and videos, when they’re helpful to explain the issue or the steps to reproduce it.
- Exact text of error messages encountered in your code, copied and pasted from the relevant logs.
- Text of emails you received from other support teams at Apple, pasted verbatim.
When you receive an acknowledgement email for your support request, you can reply with your files as attachments.
Please note that while we may provide sample code to help explain APIs, we’re not able to complete development work, provide details on APIs or system configuration settings that are internal to Apple, or describe functionality implementation in other apps.