private bool LoadIPA(string path) { try { IPAInfo info = IPAParser.Parse(path); SelectIPA(info); return(info != null); } catch (Exception ex) { MessageBoxEx.Show(this, ex.Message, Title, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
static void Main(string[] args) { List <string> ipaList = new List <string>(); string outputDir = string.Empty; string baseUrl = string.Empty; string uuidServiceUrl = string.Empty; bool infoOnly = false; bool skipCopy = false; try { if (args.Length == 0) { ShowHelp(); return; } for (int i = 0; i < args.Length; ++i) { string arg = args[i]; if (arg.StartsWith("-")) { arg = arg.Substring(1); } if (arg == "help") { ShowHelp(); return; } try { switch (arg) { case "ipa": break; case "outputDir": outputDir = args[++i]; break; case "baseUrl": baseUrl = args[++i]; break; case "uuidServiceUrl": uuidServiceUrl = args[++i]; break; case "info": infoOnly = true; break; case "skipCopy": skipCopy = true; break; default: if (File.Exists(arg) && Path.GetExtension(arg).Equals(".ipa", StringComparison.InvariantCultureIgnoreCase)) { ipaList.Add(arg); } else { throw new ArgumentException(string.Format("unrecognized argument \"{0}\".", args[i])); } break; } } catch (IndexOutOfRangeException) { throw new ArgumentException(string.Format("missing value for \"{0}\" argument.", arg)); } } } catch (ArgumentException e) { Console.WriteLine(TAG + ": " + e.Message); Console.WriteLine("Try " + TAG + " --help for more information."); Environment.Exit(-1); } List <IPAInfo> infoList = new List <IPAInfo>(); try { foreach (var ipaPath in ipaList) { Console.Write("Parsing IPA archive \"" + Path.GetFileName(ipaPath) + "\"..."); IPAInfo info = IPAParser.Parse(ipaPath); Console.WriteLine(" Done!"); Console.WriteLine(); Console.WriteLine(" Bundle details"); Console.WriteLine(" Display Name: " + info.BundleDisplayName); Console.WriteLine(" Name: " + info.BundleName); Console.WriteLine(" ID: " + info.BundleIdentifier); Console.WriteLine(" Version: " + info.BundleVersion); Console.WriteLine(" Date: " + info.BuildDate.ToString(CultureInfo.InvariantCulture)); Console.WriteLine(); Console.WriteLine(" Restrictions"); Console.WriteLine(" Platform: " + info.PlatformName); Console.WriteLine(" Minimum OS version: " + info.MinimumOSVersion); Console.WriteLine(" Device: " + info.DeviceFamily.ToString()); Console.WriteLine(); Console.WriteLine(); infoList.Add(info); } if (infoOnly) { return; } Console.Write("Generating installer..."); IPATools.IPAInstallerGenerator generator = new IPATools.IPAInstallerGenerator( infoList.ToArray(), outputDir, baseUrl, uuidServiceUrl, null); generator.SkipCopying = skipCopy; generator.Run(); Console.WriteLine(" Done!"); } catch (Exception e) { Console.WriteLine(); Console.WriteLine(TAG + ": " + e.Message); Environment.Exit(-1); } }