gpt4 book ai didi

ios - 企业 iOS 应用分发

转载 作者:行者123 更新时间:2023-12-01 18:08:59 30 4
gpt4 key购买 nike

我有一个要分发给公司员工的 iOS 应用程序。我知道为此我们需要考虑企业开发者帐户。我的疑问是我将如何分发构建。苹果是否提供企业商店?如果不是假设我通过 diawi.com 或类似的服务分发构建,将如何安装更新。当我推出更新时,用户是否应该删除旧版本然后重新安装它。

我试图在很多地方搜索,我无法得到明确的答案。希望有人可以帮助我消除我的疑问..

提前致谢

最佳答案

从技术上讲,您可以将企业证书分发给任意数量的设备,通过协议(protocol)有一些法律限制。

用户将通过您提供的网站安装该应用程序。在这个网站上,您将有一个指向 manifest.plist 的链接,如下所示。当使用 Archive > Distribute > Enterprise 时,Xcode 可以自动生成 manifest.plist

<a href="itms-services://?action=download-manifest&url=https://yourserver/yourpath/manifest.plist">Download and Install</a>

下载并首次启动后,用户还将转到 Preferences > General > Profiles > your company name > Accept

这是因为 Apple 建议您通过企业设备管理进行分发(这完全是另一个问题和主题)。

要更新应用程序,您需要在启动时检查是否有更新的版本,并将用户指向新的 IPA。
static NSString* plistURL = @"https://yourserver/yourpath/manifest.plist";

@implementation YourAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self performSelectorInBackground:@selector(checkForUpdate) withObject:nil];
return YES;
}

- (void)checkForUpdate;
{
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:plistURL]];
NSData *plistData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
if (plistData) {
NSPropertyListFormat plistFormat;
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:plistData options:NSPropertyListImmutable format:&plistFormat error:nil];
NSString *onlineVersion = [[temp valueForKeyPath:@"items.metadata.bundle-version"] lastObject];
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];

if (! [onlineVersion isEqualToString:appVersion]) {
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView* dialog = [[UIAlertView alloc] initWithTitle:@"A new version of «Your App» is available"
message:@"Would you like to update now? Caution: Since the app is very big, please install it while connected to a Wi-Fi network." delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Update...", nil];
[dialog show];
});
}
}
}

Apple 提供的文档内容广泛且内容丰富: Distributing Apple Developer Enterprise Program Apps

关于ios - 企业 iOS 应用分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35477670/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com