Tag: openurl

openURL本地文件或强制UIDocumentInteractionController使用特定的应用程序

我希望打开一个文件(本地存储在我的应用程序)与另一个应用程序。 目前,我正在使用openURL(有一个专门的urlscheme),它工作正常,如果我使用托pipe在互联网上的文件,但我想使用本地文件,所以:a)离线工作b)很多我的用户的时间超出了小区覆盖范围,或漫游国际 我到目前为止所尝试的:我没有任何运气告诉openURL使用本地文件,我已经尝试了一些方法,但他们都是这样的 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"ext"]; NSURL *fileURL = [NSURL fileURLWithPath:filePath]; [[UIApplication sharedApplication] openURL:fileURL]; 也 NSURL *fileURL = [[NSBundle mainBundle] URLForResource: @"test" withExtension:@"ext"]; [[UIApplication sharedApplication] openURL:fileURL]; 还要手动使用不同版本的localhost /和file://和var / mobile等path的string 没有任何工作(反正我) 所以,我环顾四周,并遇到UIDocumentInteractionController 我可以使用UIDocumentInteractionController让用户打开我的本地文件与其他应用程序 – 但它总是提供其他应用程序使用的多个选项,例如,其中一个应用程序可以是“Dropbox”。 我不想让用户以其他方式下载(或在技术上上传)我的文件的副本。 它包含我不希望如此容易获得的数据。 当我的应用程序打开文件(不是由我btw),它不允许任何forms的保存或访问原始数据。 我意识到,通过在我的应用程序中包含文件,任何认真的获得它的人都可以,我只是不想闪动一个大的菜单,说'这是如果你想要你自己的副本做衍生工作' 理想情况下,我可以使用openURL,但我认为这是因为“沙盒”,其他应用程序没有响应 – 在Android中,我使用mode_world_readable来声明该文件可以被其他应用程序读取(因此放置在沙箱外)不允许其他应用程序写入,只是阅读) – 是否有与iOS一样的做法? 否则,如果我可以强制UIDocumentInteractionController使用特定的应用程序,而不是呈现菜单 – 这也可以。 前一个类似的问题 对于长阅读抱歉,任何帮助表示赞赏。 编辑:我刚刚收到来自苹果技术支持的答案,他们告诉我,目前这是不可能的(就在iOS 6发布后)

如何链接到我们的应用程序的更新页面

如果用户运行过时的版本,我们会提示用户升级他们的应用程序。 当用户点击我们的更新button,我使用openURL的地址itms://itunes.apple.com/us/app/our-app-title/id12345?mt=8加载App Store应用程序的列表为我们的应用程序。 然而,用这种方法,结果屏幕上有一个标记为“打开”而不是“更新”的button。 如果用户先打开App Store应用程序,然后导航到我们应用程序的列表(或转到更新选项卡),则该button标记为“更新”。 我可以在openURL调用中将当前版本作为查询stringparameter passing,还是有另一种方法来确保显示“更新”button? 我找不到目前的文件如何做到这一点。 (我find的所有东西都是几岁,指的是停止使用的phobos工具。)

将身份validation令牌从iOS应用程序发送到Safari

我的应用程序中有一些URL,通过openURL API将用户带到Safari浏览器。 我的目标是从应用程序发送身份validation令牌到Safari,以便用户将使用此令牌login。 我们的服务器要求将此票据作为标题信息的一部分发送。 有没有可能发送自定义标题与NSURL? 我已经检查了下面的链接,它讨论了查询组件,但是服务器没有处理它,他们更喜欢不同的解决scheme。 Android在外部浏览器中打开URL时有可能发送额外的头文件,所以现在每个人都在iOS上:-)。 在Safari中打开NSURLRequest 身份validation令牌保存在共享钥匙串中,Safari可以访问吗? 什么是推荐的解决scheme? 我是否需要使用共享Web凭证 ? 在这种情况下,我相信很多工作要做。 我没有用过

在iOS(Facebook和Instagram)中处理不同的URLscheme

