【发布时间】:2015-06-30 23:38:16
【问题描述】:
Objective C/Swift 如何打开 Base64 url?
目前我正在尝试使用 Base64 网址请求 safari。它不工作。当我在 Mac safari verison 上执行这个特定的 url 时,它可以工作。
import UIKit
class ViewController: UIViewController {
@IBOutlet var NameText: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func homeScreen(sender: AnyObject) {
let name = self.NameText.text
var html = "<p>" + name + "</p>"
let plainData = (html as NSString).dataUsingEncoding(NSUTF8StringEncoding)
let base64String = plainData!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
let concat = "data:text/html;base64," + base64String
print(concat)
UIApplication.sharedApplication().openURL(NSURL(string: concat)!)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
目前,如果我输入名称“bob”,它会生成:data:text/html;base64,PHA+Ym9iPC9wPg==
基本上,我要做的是获取用户名并为其生成 HTML。但是这个特定的 URL 没有在移动 Safari 中打开。有谁知道为什么?
谢谢, 技术大师
P.S:我理解 Obj C 和 Swift。如果您有 Obj C 解决方案,请告诉我。
编辑:我只是尝试将 url "data:text/html;base64,PHA+Ym9iPC9wPg==" 手动输入到 safari 模拟器中并且它有效。但它仍然以编程方式不起作用。似乎 openURL 函数存在问题。有人知道吗?
编辑:我认为这可能与本地主机有关。但我不知道。
【问题讨论】:
标签: ios objective-c swift base64 mobile-safari