Sisukord:
- Samm: installinõuded
- 2. samm: seadistusprojekt
- Samm: kirjutage IOS -kood
- Samm: looge kasutajaliides
- Samm: kirjutage pilvefunktsioon
- Samm: käivitage rakendus
Video: Läheduse fotode jagamise IOS -i rakendus: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Selles juhendis loome Swiftiga iOS -i rakenduse, mis võimaldab teil jagada fotosid läheduses olevate inimestega ilma seadme sidumiseta.
Me kasutame heli saatmiseks andmete saatmiseks Chirp Connecti ja piltide pilve salvestamiseks Firebase'i.
Heli abil andmete saatmine loob ainulaadse kogemuse, kus andmeid saab edastada kõigile, kes on kuulmispiirkonnas.
Samm: installinõuded
Xcode
Installige App Store'ist.
Kakaopoodid
sudo gem installida kakaod
Chirp Connect iOS SDK
Registreeruge aadressil admin.chirp.io
2. samm: seadistusprojekt
1. Looge Xcode projekt.
2. Logige Firebase'i sisse ja looge uus projekt.
Luba Firestore, klõpsates jaotises Andmebaas ja valides Cloud Firestore. Pilvefunktsioonide lubamiseks klõpsake valikul Funktsioonid.
3. Tehke lehel Projektide ülevaade läbi iOS -i rakenduse seadistamine
Teil on vaja Xcode projekti seadete vahekaardil Üldine kimpude identifikaatorit. Kui Podfile on loodud, peate enne pod installimise käivitamist lisama järgmised sõltuvused.
# Kaunad projekti jaoks
pod 'Firebase/Core' pod 'Firebase/Firestore' pod 'Firebase/Storage'
4. Laadige alla uusim Chirp Connect iOS SDK saidilt admin.chirp.io/downloads
5. Chirp Connecti Xcode'i integreerimiseks järgige saidil Developers.chirp.io toodud juhiseid.
Avage Alustamine / iOS. Seejärel kerige alla ja järgige Swifti seadistamisjuhiseid. See hõlmab raamistiku importimist ja sildpäise loomist.
Nüüd on seadistamine lõppenud, saame hakata koodi kirjutama! Hea mõte on kontrollida oma projekti koostamist seadistamise igas etapis.
Samm: kirjutage IOS -kood
1. Importige Firebase oma ViewControllerisse ja laiendage NSData, et see sisaldaks laiendit hexString, et saaksime teisendada Chirp Connecti kasulikud koormused kuueteistkümnendiks. (Chirp Connect on tänu sillapäisele saadaval kogu maailmas).
import UIKit
Firebase'i importimine
laiendi andmed {
var hexString: String {tagastuskaart {String (formaat: "%02x", UInt8 ($ 0))}. liitunud ()}}
2. Lisage oma ViewControllerisse ImagePickeri esindajad ja deklareerige ChirpConnecti muutuja nimega connect.
klassi ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
var connect: ChirpConnect? alistama func viewDidLoad () {super.viewDidLoad ()…
3. Pärast super.viewDidLoad käivitage Chirp Connect ja seadistage vastuvõetud tagasihelistamine. Vastuvõetud tagasihelistamisel toome pildi Firebase'ist, kasutades saadud koormust, ja värskendame ImageView. Saate oma APP_KEY ja APP_SECRET hankida aadressilt admin.chirp.io.
connect = ChirpConnect (appKey: APP_KEY ja Secret: APP_SECRET) if let connect = connect {connect.getLicenceString {(litsents: string ?, error: Error?) in if error == nil {if let license = license {connect.setLicenceString (litsents) connect.start () connect.receivedBlock = {(andmed: andmed?) -> () sisse kui lubada andmed = andmed {print (String (formaat: "Vastuvõetud andmed: %@", data.hexString)) lase fail = Storage.storage (). Viide (). Laps (data.hexString) file.getData (maxSize: 1 * 1024 * 2048) {imageData, viga sisselaskmisel error = error {print ("Error: %@", error.localizedDescription)} else {self.imageView.image = UIImage (andmed: imageData!)}}} else {print ("Dekodeerimine ebaõnnestus"); }}}}
4. Nüüd lisage pildiandmete saatmiseks kood, kui see on kasutajaliideses valitud.
func imagePickerController (_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any])
{lubage imageData = info [UIImagePickerControllerOriginalImage] kui? UIImage lubab andmeid: Data = UIImageJPEGRepresentation (imageData !, 0,1)! self.imageView.image = imageData let metadata = StorageMetadata () metadata.contentType = "image/jpeg" kui lubada connect = connect {let key: Data = connect.randomPayload (withLength: 8) Firestore.firestore (). collection (" addDocument (andmed: ["võti": key.hexString, "timestamp": FieldValue.serverTimestamp ()]) {error in if let error = error {print (error.localizedDescription)}} Storage.storage ().reference (). laps (key.hexString).putData (andmed, metaandmed: metaandmed) {(metaandmed, viga) sisse, kui lasta viga = viga {print (error.localizedDescription)}} muu {connect.send (võti)}} } self.dismiss (animeeritud: tõsi, lõpetamine: null)}
Märkus. Kaamera, fototeegi ja mikrofoni kasutamiseks vajalike õiguste lisamiseks peate oma Info.plisti lisama privaatsuse - fototeegi kasutamise kirjelduse, privaatsuse - fototeegi kasutamise kirjelduse ja privaatsuse - mikrofoni kasutamise kirjelduse avaldused.
Samm: looge kasutajaliides
Nüüd minge kasutajaliidese loomiseks faili Main.storyboard.
1. Lohistage paremas alanurgas asuval objektide kogu paneelil üle ImageView ja kaks nuppu süžeeskeemile.
2. Lisage igale nupule kõrguspiirang umbes 75 pikslit, valides komponendi ja klõpsates nupul Lisa uued piirangud (see, mis näeb välja nagu Star Warsi lipsuvõitleja), seejärel sisestage kõrgus ja vajutage sisestusklahvi.
3. Valige kõik kolm komponenti ja pange need virna vaatele, klõpsates nuppu Embed In Stack.
4. Nüüd avage assistendi redaktor ja vajutage klahvikombinatsiooni CTRL ning lohistage igast komponendist ViewController koodi, et luua igale komponendile väljundid.
@IBOutlet var imageView: UIImageView!
@IBOutlet var openLibraryButton: UIButton! @IBOutlet var openCameraButton: UIButton!
5. Nüüd CTRL ja lohistage mõlemast nupust, et luua toiming kaamera/teegi kasutajaliidese avamiseks.
6. Toimingusse Ava teek lisage järgmine kood
@IBAction func openLibrary (_ saatja: ükskõik) {
lase imagePicker = UIImagePickerController () imagePicker.delegate = ise; imagePicker.sourceType =.photoLibrary self.present (imagePicker, animeeritud: tõsi, lõpetamine: null)}
7. Aknas Ava kaamera
@IBAction func openCamera (_ saatja: ükskõik) {
lase imagePicker = UIImagePickerController () imagePicker.delegate = mina imagePicker.sourceType =.kaamera; self.present (imagePicker, animeeritud: tõsi, lõpetamine: null)}
Samm: kirjutage pilvefunktsioon
Kuna fotosid ei pea igavesti pilve salvestama, saame puhastuse tegemiseks kirjutada pilvefunktsiooni. Selle võib käivitada HTTP-funktsioonina iga tund cron-teenus, näiteks cron-job.org.
Kõigepealt peame installima firebase-tööriistad
npm installida -g firebase -tools
Seejärel käivitage projekti juurkataloog
firebase'i algataja
Pilvefunktsioonide lähtestamiseks valige käsurealt funktsioonid. Kui soovite ka Firestore'i konfigureerida, saate lubada ka tuletoite.
Seejärel avage funktsioonid/index.js ja lisage järgmine kood. Ärge unustage muuta
oma Firebase'i projekti ID -le.
const funktsioonid = nõuda ('tulebaasi funktsioonid');
const admin = nõuda ('firebase-admin'); admin.initializeApp () export.cleanup = features.https.onRequest ((päring, vastus) => {admin.firestore ().collection ('uploads').where ('timestamp', '{snapshot.forEach (doc =) > {admin.storage ().bucket ('gs: //.appspot.com').fail (doc.data ().key).delete () doc.ref.delete ()}) return response.status (200). Saata ('OK')}). Püüdma (err => vastus. Olek (500). Saatma (viga))});
Pilvefunktsioonide juurutamine on sama lihtne kui selle käsu käivitamine.
tulebaasi juurutamine
Seejärel looge saidil cron-job.org töö, mis käivitab selle tunnuse iga tunni tagant. Lõpp -punkt saab olema midagi sellist
us-central1-project_id.cloudfunctions.net/cleanup
Samm: käivitage rakendus
Käivitage rakendus simulaatoris või iOS -seadmes ja hakake fotosid jagama!
Soovitan:
AmbiBox IOS kaugjuhtimispuldi rakendus: 5 sammu
AmbiBox IOS kaugjuhtimispult: selle iOS -i rakendusega saate oma AmbiBoxi juhtida oma iPhone'ist või iPadist. Ma räägin rakendusest ja sellest, kuidas see AmbiBoxi serveriga suhtleb. Kui soovite teada, kuidas AmbiBoxi ja LED -ribasid installida, on seal mitmeid õpetusi
Bluetooth LED -joonistuslaud ja IOS -rakendus: 9 sammu (piltidega)
Bluetoothi LED -joonistuslaud ja IOS -rakendus: selles õpetuses saate luua Bluetooth -LED -tahvli, mis saab meie loodud iPhone'i rakendusest pilte joonistada. Selles rakenduses saavad kasutajad luua mängu Connect 4, mis kuvatakse ka sellel mängulaual. Sellest saab ch
Androidi/iOS -i rakendus teie OpenWrt -ruuteri kaugjuurdepääsuks: 11 sammu
Androidi/iOS -i rakendus teie OpenWrt -ruuteri kaugjuurdepääsuks: ostsin hiljuti uue ruuteri (Xiaomi Mi Router 3G). Ja loomulikult inspireeris see uus ja vinge riistvara mind selle projektiga tegelema;)
Arduino Nano korrutamise/jagamise märgid: 9 sammu (piltidega)
Arduino Nano korrutamise/jagamise märgid: Arduino Nano korrutamise/jagamise märgid võivad olla suurepärane vahend põhikooli astmetel õpetamiseks, sest selle kujundus arvas, et see näitab märkide kombinatsioonide tulemust korrutamise ja amp; jagunemine
Lihtne IOS -rakendus BLE -moodulite jaoks: 4 sammu
Lihtne IOS -i rakendus BLE -moodulite jaoks: see juhendab, kuidas luua väga põhifunktsioonidega iOS -i rakendus. See juhend ei läbi kogu iOS BLE rakenduse loomise protsessi. See annab ainult kõrgetasemelise ülevaate mõnest olulisest elemendist koos