-
Notifications
You must be signed in to change notification settings - Fork 275
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
Avoid authentication dialog for purchase
#681
Comments
purchase
@Austin1 Thanks for reporting this. It will require some investigation, which will require extracting Apple private framework headers for multiple macOS versions, which will in turn require some investigation & work (including possibly updating other tools). As much as it would be good to fix this sooner rather than later, I probably won't have the bandwidth to get to this for a while as there is a backlog of issues that should require much less investigation to get done. If you or anyone else has free time to help with this or other issues, then it could get fixed sooner. |
If you can give me insights into how to "extract apple private framework headers for multiple macOs versions" - I may be able to assist. I have a containerized version of macos that could possibly enable quickly spinning up multiple versions of MacOS. |
@Austin1 Thanks for the offer of help. Modern macOS versions store their framework dylibs in the DSC. Some tools can extract headers from the DSC. The one that I tried to use is ipsw. ipsw does not output correct headers on my version of macOS (12.7.6), but seems to output good ones on at least some versions (probably on all versions) of macOS 15. We'd want to get the headers of all private frameworks on the latest version of each macOS major version (so the current newest macOS 15, the current newest macOS 14, etc.) for as many macOS major versions as possible. Since all private frameworks might be a bit much, we'd want at least CommerceKit, StoreFoundation, and AppStoreFoundation to start (plus any other frameworks whose names contain store, commerce, etc.). If you could try the following ipsw class-dump /System/Library/dyld/dyld_shared_cache_arm64e CommerceKit --headers --output /tmp/CommerceKit_HDRS You can install ipsw from homebrew-core: brew install ipsw There might be other tools that can do this, but I haven't yet investigated them. The old FYI, I had been thinking about running |
tl;dr - help me understand what you are using exactly from the header files or where in the mas code its used so I can maybe figure out if I can help. I did a bunch of random stuff below, nothing that is probably super useful, but think I could maybe figure something out with some more guidance. The biggest issue is I dont know if my extraction using ipsw is useful because of your bug report on the ipsw github issue - it's not clear to me what's wrong with it so I can determine if I'm getting same result or not. I installed ipsw and your command wasn't working on 15.2 (brand new mac mini), so I was doing research and found another utility. It recommended pointing to a different location than you did in your command:
So I pulled up the same header file that you did in your issue with ipsw and it looks slightly different, but it's not clear to me what is wrong with the one that you posted to ipsw since I'm not much of a developer. How would I know if I'm getting useful information for this project if I were to continue down the path? Here is what I got with the different path to dyld on my machine:
Edit: this is probably a waste of reading:
I guess I need to know what exactly you are doing with these headers so I can know what to look for and figure out if i'm doing anything useful or not. Might be too much for me to be helpful on :(
|
Problem(s) addressed
If I run a simple shell script to install apps such as
each time it starts the install it prompts for my username and password. I see in the documentation that this “may occur” but is there any scenario where it won’t occur? I was already logged in per the bottom left of my App Store, will it ever be possible to avoid the scenario where you have to enter password for each install?
Proposed solution(s)
I dont have one - maybe it’s not feasible
Alternative solution(s)
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: