Kako pokrenuti aplikacije na vašem iPhoneu s Alfredom

Jeste li znali da možete pokrenuti aplikaciju za iPhone ili ponovno pokrenuti svoj iDevice pomoću Alfreda za Mac? To je zapravo moguće. Možete pozvati tipku prečaca, upisati Respring u svoj Mac i vaš iPhone SpringBoard će se automatski ponovno pokrenuti.

Ovaj vodič nije za finte srca. Pomaže ako imate opće razumijevanje OpenSSH-a, naredbenog retka i skriptiranja s AppleScript ili Python. Morat ćete imati Mac s administratorskim pravima i jailbroken iDevice. Čitajte dalje za početak…

Iz očitih razloga, morat ćete preuzeti i instalirati Alfreda na svoje računalo. Ili ga instalirajte iz Mac App Storea ili posjetite Trčanje s bojicama web stranica.

Prvo ćete morati instalirati OpenSSH iz Cydia . Također ćete morati instalirati najnoviju verziju APT 0.7 Strict. OpenSSH će vam omogućiti Mac za izdavanje daljinskih naredbi vašem iPhoneu. APT Strict će povećati količinu naredbi koje vaš Mac može koristiti.

Zatim preuzmite čarolija od njihovih Google kodna stranica . Enchanter je java biblioteka za skriptiranje SSH sjednice. Ovaj vodič uključuje izradu skripte za svaku naredbu koju želite izvršiti na svom iPhoneu. Svaka datoteka skripte uključivat će vjerodajnice potrebne za dobivanje root pristupa vašem iPhoneu. Više volim koristiti Python za pisanje skripti, ali enchanter također nudi Beanshell i Ruby verzije. Radi ovog članka, koristit ću Python u svojim primjerima. Obavezno preuzmite enchanter-core-0.6.jar i enchanter-python-0.6.jar .

Kopirajte ove dvije datoteke na /System/Library/Java/Extensions/ i upišite svoju lozinku za Mac za autentifikaciju. Stvorite mapu za pohranu vaših Python skripti. Napravio sam mapu u svom korisničkom imeniku pod nazivom “alfred-iphone” tako da mogu jednostavno staviti “~/alfred-iphone/script.py” u svoj Alfred Extension. Ako želite biti u mogućnosti koristiti Alfreda za više iOS uređaja, trebat će vam druga skripta za svaki od njih, tako da je ova konvencija o imenovanju mapa vrlo praktična.

Sada ćete morati kreirati svoju prvu skriptu. Pokazat ću vam kako napraviti Respring skriptu da jednostavno ponovno pokrenete SpringBoard vašeg iPhonea. Napravite novu datoteku pomoću aplikacije kao što je BBEdit ili TextWrangler i nazovite je respring.py. Spremite ga u imenik koji ste kreirali, tj. '~/alfred-iphone' ili kako god ste ga odlučili nazvati.

Sadržaj datoteke trebao bi izgledati ovako:


conn.connect("highPhone.local", 22, "root", "alpine");
conn.waitFor("root# ");
conn.sendLine("killall SpringBoard");
conn.waitFor("root# ");
conn.sendLine("exit");
conn.disconnect();

Morat ćete prilagoditi prvi redak s detaljima za vaš iPhone. Prva vrijednost treba biti ili lokalna domena vašeg iPhonea ili njegova IP adresa. Ako znate ime svog iPhonea i nema razmaka, možete jednostavno upisati iPhoneName.local, što je u mom slučaju highPhone.local. Druga vrijednost je broj SSH porta, koji je uvijek 22. Treća vrijednost je korisničko ime, u ovom slučaju root, budući da nam je potreban Mac za prijavu kao root za izvođenje ovih radnji. Četvrta vrijednost je vaša root lozinka. Zadana je vrijednost alpine, ali ako ste promijenili svoju, ažurirajte vrijednost svojom lozinkom. Imajte na umu da je vaša lozinka pohranjena u običnom tekstu u ovoj datoteci, pa ako ste zabrinuti za sigurnost, možda biste trebali omogućiti šifriranje na svom Macu pomoću FileVaulta.

Ostatak scenarija se odnosi na iskustvo terminala. Ako želite vidjeti kako sve funkcionira, otvorite Terminal, upišite “ssh root@iPhoneName.local” i pritisnite enter. Unesite svoju root lozinku kada se to od vas zatraži, upišite 'da' ako se od vas zatraži, a zatim pričekajte. Ako primite upozorenje o DNS lažiranju, jednostavno izbrišite datoteku known_hosts u ~/.ssh i pokušajte ponovno. Kada se od vas zatraži da unesete naredbu, vidjet ćete “iPhoneName:~ root#” prije razmaka za unos. Ovako čarolija zna kada je u redu poslati naredbu. Nakon što je poslana naredba respring, tj. killall SpringBoard (osjetljivo na velika i mala slova), enchanter čeka da iPhone završi i zna da je gotovo kada je prisutan novi root#. Za datoteku skripte trebate unijeti samo krajnji dio ovog niza. “iPhoneName:~ root#” i “root#” će raditi. Konačno, šaljemo naredbu za izlaz za zatvaranje SSH sesije i skripta se prekida.

