动态更改应用程序CFBundleURLScheme plist条目(编译后)

时间:2011-06-09 21:01:12

标签: iphone ios plist

我正在尝试创建一个iPhone应用程序来处理我将通过查询服务器动态确定的各种URL方案。

是否可以通过编程方式注册自定义网址方案?换句话说,您可以在编译/部署应用程序后更新CFBundleURLScheme plist条目吗?

我无法在其他地方找到任何这方面的例子,但我也找不到任何可能无法解决的明确理由。

非常感谢。

3 个答案:

答案 0 :(得分:1)

对不起,没有办法。您无法以编程方式注册自定义URL方案。您也无法编辑Info.plist,应用程序包在iPhone上是只读的。

答案 1 :(得分:0)

以下是我为Swift解决的问题:

var plistPath = NSBundle.mainBundle().pathForResource("Info", ofType: "plist")

var urlStuff = NSMutableDictionary(contentsOfFile: plistPath!)
var urlType = NSDictionary(objectsAndKeys: "com.appprefix.AppName", "CFBundleURLName", NSArray(object: "idofobject"), "CFBundleURLSchemes")
urlStuff?.setObject(NSArray(object: urlType), forKey: "CFBundleURLTypes")
urlStuff?.writeToFile(plistPath!, atomically: true)

答案 2 :(得分:0)

2021 年的新答案

现在可以在使用一些脚本编译您的应用之前编辑您的 Info.plist。

你可以参考这篇文章:Add/Replace URL Scheme in Info.plist using bash script