public bool InfoplistSignerKeyPairExists ()
{
// The Info.plist file has to be modified so the resulting cracked .ipa can be installed on the iDevice.
// For that the key-pair {SignerIdentity, Apple iPhone OS Application Signing} is added to it. In that process the
// Info.plist is converted from binary to plaintext XML and the key-pair is added. So there are many options to
// check the Info.plist:
// a) The size of Info.plist: mostly done using NSFileSize
// b) The date it was created or changed
// c) If Info.plist is plaintext XML:
// d) For the keypair key-pair {SignerIdentity, Apple iPhone OS Application Signing}

var basedir = Path.Combine (Environment.GetFolderPath (System.Environment.SpecialFolder.Personal), "..");
string appName = "ApplicationName.app";

string xmlFile = (basedir + "/" + appName + "/info.plist");
TextReader tr = new StreamReader(xmlFile);
string filecontents = tr.ReadToEnd ();

if (filecontents.IndexOf ("SignerIdentity") >= 0)
{
if (filecontents.IndexOf ("Apple iPhone OS Application Signing") >=0 )
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}