我正在尝试创建一个iPhone应用程序来处理我将通过查询服务器动态确定的各种URL方案。
是否可以通过编程方式注册自定义网址方案?换句话说,您可以在编译/部署应用程序后更新CFBundleURLScheme plist条目吗?
我无法在其他地方找到任何这方面的例子,但我也找不到任何可能无法解决的明确理由。
非常感谢。
答案 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