Latest 0.3.0
Homepage https://github.com/yangqian111/PPSPing
License MIT
Platforms ios 8.0, requires ARC
Authors

new:最新修复了xcode9 check_compile_time导致编译失败的错误,在iOS11中,将宏定义改成了__Check_Compile_Time

iOS端的一个ping网络工具,修复了之前不能够并发Ping的bug和不能够在子线程中发起的bug

此次版本还加入了pod支持,可以通过pod集成

集成方式

源码

直接将PPSPing下的源码拷贝到工程目录中,在使用的时候直接引入PPSPingServices文件即可

pod方式引入
pod 'PPSPing', '~> 0.3.0'

回调说明

ping的结果与电脑端的ping方式相似,数据格式相同

使用方式


@interface PPSAppDelegate()

@property (nonatomic, strong) PPSPingServices *service;

@end

@implementation PPSAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.service = [PPSPingServices serviceWithAddress:@"www.163.com"];
    [self.service startWithCallbackHandler:^(PPSPingSummary *pingItem, NSArray *pingItems) {
        NSLog(@"%@",pingItem);
    }];
    return YES;
}

@end

注意:在使用时,需要service存在强引用,不然不能够收到回调结果

错误使用方式

@interface PPSAppDelegate()

//@property (nonatomic, strong) PPSPingServices *service;

@end

@implementation PPSAppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    PPSPingServices *service = [PPSPingServices serviceWithAddress:@"www.163.com"];
    [service startWithCallbackHandler:^(PPSPingSummary *pingItem, NSArray *pingItems) {
        NSLog(@"%@",pingItem);
    }];
    return YES;
}

@end

上面这种使用方式,将得不到回调结果,在block执行完成后,service已经销毁

看一下效果图:

后面如果还有时间,会接着完善

Latest podspec

{
    "name": "PPSPing",
    "version": "0.3.0",
    "summary": "A tools for test network quality",
    "description": "A lightweight lightweight tool for testing network quality, easy integration and easy to use.",
    "homepage": "https://github.com/yangqian111/PPSPing",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "ppsheep": "[email protected]"
    },
    "source": {
        "git": "https://github.com/yangqian111/PPSPing.git",
        "tag": "0.3.0"
    },
    "platforms": {
        "ios": "8.0"
    },
    "source_files": "PPSPing/Classes/**/*",
    "requires_arc": true,
    "public_header_files": "PPSPing/Classes/**/*.h"
}

Pin It on Pinterest

Share This