Jump to content

Welcome to AppCake Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

AUv3 plugins not working for resigned apps


  • You cannot start a new topic
  • Please log in to reply
1 reply to this topic

#1
pincur

pincur

    Fresh Newbie

  • IC Lurker
  • Pip
  • 3 posts
    • Time Online: 1d 1h 44m 57s

Hi guys,

 

First of all, hats down for this place all people involved. I have been a silent 'peer' user for more than 10 years (I remember the initial appcake).

 

I am currently using resigning ipas with paid developer account (using various methods - appdb, iOS App Signer, Cydia Impactor and my own script). What I have noticed is that if some app is both standalone and AUv3 (AudioUnit v3) plugin, it doesnt work in plugin mode.

 

The plugin version is simply a nested .appex package (under Payload/PlugIns/*.appex) having its own assets, binaries etc. Is the problem related to the fact the binary of the plugin was not cracked? Or is it a matter of how resigning is done? I have found a few other threads on same topic so I expect this not to be as simple as resigning the inner .appex (otherwise it would be done years ago by someone). Any place to find more details on what others have already found about this problem? I could try to work on it (if there is some hope) as I'm sure it's something many people have been waiting for years.

 

I have tried with simple .appex resigning cloned form signing the main .app package, but no success. The below script is executed providing .ipa file to be resigned path as an argument. Please note the script does resigning properly for main .app.

 

 

My resigning script as a starting point


#!/bin/bash

mkdir signed
mkdir temp

prov=$(echo *.mobileprovision)

security cms -D -i $prov > provision.plist
/usr/libexec/PlistBuddy -x -c 'Print :Entitlements' provision.plist > entitlements.plist

unzip -o -qq $1 -d temp

appdir=$(echo temp/Payload/*.app)

rm -rf "$appdir/_CodeSignature"

cp $prov "$appdir/embedded.mobileprovision"

if [[ -d "$appdir/PlugIns" ]]
then
    echo "Plugins folder exists"
    plugdir=$(echo $appdir/PlugIns/*.appex)

    rm -r $plugdir/_CodeSignature
    cp $prov $plugdir/embedded.mobileprovision
    codesign -f -s "<apple dev identity>" --entitlements entitlements.plist $plugdir
    codesign -f -s "<apple dev identity>" --entitlements entitlements.plist $plugdir/Frameworks/*
fi

codesign -f -s "<apple dev identity>" --entitlements entitlements.plist $appdir
codesign -f -s "<apple dev identity>" --entitlements entitlements.plist $appdir/Frameworks/*

(cd temp; zip -qq -o -r ../signed/$1 Payload)

rm -r temp/Payload

  • bresk likes this

#2
bresk

bresk

    Caker

  • IC Member
  • 36 posts
    • Time Online: 1d 21h 17m 29s

Nice one !  I really hope someday a solution will be found.