This repository has been archived by the owner. It is now read-only.
Permalink
Cannot retrieve contributors at this time
executable file
21 lines (19 sloc)
1.08 KB
| /* This Source Code Form is subject to the terms of the Mozilla Public | |
| * License, v. 2.0. If a copy of the MPL was not distributed with this | |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
| import Foundation | |
| /// Utility functions related to SUMO. | |
| public struct SupportUtils { | |
| /// Construct a NSURL pointing to a specific topic on SUMO. The topic should be a non-escaped string. It will | |
| /// be properly escaped by this function. | |
| /// | |
| /// The resulting NSURL will include the app version, operating system and locale code. For example, a topic | |
| /// "cheese" will be turned into a link that looks like https://support.mozilla.org/1/mobile/2.0/iOS/en-US/cheese | |
| public static func URLForTopic(_ topic: String) -> URL? { | |
| guard let escapedTopic = topic.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed), | |
| let languageIdentifier = Locale.preferredLanguages.first else { | |
| return nil | |
| } | |
| return URL(string: "https://support.mozilla.org/1/mobile/\(AppInfo.appVersion)/iOS/\(languageIdentifier)/\(escapedTopic)") | |
| } | |
| } |