UAParserSwift

基于 ua-parser.js 的 User-Agent 解析器

UAParserSwift 是一个基于 Swift 的库,用于解析 User Agent 字符串;它是 Faisal Salman 的 ua-parser-js 的 Swift 移植版本,主要用于 Swift 服务器端应用程序(Kitura, Vapor 等)。 当然,您也可以在客户端使用它,支持所有 Apple 平台(iOS、macOS、tvOS 和 watchOS)。

该库旨在完全从 user-agent 字符串中识别 Web 浏览器的详细类型、布局引擎、操作系统、CPU 架构以及设备类型/型号,并且占用空间相对较小。

❤️ 您的支持

亲爱的开发者!
您知道,维护和开发工具需要资源和时间。虽然我喜欢制作它们,但您的支持对于让我继续开发至关重要

如果您正在使用 SwiftLocation 或我的任何其他作品,请考虑以下选项

工作原理

简介

UAParserSwift 的使用非常简单;只需分配一个 UAParser 对象以及您要解析的 User-Agent 字符串即可。

let parser = UAParser(agent: "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7")

// Then call properties you want to read.
// Parsed data are cached and evaluated lazily in order to
// get the best performances.

let identified_os = parser.os
let identified_device = parser.device
let identified_engine = parser.engine
let identified_os = parser.os
let identified_cpu = parser.cpu

现在您可以调用这些属性之一来获取解析的数据(所有属性都是延迟创建的,以保持解析器轻量级)

支持的浏览器

名称:

Amaya, Android Browser, Arora, Avant, Baidu, Blazer, Bolt, Bowser, Camino, Chimera,
Chrome [WebView], Chromium, Comodo Dragon, Conkeror, Dillo, Dolphin, Doris, Edge,
Epiphany, Fennec, Firebird, Firefox, Flock, GoBrowser, iCab, ICE Browser, IceApe,
IceCat, IceDragon, Iceweasel, IE[Mobile], Iron, Jasmine, K-Meleon, Konqueror, Kindle,
Links, Lunascape, Lynx, Maemo, Maxthon, Midori, Minimo, MIUI Browser, [Mobile] Safari,
Mosaic, Mozilla, Netfront, Netscape, NetSurf, Nokia, OmniWeb, Opera [Mini/Mobi/Tablet],
PhantomJS, Phoenix, Polaris, QQBrowser, RockMelt, Silk, Skyfire, SeaMonkey, Sleipnir,
SlimBrowser, Swiftfox, Tizen, UCBrowser, Vivaldi, w3m, WeChat, Yandex

版本:动态确定

支持的设备

类型:

console, mobile, tablet, smarttv, wearable, embedded

供应商:

Acer, Alcatel, Amazon, Apple, Archos, Asus, BenQ, BlackBerry, Dell, GeeksPhone,
Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Microsoft, Motorola, Nexian,
Nintendo, Nokia, Nvidia, OnePlus, Ouya, Palm, Panasonic, Pebble, Polytron, RIM,
Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Xbox, Xiaomi, ZTE

型号:动态确定

支持的引擎

引擎:

Amaya, EdgeHTML, Gecko, iCab, KHTML, Links, Lynx, NetFront, NetSurf, Presto,
Tasman, Trident, w3m, WebKit

引擎版本:动态确定

支持的操作系统

名称:

AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS, Contiki,
Fedora, Firefox OS, FreeBSD, Debian, DragonFly, Gentoo, GNU, Haiku, Hurd, iOS,
Joli, Linpus, Linux, Mac OS, Mageia, Mandriva, MeeGo, Minix, Mint, Morph OS, NetBSD,
Nintendo, OpenBSD, OpenVMS, OS/2, Palm, PC-BSD, PCLinuxOS, Plan9, Playstation, QNX, RedHat,
RIM Tablet OS, RISC OS, Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen,
Ubuntu, UNIX, VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk

版本:动态确定

支持的架构

标识符:

68k, amd64, arm[64], avr, ia[32/64], irix[64], mips[64], pa-risc, ppc, sparc[64]

单元测试

单元测试位于 Tests 目录下;实际上,它们与 ua-parser-js 的可用测试相同,并且都已成功通过。

安装

这个库是用 Swift 4.x 编写的。

Swift Package Manager(Vapor 或任何服务器端框架)

Meow 需要 Swift 4.0 或更高版本才能工作。 这是为 Swift Server Side 安装软件包的官方方式。 在您的 Package.swift 中,将以下内容添加到您的 dependencies 数组中

.package(url: "https://github.com/malcommac/UAParserSwift.git", from: "1.0.1")

对于您的 target,添加 "UAParserSwift" 依赖项。

.target(name: "Application", dependencies: ["UAParserSwift", ...])

CocoaPods

  1. 将 pod UAParserSwift 添加到您的 Podfile
pod 'UAParserSwift'

从 Terminal 运行 pod install,然后打开您的应用程序的 .xcworkspace 文件以启动 Xcode。

贡献

许可证

采用 GPLv2 和 MIT 双重许可

版权所有 © 2017 Daniele Margutti hello@danielemargutti.com 原始 ua-parser-js 版权:版权所有 © 2012-2016 Faisal Salman fyzlman@gmail.com

特此授予任何人免费获取本软件及相关文档文件(“软件”)的许可,以便不受限制地处理本软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售本软件副本的权利,并允许向获得本软件的人员提供本软件,但须符合以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。

本软件采用 MIT 许可证 授权。

考虑 ❤️ 支持此库的开发

在以下平台关注我