/ / Ako z Xcode môžem čítať údaje z textového súboru, ktorý sa neustále aktualizuje? - objektív-c, kakao, xcode, súbor, sériový port

Z Xcode, ako môžem čítať údaje z textového súboru, ktorý sa neustále aktualizuje? - objektív-c, kakao, xcode, súbor, sériový port

Pracujem s modulom GPS, ktorý prenáša údaje do môjho počítača Mac cez sériové rozhranie RS232-USB. Napísal som program objC, ktorý berie surové údaje a prevádza ich na zmysluplné informácie.

Pomocou programu s názvom goSerial dokážem prihlásiť všetky prichádzajúce údaje do textového súboru. Dokázal som svoj program prinútiť čítať textový súbor a spracovávať údaje po riadkoch.

Bol by som rád, keby sa tento postup uskutočnil v skutočnostiakonáhle sú dáta prijaté, dostanú sa do textového súboru a môj program ich prečíta. Prvá časť sa deje automaticky, to znamená, že sa textový súbor neustále pripája (ak nie je otvorený). Je možné sledovať textový súbor, či neobsahujú pripojené údaje, a čítať iba nové riadky? Bude to mať tiež vplyv na schopnosť ukladania nových prichádzajúcich údajov?

Vďaka!!!

(Tiež, ak niekto vie, ako môžem odoslať sériové údaje priamo do Xcode, dajte mi vedieť!)

odpovede:

2 pre odpoveď č. 1

Nie som si istý, ako to ovplyvňuje sériové pripojenie na USB, ale unix tradične pristupuje k sériovým zariadeniam pomocou Mechanizmus zariadení a súborov ktorý zaobchádza s vstupom zo zariadenia ako so súboromtreba prečítať. Na načítanie súboru z kakaa / nadácie by ste použili NSFileHandle. Pravdepodobne budete chcieť vyskúšať aplikáciu IORegistryExplorer, aby ste videli, ako sa vaše zariadenie zobrazuje.


2 pre odpoveď č. 2

Môžete použiť a kqueue (možno obalom ako napr UKKQueue) sledovať zmeny v súbore.


0 pre odpoveď č. 3

Mali by ste byť schopní vytvoriť unixový doménový soket, ktorý potom môžete nechať otvoriť svoju aplikáciu goSerial (vyzerá to ako normálny súbor na fs)

A potom čítať z druhého konca, line invašu žiadosť. Toto je pravdepodobne najjednoduchší spôsob alebo sa alternatívne pozrieť na zdroj chvosta v GNU „coreutils“, konkrétne na jeho funkciu „-f“ (aj keď si myslím, že viac si budete pravdepodobne chcieť pozrieť, ako funguje implementácia FreeBSD, ako som verím, že verzia GNU používa nejaké spätné volanie špecifické pre linux)