Ios 在深度链接参数中以字符串形式传递图像
我知道我们可以在深度链接URL中传递键/值对。但是我们可以将图像作为字符串作为特定键的值传递吗?我知道通过共享容器进行应用程序间通信。在我的例子中,有一个由我们创建的框架,其他开发者可以将它集成到他们的应用程序中。通过该框架,用户可以向我们的应用程序发送一个图像(如果已安装)。所以共享容器在这里不起作用。 任何帮助都将不胜感激 url的长度有限制吗?Ios 在深度链接参数中以字符串形式传递图像,ios,objective-c,deep-linking,Ios,Objective C,Deep Linking,我知道我们可以在深度链接URL中传递键/值对。但是我们可以将图像作为字符串作为特定键的值传递吗?我知道通过共享容器进行应用程序间通信。在我的例子中,有一个由我们创建的框架,其他开发者可以将它集成到他们的应用程序中。通过该框架,用户可以向我们的应用程序发送一个图像(如果已安装)。所以共享容器在这里不起作用。 任何帮助都将不胜感激 url的长度有限制吗? 谢谢从源应用程序传递base64StrImage func gotToApp() { let data = UIImagePNGRepre
谢谢从源应用程序传递
base64StrImage
func gotToApp() {
let data = UIImagePNGRepresentation(#imageLiteral(resourceName: "img"))
let base64Str = data!.base64EncodedString()
if UIApplication.shared.canOpenURL(URL(string: "deep://")!) {
UIApplication.shared.open(URL(string: "deep://?img=\(base64Str)")!, options: ["img": #imageLiteral(resourceName: "img")]) { (finish) in
}
}
}
在目标应用程序中获取图像
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print(url.queryParameters!["img"])
return true
}
extension URL {
public var queryParameters: [String: String]? {
guard let components = URLComponents(url: self, resolvingAgainstBaseURL: true), let queryItems = components.queryItems else {
return nil
}
var parameters = [String: String]()
for item in queryItems {
parameters[item.name] = item.value
}
return parameters
}
}
url的长度有限制吗?我更关心的是,这是否也是正确的方法。这是没有限制的。您可以查看Apple docs以了解更多信息。我曾试图查找有关Apple docs限制的信息,但未能找到。如果你能给我指一下链接,我会的helpful@MuhammadZohaibEhsan它可能会帮助你@MuhammadZohaibEhsan我通过了base64Str。它包含超过5000个字符。它的工作魅力。