CocoaPods trunk is moving to be read-only. Read more on the blog, there are 8 months to go.

dangwu 1.1.2

dangwu 1.1.2

Maintained by xyz10.



 
Depends on:
AFNetworking>= 0
SocketRocket>= 0
Protobuf~> 3.5
CocoaLumberjack>= 0
 

dangwu 1.1.2

  • By
  • menq

dangwu iOS SDK

1.1.1

  • 修复一些已知问题
  • 增加异常日志上传
  • 增加测试

1.1.0

  • 增加流量控制,黑名单,时间控制功能。
  • 定位增加准确度。
  • 开放reset接口给开发者使用。

1.0.1

  • *优化log 输出
  • fix 已知的bug

第一步:获取最新版本的Xcode


建议您使用9.0或者更高版本的Xcode来开发。

第二步:获取CocoaPods


dangwu.io SDK 以CocoaPods pod 的形式提供。 CocoaPods 是一种用于 Swift 和 Objective-C Cocoa 项目的开源依赖项管理器。 如果您尚未安装 CocoaPods 工具,请在 OS X 上从终端运行以下命令进行安装。 如需了解详情,请参CocoaPods 入门指南

sudo gem install cocoapods

第三步:使用CocoaPods安装SDK


为SDK创建一个Pod

  1. 在项目目录中(.xcodeproj)打开一个终端,创建一个名为 Podfile 文件。如果您尚未创建 Xcode 项目,请立即创建一个并将其保存到您的本地计算机。
touch Podfile
  1. 编辑Podfile文件,插入
platform :ios, "9.0" 
target 'yourTargetName' 
do 
  pod 'dangwu'
end
  1. 运行pod install 命令安装SDK
pod install

如果不能安装最新版的SDK,需要执行pod repo update命令更新本地pod库。

  1. 关闭Xcode,然后打开您项目的.xcworkspace文件以启动Xcode。

第四步:获取dangwu.io Key


请前往dangwu.io控制台申请iOS Key

第五步:申请权限


在项目的info.plist添加定位权限申请。

其中:

  • iOS8 - iOS10 版本:

NSLocationWhenInUseUsageDescription 表示应用在前台的时候可以搜到更新的位置信息。

NSLocationAlwaysUsageDescription 申请Always权限,以便应用在前台和后台(suspend 或 terminated)都可以获取到更新的位置数据。

  • iOS11 版本:

NSLocationAlwaysAndWhenInUseUsageDescription 申请Always权限,以便应用在前台和后台(suspend 或 terminated)都可以获取到更新的位置数据(NSLocationWhenInUseUsageDescription 也必须有)。

ATS设置

![ios_location_sdk_ats.png](quiver-image-url/B5C824C6A5E96609BAE3B6C3F48F7047.png =470x94)

第六步:Hello World!

  1. 配置dangwu.io Key至AppDelegate.m 文件
#import XYZ
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        
        XYZLocationManager.auth(withAppkey: Constants.DangwuKey) { error in
            if let error = error {
                print(error.localizedDescription);
            } else {
                print("success")
            }
        }
        
        ......
}
  1. 开始请求室内位置信息
    override func viewDidLoad() {
        super.viewDidLoad()
        self.perform( #selector(restartLocationManager), with: nil, afterDelay: 30)
        XYZLocationManager.default().startUpdatingLocation()
        XYZLocationManager.default().delegate = self
    }
    
    func didUpdate(_ location: CLLocation) {
        self.positionLabel.text = CLLocation.description();
    }
    
    func didEnterSite(_ siteId: String!, floorId: String!) {
        self.floorIdLabel.text = floorId;
        self.siteIdLabel.text = siteId;
    }

第七步:连接 iOS 设备

了解您的应用实际运行情况的最简单方法是将 iOS 设备与计算机相连。在手机上信任您的开发者证书,并开启定位。

此外,您也可以使用 iOS 模拟器来运行您的应用。 Xcode 中自带了多种模拟器,您可以选择一种模拟器来构建和运行您的应用。


第八步:构建和运行您的应用

在 Xcode 中,点击 Product 菜单中 Run 选项(或 Run 按钮图标)运行您的应用。