前提・実現したいこと
SwiftでLINEに透過するGIF画像を共有するアプリを作成しております。
発生している問題・エラーメッセージ
ところが一旦LINEで共有されると透過するGIF画像ではない jpg画像形式で共有されてしまいます。原因はなんなのでしょうか。 Androidでは問題なくできております。 LINEで透過するGIF画像を共有することができるのでしたらば、他の方法でもかまいませんので、ご教示いただければ幸いです。
該当のソースコード
func onShareLine(call: FlutterMethodCall, result: @escaping FlutterResult) {
var path: String?
if let args = call.arguments as? [ String: Any ] {
path = args["path"] as? String
}
if !FileManager.default.fileExists(atPath: path ?? "") {
result(FlutterError(code: "300", message: "ファイルが存在しません。", details: nil))
return
}
guard let path = path else {return}
do {
let imageData = try Data(contentsOf: URL(fileURLWithPath: path))
let pasteboard = UIPasteboard.general
let forPasteboardType = "com.compuserve.gif"
pasteboard.setData(imageData, forPasteboardType: forPasteboardType)
let name = pasteboard.name.rawValue as String
let urlSheme = "line://msg/image/\(name)"
if let url = URL(string: urlSheme), UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
result("success")
return
}
else {
if let url = URL(string: "itms-apps://itunes.apple.com/app/id443904275"), UIApplication.shared.canOpenURL(url) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
else {
UIApplication.shared.openURL(url)
}
result("success")
return
}
}
result(FlutterError(code: "100", message: nil, details: nil))
}
catch {
result(FlutterError(code: "400", message: error.localizedDescription, details: nil))
}
}
試したこと
補足情報(FW/ツールのバージョンなど)
Similar posts