• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 如何在 Xcode 中从 UIActivityViewController 共享用户位置

[复制链接]
菜鸟教程小白 发表于 2022-12-13 11:19:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我知道如何共享其他对象,例如图像、网址、字符串或其他。但我不知道如何从 UIActivityViewController 共享当前位置。 我试过了

    @IBAction func sendLocation(sender: UIBarButtonItem) {
    if mapView.userLocationVisible {
        let currentCoordinate = mapView.userLocation.location!
        print(currentCoordinate)
        let arrayLocation = [currentCoordinate]

        let activityController = UIActivityViewController(activityItems: arrayLocation, applicationActivities: nil)
        presentViewController(activityController, animated: true, completion: nil)
    } else {
        print("User location is not visible")
    }
}

但我在控制台中看到 <+53.09618071,+49.96449468> +/- 20.00m(速度 0.00 mps/路线 -1.00)@ 2015 年 10 月 11 日,萨马拉标准时间下午 1:54:26UIActivityViewController 不共享任何位置。请帮帮我。



Best Answer-推荐答案


        @IBAction func shareLocation(sender: UIBarButtonItem) {
//        print(receivedDictionary)
        let postalAdress = CNMutablePostalAddress()
        postalAdress.street = receivedDictionary["Name"] as! String
        postalAdress.city = receivedDictionary["City"] as! String
        postalAdress.state = receivedDictionary["State"] as! String
        postalAdress.postalCode = receivedDictionary["ZIP"] as! String
        postalAdress.country = receivedDictionary["Country"] as! String
        postalAdress.ISOCountryCode = receivedDictionary["CountryCode"] as! String

        let streetName = receivedDictionary["Name"] as! String

        let urlAddress = receivedDictionary["FormattedAddressLines"] as! [String]
//        print(urlAddress)
        let postalContact = CNLabeledValue(label: streetName, value: postalAdress)
        let urlAddressContact = CNLabeledValue(label: "map url", value: "http://maps.apple.com/maps?address=\(urlAddress.description)")

        let contact = CNMutableContact()
        contact.contactType = .Organization
        contact.organizationName = streetName
        contact.departmentName = streetName
        contact.postalAddresses = [postalContact]
        contact.urlAddresses = [urlAddressContact]

        // create path

        let directory = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)

        let path = directory.first!.path!.stringByAppendingString("/\(streetName).loc.vcf")
//        print(path)

        do {
            let contactData = try CNContactVCardSerialization.dataWithContacts([contact])

            contactData.writeToFile(path, atomically: true)

            let url = NSURL(fileURLWithPath: path)
//            print(url)
            let activityViewController = UIActivityViewController(activityItems: [url], applicationActivities: nil)
            presentViewController(activityViewController, animated: true, completion: nil)
        } catch {
            print("CNContactVCardSerialization cannot save address")
        }
    }

关于ios - 如何在 Xcode 中从 UIActivityViewController 共享用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33063717/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap