0
使用我的本機iOS應用程序設置MDM設備可讓用戶退出應用程序以加載Safari以啓動MDM配置文件安裝,然後返回到Safari。使用RoutingHTTPServer重定向iOS mdm配置文件?
我想要做的是返回到應用程序。
我知道這可以用RoutingHTTPServer完成,如記錄here但我似乎無法得到一個MDM配置文件發佈請求使用它。
任何幫助,非常感謝。
使用我的本機iOS應用程序設置MDM設備可讓用戶退出應用程序以加載Safari以啓動MDM配置文件安裝,然後返回到Safari。使用RoutingHTTPServer重定向iOS mdm配置文件?
我想要做的是返回到應用程序。
我知道這可以用RoutingHTTPServer完成,如記錄here但我似乎無法得到一個MDM配置文件發佈請求使用它。
任何幫助,非常感謝。
使用@xphod的另一篇文章中的代碼,我得到它的工作如下,但它仍然不是很好。
基本上我需要Safari加載配置文件,用戶安裝它的配置文件,然後點擊完成,當Safari重新打開它將引導用戶回到應用程序。
我不認爲它可以完成,也許最好的解決方法是託管一個網頁做重定向迴應用程序。
啓動服務器和設置路由
self.firstTime = true;
self.httpServer = [[RoutingHTTPServer alloc] init];
[self.httpServer setPort:8000];
[self.httpServer handleMethod:@"GET" withPath:@"/start" target:self selector:@selector(handleMobileconfigRootRequest:withResponse:)];
[self.httpServer handleMethod:@"GET" withPath:@"/load" target:self selector:@selector(handleMobileconfigLoadRequest:withResponse:)];
[self.httpServer start:NULL];
然後開始,
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://localhost:8000/start/"]];[/code]
將加載的Safari與JS計時器
- (void)handleMobileconfigRootRequest:(RouteRequest *)request withResponse:(RouteResponse *)response
{
[response respondWithString:@"<HTML><HEAD><title>Profile Install</title>\
</HEAD><script> \
function load() { window.location.href='http://localhost:8000/load/';} \
var int=self.setTimeout(function(){load()},600); \
</script><BODY></BODY></HTML>"];
}
第一定時器加載Safari中的配置文件,然後第二重新定向到應用
- (void)handleMobileconfigLoadRequest:(RouteRequest *)request withResponse:(RouteResponse *)response
{
if (self.firstTime)
{
self.firstTime = FALSE;
NSData *mobileConfigFile = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://mobileconfigfileUrl"]];
[response setHeader:@"Content-Type" value:@"application/x-apple-aspen-config"];
[response respondWithData:mobileConfigFile];
}
else
{
[response setStatusCode:302];
[response setHeader:@"Location" value:@"CustomAppUrl://"];
}
}