Repository navigation
Description
Problem Statement
While working with the App Store Server API and handling various errors in Swift, I noticed that the APIError enum within the App Store Server Library lacks detailed documentation for some of its values. This makes it challenging for developers to understand the context and potential solutions for the errors returned by the API.
Proposed Solution
I propose to enhance the APIError enum by adding comprehensive documentation to each enum value. This documentation will include:
A brief description of the error.
A direct link to the official Apple documentation for each specific error (where available).
Suggestions for handling these errors within apps (if applicable).
For example, for the error INVALID_IN_APP_OWNERSHIP_TYPE, the documentation could look like this:
/**
* An error that indicates the ownership type of an in-app purchase is invalid.
*
* This error occurs when the specified ownership type does not match any of the ownership types known by the App Store. To resolve this error, ensure that the ownership type corresponds to one of the valid types described in the App Store Server API documentation.
*
* @see <a href="https://developer.apple.com/documentation/appstoreserverapi/invalidinappownershiptypeerror">InvalidInAppOwnershipTypeError</a>
*/
`INVALID_IN_APP_OWNERSHIP_TYPE(4000026L),
Benefits
- Improved Developer Experience: With detailed documentation directly in the source code, developers can more easily understand the meaning of each APIError and how to handle it effectively.
- Quick Reference: Including direct links to the official documentation within the enum provides a handy reference, reducing the need to search through external documentation.
- Best Practices: Where applicable, providing suggestions for error handling encourages best practices and more robust error management in apps using the App Store Server API.
Next Steps
I am prepared to undertake this enhancement by completing the documentation for each enum value in the APIError class. I believe this improvement will greatly benefit the developer community by making error handling more transparent and accessible.
Activity
alexanderjordanbaker commentedon Mar 29, 2024
@JumpiiX Could you please describe how this is different than the existing documentation and links in APIError, for example
app-store-server-library-java/src/main/java/com/apple/itunes/storekit/client/APIError.java
Line 14 in 0913e43
JumpiiX commentedon Mar 30, 2024
@alexanderjordanbaker
Thank you for your inquiry. The revisions I've introduced to the APIError documentation aim to offer more specific insights for each error, complementing the existing descriptions with further context. This added layer of detail is intended to facilitate a quicker and more informed troubleshooting process for developers.
alexanderjordanbaker commentedon Oct 28, 2025
For the library, we only document in the library what is in the official documentation, and as these documentation lines are not in the official Apple docs, we are not looking to include them at this time.