我甚至不知道如何定义这个问题,但是在这里呢。 我有一个使用Facebook SDK进行用户login的应用程序。 我遵循Facebook授权教程。 我不是100%确定它是如何工作的,但是这个部分在我的“AppDelegate.m”中似乎很重要。 – (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [FBSession.activeSession handleOpenURL:url]; } 到现在为止还挺好。 现在我想实现一个类似的Instagramlogin,以便用户可以访问他们的照片。 我运行这个例子没有问题( https://github.com/crino/instagram-ios-sdk )。 当我试图将其导入到我的项目中时,我卡住了。 因为在Instagram项目中,AppDelegate中还有一个函数(IGAppDelegate) -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [self.instagram handleOpenURL:url]; } 现在我不能使用这个function(因为它是Facebook的一个重复)有没有办法将这两个函数结合Facebook和Instagram(也许与“如果”不同的url)。 还是我输了 PS:我注意到,当我打电话给我的Facebooklogin应用程序的url是类似的 fb4333597123414933 :// authorize /#access_token = BAAGKI2vHLxUBANbDegkrdoc4GJWUZC2clqLAzxz8IxEBZBdEyjrD2oTaGZA0g2AbSGWgvEhONKM6xJWzLCALGUBguqUpor6kXu9ZBewusNZCUe6BXXVX&expires_in = 5166254 在instagram它是这样的: igfd725621c5e44198a5b8ad3f7a0ffa09 ://authorize#access_token=354172840.fd72562.bf6b3611632d4d00b6cef660ea9d9b6f

调用openURL后,iOS 9.3冻结

在iOS 9.3上调用openURL后,我的应用程序冻结了13E233&13E234。 我尝试使用dispatch_after但是没有解决问题。 这是代码,没什么特别的。 + (void)someMethod:(UIView *)senderView { [Utility showLoadingHUDWithText:nil inView:senderView]; [[SomeClient sharedClient] someNetworkAPI:^(id result) { [Utility hideAllHUDsForView:senderView]; NSDictionary *dict = (NSDictionary *)result; NSString *someString = dict[@"someKey"]; NSURL *url = [NSURL URLWithString:someString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url]; } } fail:^(NSError *error) { [Utility hideAllHUDsForView:senderView]; [Utility showMessageHUD:error.localizedDescription]; }]; } 这似乎是一个iOS的错误,也影响了许多其他的应用程序。

ios 8 openUrl itms-services不会退出当前的应用程序

在iOS 6或7中,当我使用itms-services://XXXX的URL调用UIApplication openUrl来安装应用程序的新版本(使用带有ipa文件的企业部署)时,应用程序退出到主屏幕。 在iOS 8中,这不再是这种情况。 现在应用程序继续运行,就像没有任何事情发生一样,但是如果我进入主屏幕,我可以看到我的应用程序图标变成灰色,下载约66%的饼图和下面的文本"Downloading…" 。 如果我现在等待一段时间(不到一分钟),应用程序安装正确,我可以再次启动我的应用程序。 有没有其他人经历过这种行为? 有没有人看到有关此文件? 只要有logging,我可以接受行为改变,但是我没有看到有关这方面的任何文件。

iOS应用程序可以在不打开页面的情况下切换到Safari?

我知道我的应用程序可以通过执行以下操作在Safari中打开特定的URL: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.example.com/"]]; 但是,有没有办法让我的应用程序切换到Safari, 而无需打开一个URL? 我想切换到Safari,但让它继续显示上次用户查看它打开的任何页面。

OpenURL在iOS10

所以显然OpenURL已经在iOS 10中折旧了。有没有人有任何文档说明为什么或可以解释下一步该做什么? 我已经查看了苹果网站,发现了一些与OpenURL有关的事情,这就是他们现在所说的: UIApplication.shared().open(url: URL, options: [String: AnyObject], completionHandler: ((Bool) -> Void)?) 有没有人有任何证据certificate这是在Swift 3.0中使用OpenURL的新方法? 另外在options:和completionHandler:参数中分别使用了什么值?

在iOS 10.3上使用tel:// scheme拨打电话号码时提示

更新到10.3后,我的应用程序不再使用openURL:options:completionHandler:方法在应用程序中按下通话button后自动拨打一个电话号码。 相反,每次都会出现提示以确认用户的意图。 根据Apple文档: 电话urlscheme用于启动iOS设备上的电话应用程序,并启动拨打指定的电话号码。 当用户点击网页中的电话链接时,iOS会显示一个提示,询问用户是否真的想拨打电话号码,并在用户接受时启动拨号。 当用户使用本地应用程序中的telscheme打开URL时,iOS不会显示警报并启动拨号,而不会进一步提示用户。 但是,可以将本机应用程序configuration为显示自己的警报。 据此,提示显示网页,但不显示在本机iOS应用程序。 这可能是10.3中的一个错误吗? 还是有一个新的function,我需要使用或新的属性,包括在info.plist我不知道? 谢谢。