Sada da biste ovo unijeli u Alfreda, trebate stvoriti novo proširenje Alfred. Otvorite Alfredove postavke i kliknite opciju Shell Script da biste stvorili novo proširenje. Ja sam svoj iPhone nazvao Respring. Da biste promijenili ikonu, jednostavno povucite i ispustite slikovnu datoteku na postojeću ikonu. Svaki Mac ima kolekciju visokokvalitetnih iPhone ikona smještenih u “/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/” pa sam koristio jednu od njih. Kliknite gumb Kreiraj. Naslov i opis možete prilagoditi svojim željama, ali provjerite je li potvrdni okvir za Tiho, a radnja ostavljen neoznačen. Naredba bi trebala biti 'java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~/alfred-iphone/respring.py' sve u jednom retku. Ako želite biti sigurni da ovo funkcionira, možete poslati tu naredbu u novi prozor terminala (nemojte se prvo prijavljivati ​​putem SSH-a). Spremite svoje proširenje i isprobajte ga.

Da biste dodali podršku za Growl, umjesto toga trebate stvoriti proširenje AppleScript. Uključite ovaj kod na vrh proširenja:

try
tell application "Growl"
set the allNotificationsList to ¬
{"Alfred iPhone"}
set the enabledNotificationsList to ¬
{"Alfred iPhone"}
register as application ¬
"Alfred iPhone" all notifications allNotificationsList ¬
default notifications enabledNotificationsList ¬
icon of application "Terminal"
end tell
end try

Da biste pokrenuli Python skriptu, jednostavno dodajte:

do shell script "java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~/alfred-iphone/respring.py"
tell application "Growl"
notify with name ¬
"Alfred iPhone" title ¬
"Success!" description ¬
"You have successfully restarted your iPhone SpringBoard." application name "Alfred iPhone" image from location ¬
"file:////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns"
end tell

Preporučujem da napišete, kompajlirate i pokrenete ovu skriptu u Appleovoj aplikaciji AppleScript Editor, uključenoj na svaki Mac.

Možete kreirati Python skripte za svaku radnju koja se može izvesti iz naredbenog retka. Za ažuriranje vaših Cydia izvora, 'apt-get update' ili za nadogradnju svih dostupnih paketa u pozadini, 'apt-get upgrade'. Ovo se može proširiti dodavanjem Cydia paketa za naredbeni redak. Koristeći ericautilities Erice Sadun, možete otvoriti URL u Safariju korištenjem nečeg poput „openURL https://www.idownloadblog.com” or launch an application by its bundle identifier by using something like “launch com.Apple.Calculator”. Here’s how you would write launchcalculator.py to use with enchanter.


conn.connect("highPhone.local", 22, "root", "alpine");
conn.waitFor("root# ");
conn.sendLine("launch com.Apple.Calculator");
conn.waitFor("root# ");
conn.sendLine("exit");
conn.disconnect();

Za napredne AppleScript gurue, svom proširenju možete dodati opcije upita Alfred. Na primjer, nazvao sam jedno proširenje 'Respring', a zatim imam opcije upita za 'iPhone' i 'iPad'. Imam proširenje pod nazivom “iPhone” s opcijama upita uključujući “respring”, “reboot” i “update”. Evo primjera proširenja Alfred AppleScript koje koristi upite:

na alfred_script ( q ) probati reći primjena 'Režanje' skupa the allNotificationsList do ¬ {“Alfred iPhone”} skupa the omogućenoPopis obavijesti do ¬ {“Alfred iPhone”}

Registar kao primjena ¬ “Alfred iPhone” sve obavijesti allNotificationsList ¬ zadane obavijesti omogućenoPopis obavijesti ¬ ikona aplikacije 'Terminal'

kraj reći kraj probati ako q je 'respring' zatim napraviti shell skriptu 'Java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~ / alfred-iphone / respring.py' reći primjena 'Režanje' obavijestiti s imenom ¬ “Alfred iPhone” titula ¬ 'Uspjeh!' opis ¬ 'Uspješno ste ponovo pokrenuli svoj iPhone SpringBoard.' naziv aplikacije “Alfred iPhone” slika s lokacije ¬ “file:////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns” kraj reći drugo ako q je 'Ažuriraj' zatim reći primjena 'Režanje' obavijestiti s imenom ¬ “Alfred iPhone” titula ¬ 'Ažuriranje' opis ¬ 'Tražim nove Cydia pakete.' naziv aplikacije “Alfred iPhone” kraj reći

napraviti shell skriptu “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~/alfred-iphone/update.py” reći primjena 'Režanje' obavijestiti s imenom ¬ “Alfred iPhone” titula ¬ 'Uspjeh!' opis ¬ 'Osvježili ste ažuriranja Cydia-e.' naziv aplikacije “Alfred iPhone” slika s lokacije ¬ “file:////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns” kraj reći drugo ako q je 'nadogradnja' zatim napraviti shell skriptu “java -jar /System/Library/Java/Extensions/enchanter-python-0.6.jar ~/alfred-iphone/upgrade.py” reći primjena 'Režanje' obavijestiti s imenom ¬ “Alfred iPhone” titula ¬ 'Uspjeh!' opis ¬ 'Ažurirali ste svoje Cydia pakete.' naziv aplikacije “Alfred iPhone” slika s lokacije ¬ “file:////System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/com.apple.iphone-4-black.icns” kraj reći kraj ako kraj alfred_script

Siguran sam da će mnogi od vas stvoriti neke sjajne ideje. Svakako podijelite svoja iskustva u komentarima. Ako imate problema, objavite svoje pogreške ili pitanja. Sretno petljanje!