用于 kml 和文本文件的 UIActivityViewController
UIActivityViewController for a kml and text files
我使用以下代码在 iPhone 应用程序上保存几个文件。一个是带有经度和纬度列表的纯文本文件。第二个文件与 KML 代码相同,以显示具有相同坐标的地标。该代码可以按预期生成两个扩展名为 .txt 的文件。我想做的是生成两个不同的扩展名,.txt 用于纯文本文件,.kml 用于第二个。 .kml 扩展名的原因是能够在 iPhone 上的 Google 地球应用程序中显示这些坐标。任何帮助将不胜感激...
let activityViewController = UIActivityViewController(activityItems: [kml, locations], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)``
两个数组activityViewController分别包含kml和文本代码。
这是我解决问题的方法...我确信这不是最有效的方法,但它确实有效:-)。仍在寻找更有效的方法,因为此方法会生成一个临时文件,增加应用程序的开销...此外,用户必须保存文件两次,一次用于 kml,一次用于文本文件。所以无论如何,希望它能帮助别人。
let kmlFile = "soofie_loc.kml"
let tmpDir = FileManager.default.temporaryDirectory
var fileURL : URL?
fileURL = tmpDir.appendingPathComponent(kmlFile)
let data = Data(kml.utf8)
do {
try data.write(to: fileURL! , options: .atomic)
} catch {
print(error)
}
//let activityViewController = UIActivityViewController(activityItems: [kml, locations], applicationActivities: nil)
if ( !kmlOption ) {
let activityViewController = UIActivityViewController(activityItems: [locations], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)
}
else {
let activityViewController = UIActivityViewController(activityItems: [fileURL!], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)
}
我使用以下代码在 iPhone 应用程序上保存几个文件。一个是带有经度和纬度列表的纯文本文件。第二个文件与 KML 代码相同,以显示具有相同坐标的地标。该代码可以按预期生成两个扩展名为 .txt 的文件。我想做的是生成两个不同的扩展名,.txt 用于纯文本文件,.kml 用于第二个。 .kml 扩展名的原因是能够在 iPhone 上的 Google 地球应用程序中显示这些坐标。任何帮助将不胜感激...
let activityViewController = UIActivityViewController(activityItems: [kml, locations], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)``
两个数组activityViewController分别包含kml和文本代码。
这是我解决问题的方法...我确信这不是最有效的方法,但它确实有效:-)。仍在寻找更有效的方法,因为此方法会生成一个临时文件,增加应用程序的开销...此外,用户必须保存文件两次,一次用于 kml,一次用于文本文件。所以无论如何,希望它能帮助别人。
let kmlFile = "soofie_loc.kml"
let tmpDir = FileManager.default.temporaryDirectory
var fileURL : URL?
fileURL = tmpDir.appendingPathComponent(kmlFile)
let data = Data(kml.utf8)
do {
try data.write(to: fileURL! , options: .atomic)
} catch {
print(error)
}
//let activityViewController = UIActivityViewController(activityItems: [kml, locations], applicationActivities: nil)
if ( !kmlOption ) {
let activityViewController = UIActivityViewController(activityItems: [locations], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)
}
else {
let activityViewController = UIActivityViewController(activityItems: [fileURL!], applicationActivities: nil)
present(activityViewController, animated: true, completion: nil)
}