Closed. This question needs to be more
focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过
editing this post专注于一个问题。
2年前关闭。
在我开始之前,我意识到此论坛之前曾提出过此问题,因为我找到了主题。但是,这个问题没有得到回答。
我正在建立一个使用iPhone作为工作机的系统。之所以这样说,是因为我想强调手机不是苹果的某种产品,而是作为能够胜任某项任务的设备。
我已经越狱了我正在使用的两部手机,并将专门使用它们来实现系统着手解决的问题的解决方案。我的系统将由我一个人使用,因此Apple打算如何使用这些设备,用户体验等问题与我无关。
好了,说了这么多,我将简要概述一下系统。两部iPhone,其中一部胆量放在电子项目盒中,钉在我的前门上方,摄像头面向访客。其他iPhone,完好无损,放在口袋里。我将1号和11号销钉钩到了门铃按钮上,并通过监视音频路线的变化来提醒电话机被按下。我的口袋电话上需要一个应用程序,该应用程序会被门口电话发送的通知唤醒。一旦我在口袋电话上接受了通知,门电话也会发送图像。这里根本没有互联网,但是我确实有两个电话都连接到的wifi路由器。
这就是系统,我在上下搜索,找到可以帮助我获取门电话生成推送通知并将其发送到我的口袋电话的代码,到目前为止,我所发现的只是这个
https://github.com/stefanhafeneger/PushMeBaby我只需要为Mac而不是iPhone编写它,而且我对Objective C还是陌生的,所以移植真的很困难。
请有人帮我完成我想做的事情,我知道苹果并不打算像我一样使用我的产品,但是很多制造商也没有,但业余爱好者仍然设法使用它们无关紧要的发明方式。我目前正在使用PC和网络摄像头来查看谁在门口,并且它消耗大量电能,如果只有我能使用它,新系统会更好,因此,请,如果您有能力/知识来帮助您,然后发表回复,我将永远感激不已。谢谢你,理查德。
使用GameKit将手机与蓝牙配对。
这是一个有关如何将两部iPhone蓝牙配对的SO问题:How to use bluetooth to connect two iPhone?
最简单的方法是使用高度不透明的GameKit。这是一个实现此目标的Apple示例应用程序:http://developer.apple.com/library/ios/#samplecode/GKTank/Introduction/Intro.html
然后从该示例中发送数据包的代码段(在TankViewController.m中):
- (void)sendNetworkPacket:(GKSession *)session packetID:(int)packetID withData:(void *)data ofLength:(int)length reliable:(BOOL)howtosend {
// the packet we'll send is resued
static unsigned char networkPacket[kMaxTankPacketSize];
const unsigned int packetHeaderSize = 2 * sizeof(int); // we have two "ints" for our header
if(length < (kMaxTankPacketSize - packetHeaderSize)) { // our networkPacket buffer size minus the size of the header info
int *pIntData = (int *)&networkPacket[0];
// header info
pIntData[0] = gamePacketNumber++;
pIntData[1] = packetID;
// copy data in after the header
memcpy( &networkPacket[packetHeaderSize], data, length );
NSData *packet = [NSData dataWithBytes: networkPacket length: (length+8)];
if(howtosend == YES) {
[session sendData:packet toPeers:[NSArray arrayWithObject:gamePeerId] withDataMode:GKSendDataReliable error:nil];
} else {
[session sendData:packet toPeers:[NSArray arrayWithObject:gamePeerId] withDataMode:GKSendDataUnreliable error:nil];
}
}
}
我是一名优秀的程序员,十分优秀!