前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Github源码推荐:(01.04):iOS开发蓝牙,启动动画,自定义Tabbar

Github源码推荐:(01.04):iOS开发蓝牙,启动动画,自定义Tabbar

作者头像
Bison
发布2018-07-06 15:18:22
6260
发布2018-07-06 15:18:22
举报
文章被收录于专栏:iOS DeveloperiOS Developer

"iOS开发蓝牙框架,以及酷炫的启动动画,还有低耦合的自定义的TabBar"

  • NO.1 国内最全面的iOS蓝牙开发框架━━∝∞ ∝∞┅┉┉下载

暂无效果图 具体用法如下

中心模式 central model

app作为中心,连接其他BLE4.0外设

代码语言:javascript
复制
//导入.h文件和系统蓝牙库的头文件
#import "BabyBluetooth.h"
//定义变量
BabyBluetooth *baby;

-(void)viewDidLoad {
    [super viewDidLoad];

    //初始化BabyBluetooth 蓝牙库
    baby = [BabyBluetooth shareBabyBluetooth];
    //设置蓝牙委托
    [self babyDelegate];
    //设置委托后直接可以使用,无需等待CBCentralManagerStatePoweredOn状态
    baby.scanForPeripherals().begin();
}

//设置蓝牙委托
-(void)babyDelegate{

    //设置扫描到设备的委托
    [baby setBlockOnDiscoverToPeripherals:^(CBCentralManager *central, CBPeripheral *peripheral, NSDictionary *advertisementData, NSNumber *RSSI) {
        NSLog(@"搜索到了设备:%@",peripheral.name);
    }];

    //过滤器
    //设置查找设备的过滤器
    [baby setFilterOnDiscoverPeripherals:^BOOL(NSString *peripheralName) {
    //设置查找规则是名称大于1 , the search rule is peripheral.name length > 1
    if (peripheralName.length >1) {
        return YES;
    }
        return NO;
    }];

//.......
}
代码语言:javascript
复制
//导入.h文件和系统蓝牙库的头文件
#import "BabyBluetooth.h"
//定义变量
BabyBluetooth *baby;

-(void)viewDidLoad {
    [super viewDidLoad];

    //配置第一个服务s1
    CBMutableService *s1 = makeCBService(@"FFF0");
    //配置s1的3个characteristic
    makeCharacteristicToService(s1, @"FFF1", @"r", @"hello1");//读
    makeCharacteristicToService(s1, @"FFF2", @"w", @"hello2");//写
    makeCharacteristicToService(s1, genUUID(), @"rw", @"hello3");//可读写,uuid自动生成
    makeCharacteristicToService(s1, @"FFF4", nil, @"hello4");//默认读写字段
    makeCharacteristicToService(s1, @"FFF5", @"n", @"hello5");//notify字段
    //配置第一个服务s2
    CBMutableService *s2 = makeCBService(@"FFE0");
    makeStaticCharacteristicToService(s2, genUUID(), @"hello6", [@"a" dataUsingEncoding:NSUTF8StringEncoding]);//一个含初值的字段,该字段权限只能是只读

    //实例化baby
    baby = [BabyBluetooth shareBabyBluetooth];
    //配置委托
    [self babyDelegate];
    //启动外设
    baby.bePeripheral().addServices(@[s1,s2]).startAdvertising();
}

//设置蓝牙外设模式的委托
-(void)babyDelegate{

    //设置添加service委托 | set didAddService block
    [baby peripheralModelBlockOnPeripheralManagerDidUpdateState:^(CBPeripheralManager *peripheral) {
    NSLog(@"PeripheralManager trun status code: %ld",(long)peripheral.state);
    }];

    //设置添加service委托 | set didAddService block
    [baby peripheralModelBlockOnDidStartAdvertising:^(CBPeripheralManager *peripheral, NSError *error) {
    NSLog(@"didStartAdvertising !!!");
    }];

    //设置添加service委托 | set didAddService block
    [baby peripheralModelBlockOnDidAddService:^(CBPeripheralManager *peripheral, CBService *service, NSError *error) {
    NSLog(@"Did Add Service uuid: %@ ",service.UUID);
    }];

//.....
}

外设模式 peripheral model

app模拟一个,BLE4.0外设,可以被其他设备连接和使用 模拟一个有2个service和6个characteristic的外设

  • NO.2 炫酷的启动动画━━∝∞ ∝∞┅┉┉ 下载

(allluckly.cn)

具体用法如下

代码语言:javascript
复制
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    //重点在这里
    [CLClipImageView addToCurrentView:self.view clipImage:[UIImage imageNamed:@"Default_image"] backgroundImage:@"" animationComplete:^{
        self.navigationController.navigationBarHidden = NO;
        [self makeTopView];
    }];
}
  • NO.3 低耦合的自定义的TabBar━━∝∞ ∝∞┅┉┉下载

(allluckly.cn)

具体用法请到下载页查看,作者写的非常的详细,在此不做任何的阐述

推荐一款学习iOS开发的app_____|______| | 传送门

更多经验请点击

如对你有帮助,请不要吝惜你的star和喜欢哦!

技术交流群:534926022(免费) 511040024(0.8/人付费)好文推荐:仿window阿里旺旺登陆界面,打印机吐纸动画效果

原文地址:http://allluckly.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.01.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 中心模式 central model
  • 外设模式 peripheral model
  • 如对你有帮助,请不要吝惜你的star和喜欢哦!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档