我想创建一个iPhone应用程序,将处理各种URL方案,我将动态地确定通过查询服务器。动态变化的应用CFBundleURLScheme的plist条目(编译之后)
是否有可能通过编程自定义URL方案登记?换句话说,在编译/部署应用程序之后,您是否可以更新CFBundleURLScheme plist项?
我一直没能找到这所做过的任何例子,但也可以找到任何明确的原因,这是不可能的。
非常感谢。
我想创建一个iPhone应用程序,将处理各种URL方案,我将动态地确定通过查询服务器。动态变化的应用CFBundleURLScheme的plist条目(编译之后)
是否有可能通过编程自定义URL方案登记?换句话说,在编译/部署应用程序之后,您是否可以更新CFBundleURLScheme plist项?
我一直没能找到这所做过的任何例子,但也可以找到任何明确的原因,这是不可能的。
非常感谢。
对不起,没有办法。您无法以编程方式注册自定义网址方案。您也无法编辑您的Info.plist,应用程序包在iPhone上是只读的。
这是我如何解决它斯威夫特:
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)
感谢ckruse,我预期的一样多,只是想一些验证。 – James 2011-06-11 11:14:58