Kazalo:
- Korak: Namestite zahteve
- 2. korak: Namestitev projekta
- 3. korak: Napišite kodo IOS
- 4. korak: Ustvarite uporabniški vmesnik
- 5. korak: Napišite funkcijo v oblaku
- 6. korak: Zaženite aplikacijo
Video: Aplikacija IOS za skupno rabo fotografij v bližini: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
V tem navodilu bomo s Swiftom ustvarili aplikacijo za iOS, ki vam omogoča skupno rabo fotografij z vsemi v bližini, brez potrebe po seznanjanju naprav.
Chirp Connect bomo uporabljali za pošiljanje podatkov z zvokom, Firebase pa za shranjevanje slik v oblaku.
Pošiljanje podatkov z zvokom ustvarja edinstveno izkušnjo, kjer je mogoče podatke predvajati vsem, ki so v dosegu sluha.
Korak: Namestite zahteve
Xcode
Namestite iz App Store.
CocoaPods
sudo gem namestite cocoapods
Chirp Connect iOS SDK
Prijavite se na admin.chirp.io
2. korak: Namestitev projekta
1. Ustvarite projekt Xcode.
2. Prijavite se v Firebase in ustvarite nov projekt.
Omogočite Firestore tako, da kliknete razdelek Database in izberete Cloud Firestore. Kliknite Funkcije, da omogočite tudi funkcije v oblaku.
3. Zaženite razdelek Nastavitev aplikacije za iOS na strani Pregled projekta
Potrebovali boste identifikator svežnja na zavihku Splošno v nastavitvah projekta Xcode. Ko je podfile ustvarjen, boste morali pred zagonom pod install dodati naslednje odvisnosti.
# Stroki za projekt
pod 'Firebase/Core' pod 'Firebase/Firestore' pod 'Firebase/Storage'
4. Prenesite najnovejši SDK za Chirp Connect iOS s spletnega mesta admin.chirp.io/downloads
5. Sledite korakom na developers.chirp.io za integracijo Chirp Connect v Xcode.
Pojdite na Začetek / iOS. Nato se pomaknite navzdol in sledite navodilom za nastavitev Swift. To vključuje uvoz okvira in ustvarjanje premostitvene glave.
Zdaj je nastavitev končana, lahko začnemo pisati kodo! Priporočljivo je, da na vsaki stopnji nastavitve preverite, ali je vaš projekt sestavljen.
3. korak: Napišite kodo IOS
1. Uvozite Firebase v svoj ViewController in razširite NSData na razširitev hexString, tako da lahko pretvorimo koristne obremenitve Chirp Connect v šestnajstiški niz. (Chirp Connect bo na voljo po vsem svetu zahvaljujoč premostitveni glavi).
uvoz UIKit
uvoz Firebase
razširitev Podatki {
var hexString: Niz {return map {String (format: "%02x", UInt8 ($ 0))}.joined ()}}
2. V svoj ViewController dodajte delegate ImagePicker in razglasite spremenljivko ChirpConnect, imenovano connect.
razred ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
var connect: ChirpConnect? preglasiti funkc viewDidLoad () {super.viewDidLoad ()…
3. Po super.viewDidLoad inicializirajte Chirp Connect in nastavite prejeti povratni klic. V prejetem povratnem klicu bomo sliko prenesli iz Firebase z uporabo prejete obremenitve in posodobili ImageView. APP_KEY in APP_SECRET lahko dobite iz admin.chirp.io.
connect = ChirpConnect (appKey: APP_KEY, andSecret: APP_SECRET), če dovolite connect = connect {connect.getLicenceString {(licenca: String ?, napaka: Napaka?) v, če je napaka == nil {če je licenca = licenca {connect.setLicenceString (licence) connect.start () connect.receivedBlock = {(data: Data?) -> () in if let data = data {print (String (format: "Prejeti podatki: %@", data.hexString)) let file = Storage.storage (). Reference (). Podrejeni (data.hexString) file.getData (maxSize: 1 * 1024 * 2048) {imageData, napaka v primeru, če gre za napako = napaka {print ("Napaka: %@", napaka.localizedDescription)} else {self.imageView.image = UIImage (podatki: imageData!)}}} else {print ("Dekodiranje ni uspelo"); }}}}
4. Zdaj dodajte kodo za pošiljanje slikovnih podatkov, ko so izbrani v uporabniškem vmesniku.
func imagePickerController (_ izbirnik: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any])
{let imageData = info [UIImagePickerControllerOriginalImage] kot? Podatki UIImage naj: Podatki = UIImageJPEGPredstavitev (imageData !, 0,1)! self.imageView.image = imageData let metadata = StorageMetadata () metadata.contentType = "image/jpeg" if let connect = connect {let key: Data = connect.randomPayload (withLength: 8) Firestore.firestore (). collection (" uploads "). addDocument (data: [" key ": key.hexString," timestamp ": FieldValue.serverTimestamp ()]) {error in if let error = napaka {print (error.localizedDescription)}} Storage.storage ().reference (). podrejeni (key.hexString).putData (podatki, metapodatki: metapodatki) {(metapodatki, napaka) v primeru, če je napaka = napaka {print (error.localizedDescription)} else {connect.send (key)}} } self.dismiss (animirano: res, zaključek: nič)}
Opomba: Dodati morate zasebnost - opis uporabe knjižnice fotografij, zasebnost - opis uporabe in zasebnost knjižnice fotografij - izjave o opisu uporabe mikrofona na svojem seznamu Info.plist, da podelite dovoljenja za uporabo kamere, knjižnice fotografij in mikrofona.
4. korak: Ustvarite uporabniški vmesnik
Zdaj pojdite na datoteko Main.storyboard, da ustvarite uporabniški vmesnik.
1. Povlecite čez ImageView in dva gumba na Storyboard s plošče Object Library v spodnjem desnem kotu.
2. Za vsak gumb dodajte omejitev višine približno 75 slikovnih pik, tako da izberete komponento in kliknete gumb Dodaj nove omejitve (tistega, ki izgleda kot borec kravate Star Wars), nato vnesite višino in pritisnite Enter.
3. Izberite vse tri komponente in jih s klikom na gumb Embed In Stack postavite v pogled sklada.
4. Zdaj odprite Pomočni urejevalnik in pritisnite CTRL ter povlecite od vsake komponente do kode ViewController, da ustvarite vtičnice za vsako komponento.
@IBOutlet var imageView: UIImageView!
@IBOutlet var openLibraryButton: UIButton! @IBOutlet var openCameraButton: UIButton!
5. Zdaj pritisnite CTRL in povlecite z obeh gumbov, da ustvarite dejanje za odpiranje uporabniškega vmesnika kamere/knjižnice.
6. V dejanje Odpri knjižnico dodajte naslednjo kodo
@IBAction func openLibrary (_ pošiljatelj: poljuben) {
naj imagePicker = UIImagePickerController () imagePicker.delegate = self; imagePicker.sourceType =.photoLibrary self.present (imagePicker, animirano: true, zaključek: nič)}
7. V dejanju Odpri kamero
@IBAction func openCamera (_ pošiljatelj: poljuben) {
naj imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType =.camera; self.present (imagePicker, animirano: true, zaključek: nič)}
5. korak: Napišite funkcijo v oblaku
Ker fotografij ni treba shranjevati v oblaku za vedno, lahko za čiščenje napišemo funkcijo v oblaku. To lahko vsako uro sproži funkcija HTTP kot funkcija HTTP, kot je cron-job.org.
Najprej moramo namestiti orodja firebase
npm install -g firebase -tools
Nato zaženite iz korenskega imenika projekta
firebase init
Izberite funkcije iz ukazne vrstice, da inicializirate funkcije v oblaku. Firestore lahko omogočite tudi, če želite konfigurirati Firestore.
Nato odprite functions/index.js in dodajte naslednjo kodo. Ne pozabite se spremeniti
na vaš ID projekta Firebase.
const functions = require ('firebase-functions');
const admin = require ('firebase-admin'); admin.initializeApp () export.cleanup = functions.https.onRequest ((request, response) => {admin.firestore ().collection ('uploads').where ('timestamp', '{snapshot.forEach (doc = > {admin.storage ().bucket ('gs: //.appspot.com').file (doc.data ().key).delete () doc.ref.delete ()}) return response.status (200).send ('OK')}).catch (err => response.status (500).send (err))});
Uvajanje funkcij v oblaku je tako preprosto, kot da zaženete ta ukaz.
uvajanje firebase
Nato na cron-job.org ustvarite opravilo, ki vsako uro sproži to končno točko. Končna točka bo nekaj takega
us-central1-project_id.cloudfunctions.net/cleanup
6. korak: Zaženite aplikacijo
Zaženite aplikacijo na simulatorju ali napravi iOS in začnite deliti fotografije!
Priporočena:
Aplikacija za daljinsko upravljanje AmbiBox IOS: 5 korakov
Aplikacija za daljinsko upravljanje AmbiBox IOS: S to aplikacijo za iOS lahko upravljate svoj AmbiBox s svojega iPhone ali iPad. Govoril bom o aplikaciji in o tem, kako komunicira s strežnikom AmbiBox, če želite vedeti, kako namestiti AmbiBox in LED trakove, obstaja več vadnic v
Smartbike za skupno rabo: 12 korakov (s slikami)
Smartbike za skupno rabo: Ko uporabljam kolo, pozabim prižgati luči, ko se mrači. Tudi na svojem kolesu ne vem, kako hitro grem. Zato sem se odločil, da naredim skupno kolo za skupno rabo, ki bo spremljalo: hitrostno lokacijo Kako dolgo ste
LED risalna plošča Bluetooth in aplikacija IOS: 9 korakov (s slikami)
Plošča za risanje LED LED in aplikacija IOS: V tej vadnici boste lahko ustvarili LED ploščo Bluetooth, ki lahko črpa slike iz aplikacije za iPhone, ki jo ustvarimo. V tej aplikaciji bodo uporabniki lahko ustvarili igro Connect 4, ki bo prikazana tudi na tej igralni plošči. To bo ch
Rešitev IOT za skupno rabo kolesa: 6 korakov
Rešitev IOT za kolo za skupno rabo: kolo za skupno rabo je danes zelo priljubljeno na Kitajskem. Na trgu je več kot 10 blagovnih znamk koles za skupno rabo, “ mobike ” je najbolj znan, ima več kot 100 milijonov registriranih uporabnikov in se je razširil tudi v druga mesta
Aplikacija Android/iOS za oddaljeni dostop do usmerjevalnika OpenWrt: 11 korakov
Aplikacija Android/iOS za oddaljeni dostop do vašega usmerjevalnika OpenWrt: pred kratkim sem kupil nov usmerjevalnik (Xiaomi Mi Router 3G). In seveda, ta nov, super kos strojne opreme me je navdihnil, da sem začel delati na tem projektu;)