Динамическая длинная ссылка Firebase, не доступная для iOS - PullRequest
0 голосов
/ 07 июня 2019

У меня есть ссылка для обмена, которая содержит французский символ с использованием глубокой ссылки.Я кодирую строку URL с .urlPathAllowed, я также проверял с .urlHostAllowed.Но все время создается ссылка, но при создании короткой ссылки я получаю сообщение об ошибке

"Операция не может быть завершена. Длинная ссылка не может быть обработана: https://long.encoded/url [https://firebase.google.com/docs/dynamic-links/rest#create_a_short_link_from_parameters]"

Вот мой код для использования динамической ссылки с коротким URL.

var sharingURL = "https://www.example.com/fr/something/traversée-des-alpes-de-chamonix-à-briançon-512/"
sharingURL = sharingURL.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? sharingURL
guard let link = URL(string: sharingURL) else { return }

let dynamicLinksDomain = kSharingDomain
let linkBuilder = DynamicLinkComponents(link: link, domain: dynamicLinksDomain)
linkBuilder.navigationInfoParameters?.isForcedRedirectEnabled = true
linkBuilder.iOSParameters = DynamicLinkIOSParameters(bundleID: "com.bundle.identifier")
linkBuilder.iOSParameters?.appStoreID = kAppStoreID
linkBuilder.androidParameters = DynamicLinkAndroidParameters(packageName: "com.android.package")
linkBuilder.analyticsParameters = DynamicLinkGoogleAnalyticsParameters(source: "source", medium: "medium", campaign: "campaign")
linkBuilder.socialMetaTagParameters = DynamicLinkSocialMetaTagParameters()
linkBuilder.socialMetaTagParameters?.title = "Some title"
linkBuilder.socialMetaTagParameters?.descriptionText = "Some long desription"
linkBuilder.socialMetaTagParameters?.imageURL = URL(string:arrSportImages[0]["image"] as! String)!
guard let longDynamicLink = linkBuilder.url else { return }
DynamicLinkComponents.shortenURL(longDynamicLink, options: nil) { url, warnings, error in
    // Share link
    if let url = url {
        let objectsToShare = [url] as [Any]
        let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
        activityVC.popoverPresentationController?.barButtonItem = sender
        self.present(activityVC, animated: true, completion: nil)
    }
    else {
        print(error?.localizedDescription)
    }
}

Пожалуйста, помогите мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...