Feather icon indicating copy to clipboard operation
Feather copied to clipboard

[Bug] Error: Integrity check failed

Open mlshdev opened this issue 1 month ago • 1 comments

Report

I have a valid Apple Developer account. I've tried multiple times with multiple certs and removing previous app data from Apple Developer site but signing wont work - Error: Integrity could not be verified. Certs are added system-wide and feather app shows: [red]PPQCheck and [green]364 days. Tried multiple options: Ellekit, substrate. Sideloading even non-modded unencrypted IPA doesnt work. Altstore as well as sideloadly worked flawlessly with using Apple Dev cert.

Steps to reproduce:

  1. Host: macOS arm64 26.1.1, iOS 26.1.1
  2. Install feather app by building it via xcode ^ to clarify: I've also tried sideloading via altstore so it doesnt have to be "main" branch issue
  3. try to sideload an IPA

Request Agreement

  • [x] I have read the requirements for opening an issue above

Contributor Checks

  • [ ] I am willing to attempt to make a pull request to fix this bug

mlshdev avatar Nov 29 '25 22:11 mlshdev

Open/Applications/Utilities/Console.app on your Mac, select your device (plug it in) then filter for installd. You can do the installation process now and it will log to the Console.

It will give you detailed error's on why its failing to verify, and note that sideloadly/altstore have different ways of signing/installing so its not really relevant here.

khcrysalis avatar Nov 29 '25 22:11 khcrysalis

It looks like installation via Xcode/Sideloadly/Altstore is not permitting Feather signing other apps.

Solution

1. Clone repo with submodules git clone --recurse-submodules (this repo)

2. Build without signing via CLI xcodebuild archive -project Feather.xcodeproj -scheme Feather -archivePath Feather-unsigned.xcarchive -configuration Release CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO

3. Navigate to the archive cd Feather-unsigned.xcarchive/Products/Applications/

4. Create Payload folder structure

mkdir -p ~/Desktop/Payload
cp -R Feather.app ~/Desktop/Payload/
cd ~/Desktop/Payload
cp ./Info.plist ../

5. Modify plist to match your bundle name I used Plist Editor

6. Replace plist file rm Info.Plist && mv ../Info.plist .

7. Now lets move to linux local machine and:

Install mkcert
mkcert -install
mkcert -CAROOT
cp ${CAROOT}/*.pem (to your https.py specified directory)

8. From macOS:

cd ~/Documents
scp ${USER}:{HOST}/${CAROOT} . (and airdrop one of the certificates, I forgot about which one)
homebrew install rust
git clone plistserver
cd plistserver
cargo run

9. Run curl commands from the guide

Follow the instructions at: https://github.com/nekohaxx/plistserver/blob/main/guide.md

10. It works! ✅

mlshdev avatar Dec 01 '25 11:12 mlshdev