majd / ipatool

Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store
MIT License
5.35k stars 468 forks source link

Upstream a bunch of fixes and improvements #148

Closed ViRb3 closed 1 year ago

ViRb3 commented 1 year ago

Apologies for the fat PR, but it would have been too much effort to separate them. I did my best to isolate the changes in commits, so please go one by one to see the features and choose which ones you would like to merge (hopefully all). A list of changes with small descriptions:

Only one small problem left — I added and updated tests for every commit except for Enable download of unlisted apps, since a ton of test cases broke and I don't have the time (or knowledge) to fix them. I am hoping you could lend a hand here. FWIW, I tested these commits very extensively in practice and there were no issues at all.

Thanks!

majd commented 1 year ago

Thank you for putting in all the effort to improving ipatool! I really appreciate it.

As the current PR is quite big, could you please split those changes into separate PRs? One PR per line item listed above. I would be happy to help getting those changes merged!

ViRb3 commented 1 year ago

Sure. I created as many PRs as I could which didn't conflict, will submit the rest after these are merged so I can rebase.

hykilpikonna commented 1 year ago

Thanks for the pr! The ability to download unlisted apps works!

For people who stumble upon this in the future: Since this branch is deleted, you cannot clone @ViRb3's repo and checkout the branch, so I cloned majd/ipatool first and used the gh command line CLI to checkout the pr: gh pr checkout 148. Then you can run go build -o ipatool. For the cmd/root.go:20:18: undefined: version error, just edit cmd/root.go and change version to any string value.

image
ViRb3 commented 1 year ago

All the code will be merged upstream soon, just in separate PRs, I recommend waiting a few more weeks.

ViRb3 commented 1 year ago

For now, I have released my fork of ipatool with all personal changes, including everything in this PR:

If all of them get upstreamed, I will remove this fork, but for now there's quite a few things that I find valuable and missing from here.