Mac OSX原生自带的Java JDK版本是1.6,而有的时候呢需要高一点的版本,这时候就需要升级JDK的版本。

首先看一下我这边的java版本:

java -version

我这边显示的版本是 :

ava version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)

Continue reading

引用一下苹果官方的文字(About Multipeer Connectivity):

The Multipeer Connectivity framework provides support for discovering services provided by nearby iOS devices using infrastructure Wi-Fi networks, peer-to-peer Wi-Fi, and Bluetooth personal area networks and subsequently communicating with those services by sending message-based data, streaming data, and resources (such as files).

总结一句话就是:Multipeer Connectivity就是通过Wi-Fi、P2P、BLE等近场局域网络实现数据传输的一种技术。

Continue reading

在之前我们说了在iOS的蓝牙开发中作为客户端的CBCentralManager,当时就说过还有作为服务端的CBPeripheralManager等着以后再说,刚好今天有时间就总结一下。

传送门

在上一节中说到了一个CBPeripheral,是蓝牙外设在iOS系统中的一个身份对象,在今天看来呢,就是CBPeripheralManager在中心设备(即客户端-CBCentralManager)中的体现。
那反过来想,当然就能想到,客户端在服务端上也有一种表现形式,那就是CBCentral,每个连接到CBPeripheralManager上的外设都是一个CBCentral,通过对CBCentral的操作,就能实现对单个设备进行数据的通信。
下面是几个比喻:
** 数据传输载体 –CBCharacteristic :用来互相的进行数据交互,传递设备状态等。CBService是看一看做是一组功能类似的数据载体的集合,有单独的特征和表现形式。
** 服务端-CBPeripheralManager **:所有数据传输载体都是由服务端发出,并在连接成功后和外设进行数据交互。服务端可以向外无目标的广播数据,也能向特定的外设广播数据,同时也能接受客户端写入过来的数据包。
** 客户端-CBCentralManager **:只能在扫描到并且连接成功服务端以后才能使用数据传输的载体,才可以进行数据交互,它可以直接读取或者设置通知监听数据的变动来进行数据的交互操作。它也同时具备接受数据和相连接到的设备写入数据的功能。注意是在
成功连接上**以后。

Continue reading

iOS中使用可变参数,常见的如以下两个方法:

// 格式化打印输出log
NSLog(NSString *format, ...)

// 给数组中添加内容
arrayWithObjects:(ObjectType)firstObj, ...

他们都是通过va_list系列方法来实现的,请往下看。
在Mac上也可以通过终端man一下man va_arg

Continue reading