2012-04-18 10 views
5

prima di iniziare mi rendo conto che questo problema è stato sollevato prima in questo forum perché ho trovato il thread. Tuttavia, la domanda non ha avuto risposta.Voglio inviare una notifica dal mio iPhone a un altro iPhone

Sto costruendo un sistema che utilizza gli iPhone come macchine worker. Lo dico in questo modo perché voglio porre l'accento sul fatto che il telefono non è un prodotto della mela, ma un pezzo di equipaggiamento che può o meno svolgere un determinato compito.

Ho jailbroken entrambi i telefoni che sto usando e li userò esclusivamente per ottenere una soluzione al problema che il sistema si propone di risolvere. Il mio sistema sarà utilizzato solo da me e da me e quindi il problema di come Apple ha inteso utilizzare questi dispositivi, l'esperienza dell'utente ecc. È irrilevante per me.

Ok, dopo aver detto tutto ciò illustrerò brevemente il sistema. Due iPhone, uno con il suo budello in una scatola di progetti di elettronica inchiodato sopra la mia porta d'ingresso, fotocamera rivolta ai visitatori. Altro iPhone, intatto e nella mia tasca. Ho agganciato i pin 1 & 11 al pulsante campanello della porta e avvisare il telefono che è stato premuto monitorando la modifica del percorso audio. Ho bisogno di un'app sul mio telefono tascabile che verrà svegliata da una notifica inviata dal citofono. Il citofono invierà anche un'immagine dopo aver accettato la notifica sul mio telefono tascabile. Non c'è internet qui, tuttavia ho un router wifi a cui sono collegati entrambi i telefoni.

Ecco, questo è il sistema, ho cercato di alta e bassa per trovare il codice che mi può aiutare a ottenere il citofono per generare una notifica push e inviarlo al mio telefono in tasca, tutto quello che ho trovato finora è questo https://github.com/stefanhafeneger/PushMeBaby che è ciò di cui ho bisogno solo che è scritto per mac non per iPhone e sono nuovo per Objective C, quindi il porting è davvero difficile.

Per favore qualcuno potrebbe darmi una mano per realizzare ciò che sto cercando di fare, so che Apple non ha intenzione di usare il suo prodotto come sono, ma poi nemmeno molti produttori, ma gli hobbisti riescono ancora a usare loro in modi sempre più inventivi e innovativi indipendentemente. Attualmente sto usando un PC e una webcam per vedere chi c'è alla porta e usa un sacco di energia elettrica, il nuovo sistema è di gran lunga migliore se solo riesco a farlo funzionare così per favore, per favore se hai la capacità/conoscenza di aiutare quindi posterò una risposta e sarò eternamente grato. Grazie, Richard.

risposta

0

Coppia i telefoni con Bluetooth utilizzando GameKit

Ecco un SO domanda su come bluetooth coppia due iPhone:. How to use bluetooth to connect two iPhone?

Il modo più semplice è usare il GameKit molto opaco Ecco un esempio Apple App che realizza questo: http://developer.apple.com/library/ios/#samplecode/GKTank/Introduction/Intro.html

E da quell'esempio questo frammento che invia pacchetti (in 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]; 
     } 
    } 
} 
+0

Ok, grazie per il consiglio . L'ho accettato come risposta, ma il bluetooth è normalmente disattivato sul mio telefono. Tuttavia, non sembra esserci alcun modo per farlo. Non sono uno sviluppatore Apple pagato e posso solo eseguire le mie app sul mio telefono perché ho eseguito il jailbreak e ho utilizzato un tutorial per consentirmi di eseguire l'implementazione sul mio telefono da xcode. La limitazione di internet è stata rimossa ora, poiché un vicino gentile mi ha permesso di usare il suo wifi, ma anche se volessi usare i server di Apple non credo di poterlo fare perché non ho pagato. Sembra tutto così convoluto quando si tratta di Apple. –

0

Non riesco a pensare a un modo semplice per inviare un messaggio direttamente da un telefono all'altro. (anche se non sono abituato a cose jailbroken, quindi chissà ...). In ogni caso, ecco cosa farei:

Configurare un semplice server Web per interfacciare i due dispositivi. Dici che non hai internet, quindi è sufficiente eseguire Apache o qualsiasi altra cosa su un computer locale in rete. Ogni volta che si desidera inviare un messaggio, il telefono di invio pubblica qualcosa sul server. Sfortunatamente, se non puoi/non vuoi utilizzare il servizio di notifica push di Apple, penso che il telefono ricevente debba monitorare costantemente il server per vedere se ci sono nuovi messaggi. . :(

+0

Ciao Numegil, grazie per la risposta.Sfortunatamente questo richiederebbe un pc sempre acceso e sto cercando di evitare l'uso di apparecchiature sempre aggiornate quanto più possibile. Ho letto il processo di invio di una notifica push qui http://www.raywenderlich.com/3443 e mi sembra che fintanto che posso registrare il mio token dispositivo tascabile con il citofono, dovrei essere in grado di generare una notifica push utilizzando il citofono, correggimi se sono fuori pista qui. Sto avendo problemi a capire perché se un pc può inviare una notifica push allora perché non può un iphone? :( –

+0

Ok, quindi mi sembra impossibile poter inviare una notifica push da un telefono a un altro, quindi dovrò avere sempre un pc in rete, ma non ho ancora nessuna connessione internet, quindi la mia prossima domanda è, come farei per inviare una notifica push dal pc al telefono senza utilizzare i server APSN di Apple, cioè, vorrei che il mio pc generasse la notifica e la inviassi directky al mio telefono.Io codice in C# per lavoro e così sarebbe essere grandioso se potessi avere i miei APNS scritti in C#, è possibile? –

+1

Non ho guardato troppo in là, quindi potrebbe anche non funzionare per voi, ma potrebbe essere possibile connettersi via Bluetooth: vedere https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/GameKitConcepts/GameKitConcepts.html e http://stackoverflow.com/questions/1427250/how-to-use-bluetooth-to -connect-two-iphone – numegil

Problemi correlati