我们有很多内部应用程序,想要一个像AppStore这样的应用程序。我们做了一个演示。我们可以打开已安装的应用程序,但未安装在iPhone上的应用程序无法从我们的服务器下载到iPhone。
我们这样做:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//one-to-many
modelBuilder.Entity<Entry>()
.HasRequired<EventbookEntry>(ev=> ev.EntryId )
.WithMany(ent => ent.EventbookEntries);
}
我们要做的事情是找到原因:
if([UIApplication sharedApplication] canOpenURL:..] == false){
NSString *schemelink = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@",**plist_url**];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:schemelink]]
}
复制粘贴ipa网址,它说没有应用程序设置来打开URL ...... ipa 在App Store中搜索可以打开此文档的应用程序,或在计算机上选择现有应用程序。
我该如何解决?
的.plist:
itms-services://?action=download-manifest&url=
答案 0 :(得分:1)
您的plist
文件应该托管在HTTPS
启用SSL的服务上,否则您将无法安装。
我附上了一个包含示例数据的示例manifest.plist
文件,您可以使用原始数据进行修改。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://127.0.0.0/app/App.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://127.0.0.0/app/icon57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://127.0.0.0/app/icon512.jpg</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.companyname.appname</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>Your application name</string>
</dict>
</dict>
</array>
</dict>
</plist>
将以下所有文件放在服务器上的同一目录中。
您的下载网址应如下所示。
itms-services://?action=download-manifest&url=https://127.0.0.0/app/manifest.plist
Example Click here to download App.
另外,请确保您的服务器支持ipa的
application/octet-stream
MIME类型和plist的text/xml
。