Ios 目标C/Swift如何打开base64 url?

Ios 目标C/Swift如何打开base64 url?,ios,objective-c,swift,base64,mobile-safari,Ios,Objective C,Swift,Base64,Mobile Safari,目标C/Swift如何打开Base64 url 目前我正在尝试使用Base64 url请求safari。它不起作用。当我在Mac safari verison上执行此特定url时,它会工作 import UIKit class ViewController: UIViewController { @IBOutlet var NameText: UITextField! override func viewDidLoad() { super.viewDidLoad() } @IBA

目标C/Swift如何打开Base64 url

目前我正在尝试使用Base64 url请求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.
}


}
导入UIKit
类ViewController:UIViewController{
@IBOutlet var NameText:UITextField!
重写func viewDidLoad(){
super.viewDidLoad()
}
@iAction func主屏幕(发件人:AnyObject){
让name=self.NameText.text
var html=“”+name+”

“ 让plainData=(html作为NSString).dataUsingEncoding(NSUTF8StringEncoding) 让base64String=plainData!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(原始值:0)) 让concat=“data:text/html;base64,”+base64String 打印(concat) UIApplication.sharedApplication().openURL(NSURL(字符串:concat)!) } 重写函数didReceiveMemoryWarning(){ 超级。我收到了记忆警告() //处置所有可以重新创建的资源。 } }
当前,如果我输入名称“bob”,它将生成:data:text/html;base64,PHA+Ym9iPC9wPg==

基本上,我尝试做的是获取一个用户名并为其生成一个HTML。但这个特定的URL并没有在mobile Safari中打开。有人知道为什么吗

谢谢, DaTechnoGuru

附言:我理解Obj C和Swift。如果您有Obj C解决方案,请让我知道

编辑:我只是尝试手动将url“data:text/html;base64,PHA+Ym9iPC9wPg==”输入safari模拟器,结果成功了。但它在编程上仍然不起作用。似乎openURL函数存在问题。有人知道这件事吗


编辑:我认为这可能与localhost有关。但我不知道。

要打开safari,URL需要以协议(即http:// 这里有Apple文档中支持的协议列表:包括http、https、tel、facetime和mailto方案

我试着编写代码并在字符串前面添加了协议。它带我去野生动物园

let concat = "http://data:text/html;base64," + base64String

要打开safari,URL需要以协议(即http)开头:// 这里有Apple文档中支持的协议列表:包括http、https、tel、facetime和mailto方案

我试着编写代码并在字符串前面添加了协议。它带我去野生动物园

let concat = "http://data:text/html;base64," + base64String

谢谢,这让我去了safari,但它没有运行编码html的内容。不使用应用程序,url(不使用http协议)工作正常。谢谢,这让我去了safari,但它没有运行编码html的内容。如果不使用应用程序,url(不使用http协议)工作正常。