【问题标题】:Get parameter from URL Scheme - Swift Xcode从 URL Scheme 获取参数 - Swift Xcode
【发布时间】:2016-03-16 09:53:30
【问题描述】:

我在Info.plist 中创建了一个 URL 方案来调用我的应用程序,但该 URL 还解析了我需要读取的数据字符串。

看了一会发现 - http://www.informit.com/articles/article.aspx?p=2301787&seqNum=2

使用以下代码

var scheme: String!
var path: String!

var query: String!

func application(app: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {

  scheme = url.scheme
  path = url.path
  query = url.query

  return true
}

假设每当我通过 URL 调用应用程序时都会调用该函数,但是该函数永远不会被调用,而且我无法想象如果我确实将它放入了 viewDidLoad 中,我将不得不将它放入viewDidLoad 每次应用启动时都会调用它。

我是否错了,我假设 - 该函数不需要在 viewDidLoad 中调用,或者是否有更好的方法使用 Info.plist 从 URL 方案获取数据来创建方案

【问题讨论】:

  • 此方法已弃用尝试使用 - application:openURL:options:
  • 我已经编写了注册 URL 方案的分步演练(但在 Objective-C 中),这显示了如何启动“应用程序”功能:mikesknowledgebase.com/pages/XCode/CustomURLs.htm跨度>
  • @Johnykutty 好的,我会改为实现它并在我这样做后更新我的问题,谢谢 :)
  • @Johnykutty 我已经编辑了我的问题,类似的?
  • @Johnykutty the application:openURL:options 也不起作用

标签: ios swift url-scheme viewdidload info.plist


【解决方案1】:
var scheme: String!
var path: String!

var query: String!

func application(app: UIApplication, openURL url: NSURL, options: [String: AnyObject]) -> Bool {

  scheme = url.scheme
  path = url.path
  query = url.query

  return true
}

需要在 AppDelegate.Swift 中,然后您可以通过以下方式在视图控制器中访问它 -

var appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate;

然后你可以调用一个变量 -

var something = pathScheme.appDelegate;

【讨论】:

  • 干得好!谢谢!我正在努力解决同样的问题:D
猜你喜欢
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2014-05-12
  • 2016-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多