🦅
Freedom在 iOS 上使用自定义 UIActivity 分类的第三方浏览器打开 URL 的自由。
关于
Freedom 允许您的应用程序在用户设备上安装的第三方浏览器中打开 URL。
当前支持
截图
安装指南
Swift 版本 | 分支名称 | 是否将继续接收更新? |
---|---|---|
5.1 | master | 是 |
5.0 | swift5.0 | 否 |
4.2 | swift4.2 | 否 |
3.2 | swift4.1 | 否 |
3.2 | swift3.2 | 否 |
3.1 | swift3.1 | 否 |
CocoaPods
pod 'Freedom' # Swift 5.0
pod 'Freedom', :git => 'https://github.com/ArtSabintsev/Freedom.git', :branch => 'swift5.0' # Swift 5.0
pod 'Freedom', :git => 'https://github.com/ArtSabintsev/Freedom.git', :branch => 'swift4.2' # Swift 4.2
pod 'Freedom', :git => 'https://github.com/ArtSabintsev/Freedom.git', :branch => 'swift4.1' # Swift 4.1
pod 'Freedom', :git => 'https://github.com/ArtSabintsev/Freedom.git', :branch => 'swift3.2' # Swift 3.2
pod 'Freedom', :git => 'https://github.com/ArtSabintsev/Freedom.git', :branch => 'swift3.1' # Swift 3.1
Carthage
github "ArtSabintsev/Freedom" // Swift 5.1
github "ArtSabintsev/Freedom", "swift5.0" // Swift 5.0
github "ArtSabintsev/Freedom", "swift4.2" // Swift 4.2
github "ArtSabintsev/Freedom", "swift4.1" // Swift 4.1
github "ArtSabintsev/Freedom", "swift3.2" // Swift 3.2
github "ArtSabintsev/Freedom", "swift3.1" // Swift 3.1
Swift Package Manager
.Package(url: "https://github.com/ArtSabintsev/Freedom.git", majorVersion: 2)
使用
打开你的 Info.plist
文件,并添加以下 URL 方案到 LSApplicationQueriesSchemes
键
<key>LSApplicationQueriesSchemes</key>
<array>
<string>brave</string>
<string>dolphin</string>
<string>firefox</string>
<string>firefox-focus</string>
<string>googlechrome</string>
</array>
将以下代码添加到项目中某个可操作/可点击的元素中。在这个例子中,我使用了一个来自 UIButton 的 IBAction。
@IBAction func openURL(_ sender: UIButton) {
// A Sample URL that just happens to be my personal website.
let url = URL(string: "http://www.sabintsev.com")!
// Enable Debug Logs (disabled by default)
Freedom.debugEnabled = true
// Fetch activities for Safari and all third-party browsers supported by Freedom (see screenshot).
let activities = Freedom.browsers()
// Alternatively, one could select a specific browser (or browsers).
// let activities = Freedom.browsers([.chrome])
let vc = UIActivityViewController(activityItems: [url], applicationActivities: activities)
present(vc, animated: true, completion: nil)
}
笔记
即使您通过 Freedom.browsers()
启用 Freedom 支持所有浏览器,也只有在用户设备上安装的浏览器才会在共享表中可见(即 UIActivityViewController
)。因此,对所有用户来说,用所有支持的浏览器初始化 Freedom 都是有益的。