第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在iPhone上安裝配置文件 - 以編程方式

在iPhone上安裝配置文件 - 以編程方式

不負(fù)相思意 2019-08-15 16:12:56
在iPhone上安裝配置文件 - 以編程方式我想用我的iPhone應(yīng)用程序發(fā)送配置文件,并在需要時(shí)安裝它。請(qǐng)注意,我們談?wù)摰氖桥渲梦募?,而不是配置文件。首先,這樣的任務(wù)是可能的。如果您在網(wǎng)頁(yè)上放置配置文件并從Safari中單擊它,它將被安裝。如果您通過(guò)電子郵件發(fā)送配置文件并單擊附件,它也將安裝。在這種情況下,“已安裝”意味著“調(diào)用安裝UI” - 但我甚至無(wú)法做到這一點(diǎn)。所以我的理論是,啟動(dòng)配置文件安裝涉及以URL的形式導(dǎo)航到它。我將個(gè)人資料添加到了我的應(yīng)用包中。A)首先,我嘗試將[sharedApp openURL]與file:// URL一起放入我的包中。沒(méi)有這樣的運(yùn)氣 - 什么都沒(méi)發(fā)生B)然后我在我的包中添加了一個(gè)HTML頁(yè)面,其中包含指向配置文件的鏈接,并將其加載到UIWebView中。點(diǎn)擊鏈接什么都不做。但是,從Safari中的Web服務(wù)器加載相同的頁(yè)面可以正常工作 - 鏈接是可點(diǎn)擊的,配置文件會(huì)安裝。我提供了一個(gè)UIWebViewDelegate,對(duì)每個(gè)導(dǎo)航請(qǐng)求回答“是” - 沒(méi)有區(qū)別。C)然后我嘗試從我的包中加載相同的網(wǎng)頁(yè)在Safari中(使用[sharedApp openURL] - 沒(méi)有任何反應(yīng)。我猜,Safari無(wú)法看到我的應(yīng)用包內(nèi)的文件。D)在Web服務(wù)器上上傳頁(yè)面和配置文件是可行的,但在組織層面上卻很痛苦,更不用說(shuō)額外的故障源(如果沒(méi)有3G覆蓋等等)。所以我的重要問(wèn)題是:**如何以編程方式安裝配置文件?小問(wèn)題是:什么可以使UIWebView中的鏈接不可點(diǎn)擊?是否可以在Safari中從我的包中加載file:// URL ?如果沒(méi)有,iPhone上是否有本地位置可以放置文件,Safari可以找到它們?編輯B):?jiǎn)栴}是某種程度上我們正在鏈接到個(gè)人資料。我將它從.mobileconfig重命名為.xml(因?yàn)樗娴氖荴ML),改變了鏈接。這個(gè)鏈接在我的UIWebView中工作。重新命名 - 同樣的東西??雌饋?lái)UIWebView似乎不愿意做應(yīng)用程序范圍的事情 - 因?yàn)榘惭b配置文件會(huì)關(guān)閉應(yīng)用程序。我嘗試通過(guò)UIWebViewDelegate告訴它沒(méi)關(guān)系 - 但這并沒(méi)有讓人信服。mailto的相同行為:UIWebView中的URL。對(duì)于mailto: URL,常見(jiàn)的技巧是將它們轉(zhuǎn)換為[openURL]調(diào)用,但這對(duì)我的情況并不適用,請(qǐng)參閱方案A.對(duì)于itms:URL,然而,UIWebView按預(yù)期工作...EDIT2:嘗試通過(guò)[openURL]向Safari提供數(shù)據(jù)URL - 不起作用EDIT3:發(fā)現(xiàn)了很多關(guān)于Safari如何不支持file:// URL的信息。然而,UIWebView非常有用。此外,模擬器上的Safari打開(kāi)它們就好了。后一點(diǎn)是最令人沮喪的。編輯4:我從未找到解決方案。相反,我整理了一個(gè)兩位的Web界面,用戶(hù)可以通過(guò)電子郵件訂購(gòu)配置文件。
查看完整描述

3 回答

?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊

malinois的答案對(duì)我有用,但是,我想要一個(gè)在用戶(hù)安裝mobileconfig后自動(dòng)返回應(yīng)用程序的解決方案。

這花了我4個(gè)小時(shí),但這里是解決方案,建立在malinois的想法,即擁有一個(gè)本地的http服務(wù)器:你將HTML返回到自我更新的safari; 第一次服務(wù)器返回mobileconfig,第二次返回自定義url-scheme以返回到您的應(yīng)用程序。用戶(hù)體驗(yàn)是我想要的:應(yīng)用程序調(diào)用safari,safari打開(kāi)mobileconfig,當(dāng)用戶(hù)在mobileconfig上點(diǎn)擊“完成”,然后safari再次加載你的應(yīng)用程序(自定義網(wǎng)址方案)。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    // Override point for customization after application launch.
    _httpServer = [[RoutingHTTPServer alloc] init];
    [_httpServer setPort:8000];                               // TODO: make sure this port isn't already in use
    _firstTime = TRUE;
    [_httpServer handleMethod:@"GET" withPath:@"/start" target:self selector:@selector(handleMobileconfigRootRequest:withResponse:)];
    [_httpServer handleMethod:@"GET" withPath:@"/load" target:self selector:@selector(handleMobileconfigLoadRequest:withResponse:)];

    NSMutableString* path = [NSMutableString stringWithString:[[NSBundle mainBundle] bundlePath]];
    [path appendString:@"/your.mobileconfig"];
    _mobileconfigData = [NSData dataWithContentsOfFile:path];

    [_httpServer start:NULL];

    return YES;}- (void)handleMobileconfigRootRequest:(RouteRequest *)request withResponse:(RouteResponse *)response {
    NSLog(@"handleMobileconfigRootRequest");
    [response respondWithString:@"<HTML><HEAD><title>Profile Install</title>\     </HEAD><script> \
     function load() { window.location.href='http://localhost:8000/load/'; } \     var int=self.setInterval(function(){load()},400); \     </script><BODY></BODY></HTML>"];
}

- (void)handleMobileconfigLoadRequest:(RouteRequest *)request withResponse:(RouteResponse *)response {
    if( _firstTime ) {
        NSLog(@"handleMobileconfigLoadRequest, first time");
        _firstTime = FALSE;

        [response setHeader:@"Content-Type" value:@"application/x-apple-aspen-config"];
        [response respondWithData:_mobileconfigData];
    } else {
        NSLog(@"handleMobileconfigLoadRequest, NOT first time");
        [response setStatusCode:302]; // or 301
        [response setHeader:@"Location" value:@"yourapp://custom/scheme"];    }}

...這里是從app調(diào)用的代碼(即viewcontroller):

[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://localhost:8000/start/"]];

希望這有助于某人。


查看完整回答
反對(duì) 回復(fù) 2019-08-15
  • 3 回答
  • 0 關(guān)注
  • 1010 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)