我正在尝试通过链接打开通知首选项窗格(在OS X SystemPreferences.app中).x-apple.systempreferences://到目前为止,前缀用于打开系统首选项应用程序,但我想直接打开通知窗格(在最好的情况下)甚至在列表中选择我的应用程序.
有没有人知道SystemPreferences.app是否通过其URL-Scheme打开时是否接受任何参数?
我已经尝试过x-apple.systempreferences://Notifications和x-apple.systempreferences://Notifications.prefPane,但额外的参数被忽略.
谢谢!
顺便说一句:是的,我知道我可以轻松打开Notifications.prefPane文件openFile:,但我想知道是否可以通过URL.
即时实现深层链接是iOS。我已经在 Project-Setting->Info->Url type URL Schemes 中配置了 URL Schemes : carwash role:Viewer
当我输入 carwash://something 时,浏览器要求打开应用程序,但在应用程序中没有调用我处理应该发生的操作。
苹果文档说你应该在 AppDelegate 中覆盖 application(open url) 但深层链接不调用它并且应用程序在最后状态打开
application:openURL:options:' 未被调用
这是我的代码并且不起作用
func application(_ app: UIApplication, open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
fatalError()
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
if let url = launchOptions?[UIApplication.LaunchOptionsKey.url] as? URL {
/// some
fatalError()
}
GMSServices.provideAPIKey("")
return true
}
Run Code Online (Sandbox Code Playgroud)
swift 5 模拟器:iOS 13
我刚刚意识到Facebook URI方案发布功能不再起作用了.它打开了Facebook应用程序,但仅此而已.有没有办法通过URI方案发布内容?
你可以在下面找到我的代码.
NSString *post = [NSString stringWithFormat:@"fb://publish/profile/me?text=foo"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:post]];
Run Code Online (Sandbox Code Playgroud) 我有一个简单的Greasemonkey脚本:
// ==UserScript==
// @name hello
// @namespace http://www.webmonkey.com
// @description A test of accessing documents using file:// protocol
// @include http* file*
// @grant none
// ==/UserScript==
alert("hi");
Run Code Online (Sandbox Code Playgroud)
只要URL具有以下形式,它就可以正常工作http://...如何让脚本在表单的URL上运行file://...?
在"用户设置"部分中,我有http://*和file://*作为包含的页面,在"脚本设置"部分中,我http* file*在"包含的页面"框中.
我想打开我的iOS应用程序,类似于如何在Android上完成,即使用特定的网址而不是自定义URL协议.
这是它在Android上的工作方式.该reddit的是有趣的应用程序就是一个很好的例子:
我一直在尝试在Apple iOS URL Schemes上找到参考资料,但到目前为止我发现的所有内容都表明你需要有一个自定义URL协议,并且你不能使用http://.你必须使用像'reddit://'这样的东西.
将实际Web地址指定为URL方案的好处是,如果您没有Reddit是Fun应用程序,浏览器将自动打开页面,这将是一个很好的后备.如果您使用iOS中的自定义URL协议,如果您的设备未安装该应用,则无法回退.没有迹象表明它失败了.没有迹象表明它试图做任何事情.
有没有人知道以这种方式打开应用程序的方法?例如,点击" http://reddit.com/ "链接是否可以打开reddit应用程序?
编辑:我发现非常有趣的是iOS已经在某种程度上支持YouTube链接.
编辑:看起来没有办法在iOS上完全按照我的意愿行事.但是,这篇文章对如何做有一些很好的建议.我希望自2009年以来情况会发生变化.
场景:
一个Web应用程序,一旦新用户完成注册,将发送一封电子邮件,其中包含一个曾在iOS设备中点击的URL,iOS应用程序将启动.此方案是使用户使用移动应用程序的经典方案.
在实现它时(使用URL方案),我们开始想知道这种方法有多安全?从理论上讲 - 恶意应用程序可以注册相同的URL方案,并且根据Apple的说法:
注意:如果多个第三方应用程序注册以处理相同的URL方案,则目前没有确定将为该方案提供哪个应用程序的过程.
在这种情况下,如果用户正在点击电子邮件中的网址,则不知道将启动两个(或更多应用)中的哪一个(我们的或恶意的).让我们说一个不同的应用程序正在推出 - 如果它真的是恶意的,理论上它可以模仿我们的应用程序的登录页面并获取用户的凭据.
是否有处理此类情况的最佳做法?我已经阅读了很多关于这个问题的文章,他们都声称唯一的解决方案是等待Apple使这些网址方案独一无二. example1, example2
如果存在,我很想听听有关问题的任何解决方案,提前谢谢!
如果我有Facebook帖子的ID,我如何在原生Facebook应用程序中打开它?我可以使用[UIApplication sharedApplication]打开链接,但我无法想出正确的URL方案.例如,fb:// profile/pidhere可以打开配置文件,但我无法弄清楚如何打开单个帖子.谢谢你!
您好我想从我的应用程序打开电子邮件程序,并且已经定义了正文.我可以打开电子邮件但不知道如何将eMail的主体定义为给定的参数以显示给定的标准文本.有人可以帮忙吗?继承人我用来打开电子邮件的代码:
//EMAIL
let email = "foo@bar.com"
let urlEMail = NSURL(string: "mailto:\(email)")
if UIApplication.sharedApplication().canOpenURL(urlEMail!) {
UIApplication.sharedApplication().openURL(urlEMail!)
} else {
print("Ups")
}
Run Code Online (Sandbox Code Playgroud) 我想myscheme://foo通过我的应用程序像在任何浏览器中一样处理查询myscheme.exe。
据我了解,解决方案将取决于所使用操作系统的版本。对于旧操作系统(直到 Windows 7),只需将记录保存在注册表中:
HKEY_CLASSES_ROOT
myscheme
(Default) = "URL:Myscheme Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "myscheme.exe,1"
shell
open
command
(Default) = "C:\Program Files\Myscheme\myscheme.exe" "%1"
Run Code Online (Sandbox Code Playgroud)
不幸的是,将应用程序注册到 URI 方案声明这种方式已被弃用。我不应该再使用这个 API。页面上的推荐版本microsoft-edge(它不包含有关它的信息)!!!
于是,我开始研究它windows 8。我遇到了文件类型和 URI 关联模型,它说在Windows 8应用程序中不再能够以编程方式将自己设置为文件类型或 URI 的默认处理程序。据我所知,新架构使用通知系统,用户通过特殊提示控制默认应用程序。但是默认程序说它对 Windows 10 不再有效(探索参考已经死了!)。
那么,如何在 Windows 10 中正确处理自定义协议呢?不幸的是,Windows 的文档很糟糕。那么不同版本的操作系统呢?我应该对不同的版本使用不同的技术吗?
PS请不要将此问题标记为重复。其他问题,例如如何在 Windows 中注册自定义 URL 协议?,如何创建自己的 URL 协议?(例如:so://...)提出已弃用的解决方案。
对不起,我的英语不好。
所以我有两个如下所示的 URL 方案,myapp:\\我myapp-dev:\\在下面添加了{MyTarget} > Info > URL Types它们,我需要它们中的每一个来打开相应的应用程序(第一个用于发布,另一个用于调试)。有什么办法可以做到这一点吗?
url-scheme ×10
ios ×5
android ×2
facebook ×2
swift ×2
xcode ×2
cocoa ×1
custom-url ×1
deep-linking ×1
email ×1
filepath ×1
greasemonkey ×1
iphone ×1
macos ×1
phishing ×1
protocols ×1
security ×1
winapi ×1
windows ×1