从要安装的本地plist(null)安装iOS应用程序

从要安装的本地plist(null)安装iOS应用程序,ios,null,ipa,adhoc,Ios,Null,Ipa,Adhoc,我正在尝试从设备文件系统上的plist安装iOS应用程序 NSString *launchNewPlistURL = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=file://%@",[self saveFilePath]]; [[UIApplication sharedApplication]openURL:[NSURL URLWithString:launchNewPlistUR

我正在尝试从设备文件系统上的plist安装iOS应用程序

NSString *launchNewPlistURL = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=file://%@",[self saveFilePath]];
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:launchNewPlistURL]];
系统会提示我“(null)希望安装{myappname}”。通常(null)是plist来自的域名,但在本例中它是null,因为它是本地文件

是否仍需要在plist中指定标题或在url中传递假域名

谢谢, Dan

您可以使用该项目创建HTTP本地服务器

与域类似:安装它


不管怎么说,我认为你不能用一个大的IPA。我尝试过使用大于15MB的IPA,但开始安装的速度非常非常慢。

我也遇到过类似的情况,最初使用Mongoose,但就在今天偶然发现

使用Mongoose,我提供本地plist/IPA文件的成功率只有20%左右。有时,
localhost想要安装的对话框从来没有出现过,有时安装启动到一半就失败了,有时它确实起作用了。更糟糕的是,一旦某个应用程序失败,我必须完全卸载并重新安装它,所以所有数据都丢失了。我从未能够成功地“修复”失败的安装

到目前为止,只进行了大约10-15分钟的测试,CocoaHttpServer还没有失败。我知道这是一个非常小的样本量,但我的猫鼬成功率约为10%

self.httpServer = [[HTTPServer alloc] init];
[self.httpServer setType:@"_http._tcp."];
[self.httpServer setPort:8080];
//This is just a path where I save my IPA and Plist file locally.  
//In my case it's /{NSDocumentDirectory}/install/
[self.httpServer setDocumentRoot:[self pathForLocalInstallFiles]];
然后,指向磁盘上plist的URL:

NSURL *plistUrl = [NSURL URLWithString:@"itms-services://?action=download-manifest&url=http://localhost:8080/appname.plist"];
[[UIApplication sharedApplication] openURL:plistUrl];

在plist中,您的URL指向本地IPA文件,我成功地使用了
file://
http://localhost/

文件大小不应该是一个大问题,因为只有plist需要由MongooseDemon托管,而IPA仍然可以在web上的其他地方使用。