majd / ipatool

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

Failed to apply patches #89

Closed lennier1 closed 2 years ago

lennier1 commented 2 years ago

What happened?

Occasionally, I run into an app where ipatool says "Failed to apply patches. The ipa file will be left incomplete." The resulting .ipa file can't be installed correctly. It is possible to install these apps successfully going through the App Store on my device, so they aren't unobtainable in general. I tested this on my US account. I've seen two examples so far:

com.grovemenus.WhatToEatDaily (https://apps.apple.com/us/app/what-to-eat-daily/id897669251?uo=4) com.mmstudio.TV-GUIDEN-Free (https://apps.apple.com/us/app/tv-guiden-free/id639177792?uo=4)

Version

1.1.2

Relevant log output

ipatool download -b com.grovemenus.WhatToEatDaily -c us --purchase --log-level debug

objc[4261]: Class SwiftNativeNSObject is implemented in both /usr/lib/swift/libswiftCore.dylib (0x7ff8427ce098) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.5/macosx/libswift_Concurrency.dylib (0x10d18d760). One of the two will be used. Which one is undefined.

==> ℹī¸  [Info] Authenticated as '[redacted]'.

==> 🛠   [Debug] Creating HTTP client...

==> 🛠   [Debug] Creating iTunes client...

==> ℹī¸  [Info] Querying the iTunes Store for 'com.grovemenus.WhatToEatDaily' in country 'us'...

==> 🛠   [Debug] Found app: What To Eat Daily (1.0.1).

==> 🛠   [Debug] Creating HTTP client...

==> 🛠   [Debug] Creating App Store client...

==> ℹī¸  [Info] Requesting a signed copy of '897669251' from the App Store...

==> 🛠   [Debug] Received a response of the signed copy: ec8c6edae6423815c71839001b8b851d.

==> 🛠   [Debug] Output path: /Users/[redacted]/com.grovemenus.WhatToEatDaily_897669251_v1.0.1_790.ipa.

==> 🛠   [Debug] Creating download client...

==> ℹī¸  [Info] Downloading app package... [100%]

==> ℹī¸  [Info] Saved app package to com.grovemenus.WhatToEatDaily_897669251_v1.0.1_790.ipa.

==> 🛠   [Debug] Creating signature client...

==> ℹī¸  [Info] Applying patches...

==> 🛠   [Debug] fileNotFound(".app/SC_Info/Manifest.plist")

==> ❌   [Error] Failed to apply patches. The ipa file will be left incomplete.