gpt4 book ai didi

ios - Objective C/Swift 如何打开 base64 url​​?

转载 作者:行者123 更新时间:2023-11-28 09:04:37 29 4
gpt4 key购买 nike

Objective 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.
}


}

目前,如果我输入名称“bob”,它会生成:data:text/html;base64,PHA+Ym9iPC9wPg==

基本上我想做的是获取用户名并为其生成 HTML。但此特定 URL 未在移动版 Safari 中打开。有谁知道为什么吗?

谢谢,DaTechnoGuru

P.S:我理解 Obj C 和 Swift。如果您有 Obj C 解决方案,请告诉我。

编辑:我只是尝试将 url“data:text/html;base64,PHA+Ym9iPC9wPg==”手动输入到 safari 模拟器中,它成功了。但它仍然无法以编程方式工作。似乎 openURL 功能存在问题。有人知道吗?

编辑:我认为这可能与本地主机有关。但我不知道。

最佳答案

要打开 safari,URL 需要以协议(protocol) ie 开头。 http://此处有 Apple 文档中支持的协议(protocol)列表:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/#//apple_ref/occ/instm/UIApplication/openURL:其中包括 http、https、tel、facetime 和 mailto 方案。

我试过你的代码并在字符串前面添加了协议(protocol)。它带我去 safari ok。

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

关于ios - Objective C/Swift 如何打开 base64 url​​?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31150302/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com