Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor "AppleAPI" into a separate repository #657

Open
xcodereleases opened this issue Nov 11, 2024 · 0 comments
Open

Refactor "AppleAPI" into a separate repository #657

xcodereleases opened this issue Nov 11, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@xcodereleases
Copy link

Tell us how we can improve Xcodes

I've been experimenting with additional tooling around Xcode Releases and, as you're aware, logging into the Apple Developer website in order to download the .xip files is quite complicated. As I was working on it, I realized that there seem to be two different implementations of AppleAPI, duplicated in XcodesOrg/XcodesApp and XcodesOrg/xcodes. The former has the better-looking API (uses the public Combine framework, can be easily hooked into custom UI, etc), but the latter is actually usable as a package dependency.

Is your feature request related to a problem? Please describe.

I would love to see AppleAPI extracted into its own repository, ideally based on the XcodesApp implementation, so that it can be used in other tools.

What would you like to see? How would you like it to work?

Some API ideas come to mind:

  • don't include the Keychain code; instead have a "SecretsProvider" delegate that can read and write secure values
  • Base it on Combine, to remove the need for pulling in unnecessary dependencies
  • A public interface that is ObservableObject/Observable would make integration with custom UI even easier.
@xcodereleases xcodereleases added the enhancement New feature or request label Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant