Tartalomjegyzék:

Proximity Photo Sharing IOS App: 6 lépés
Proximity Photo Sharing IOS App: 6 lépés

Videó: Proximity Photo Sharing IOS App: 6 lépés

Videó: Proximity Photo Sharing IOS App: 6 lépés
Videó: The interior atmosphere light belt #LED 2024, November
Anonim

Ebben az utasításban egy iOS -alkalmazást hozunk létre a Swift segítségével, amely lehetővé teszi, hogy fényképeket osszon meg a közelben lévő személyekkel, és nincs szükség eszközpárosításra.

A Chirp Connect segítségével hangot küldünk, a Firebase -t pedig a képek felhőben történő tárolására.

Az adatok hanggal történő küldése egyedülálló élményt nyújt, ahol az adatok bárki számára sugározhatók a hallótávolságon belül.

1. lépés: Telepítési követelmények

Xcode

Telepítse az App Store -ból.

CocoaPods

sudo gem telepítse a cocoapodokat

Chirp Connect iOS SDK

Regisztráljon az admin.chirp.io címen

2. lépés: Projekt beállítása

1. Hozzon létre egy Xcode projektet.

2. Jelentkezzen be a Firebase -be, és hozzon létre egy új projektet.

A Firestore engedélyezéséhez kattintson az Adatbázis szakaszra, és válassza a Cloud Firestore lehetőséget. Kattintson a Funkciók elemre a felhőfunkciók engedélyezéséhez.

3. Futtassa az iOS -alkalmazás beállítása lehetőséget a Projekt áttekintése oldalon

Szüksége lesz a Bundle Identifier -re az Xcode Project Settings Általános lapján. Miután létrehozta a Podfile -t, a pod telepítés futtatása előtt hozzá kell adnia a következő függőségeket.

# Hüvelyek a projekthez

pod 'Firebase/Core' pod 'Firebase/Firestore' pod 'Firebase/Storage'

4. Töltse le a legújabb Chirp Connect iOS SDK -t az admin.chirp.io/downloads webhelyről

5. A Chirp Connect Xcode -ba történő integrálásához kövesse a develop.chirp.io webhely lépéseit.

Lépjen az Első lépések / iOS oldalra. Ezután görgessen lefelé, és kövesse a Swift beállítási utasításait. Ez magában foglalja a keretrendszer importálását és az áthidaló fejléc létrehozását.

Most a beállítás befejeződött, elkezdhetünk írni néhány kódot! Érdemes ellenőrizni a projekt összeállításait a beállítás minden szakaszában.

Lépés: Írja be az IOS kódot

1. Importálja a Firebase -t a ViewControllerbe, és bővítse ki az NSData -t egy hexString kiterjesztéssel, hogy a Chirp Connect hasznos terheléseit hexadecimális karakterlánccá alakíthassuk át. (A Chirp Connect világszerte elérhető lesz az áthidaló fejlécnek köszönhetően).

importálja az UIKit

importálja a Firebase -t

kiterjesztési adatok {

var hexString: String {return map {String (format: "%02x", UInt8 ($ 0))}.joined ()}}

2. Adja hozzá az ImagePicker küldötteit a ViewControllerhez, és deklaráljon egy ChirpConnect változót, amelyet connect -nek hívnak.

osztály ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

var connect: ChirpConnect? felülbírálja a func viewDidLoad () {super.viewDidLoad ()…

3. A super.viewDidLoad után inicializálja a Chirp Connect programot, és állítsa be a fogadott visszahívást. A fogadott visszahívás során lekérjük a képet a Firebase -ből a kapott hasznos terhelés felhasználásával, és frissítjük az ImageView -t. Az APP_KEY és az APP_SECRET letölthető az admin.chirp.io webhelyről.

connect = ChirpConnect (appKey: APP_KEY, andSecret: APP_SECRET) if let connect = connect {connect.getLicenceString {(licenc: String ?, error: Error?) in if error == nil {if let licensz = licenc {connect.setLicenceString (licenc) connect.start () connect.receivedBlock = {(adatok: adatok?) -> () be, ha let data = data {print (String (formátum: "Fogadott adatok: %@", data.hexString)) let fájl = Storage.storage (). Reference (). Child (data.hexString) file.getData (maxSize: 1 * 1024 * 2048) {imageData, error in if let error = error {print ("Error: %@", error.localizedDescription)} else {self.imageView.image = UIImage (adatok: imageData!)}}} else {print ("Sikertelen dekódolás"); }}}}

4. Most adja hozzá a kódot a képadatok elküldéséhez, miután kiválasztotta azokat a felhasználói felületen.

func imagePickerController (_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any])

{let imageData = info [UIImagePickerControllerOriginalImage] mint? UIImage let adatok: Data = UIImageJPEGRepresentation (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 (" addDocument (adatok: ["key": key.hexString, "timestamp": FieldValue.serverTimestamp ()]) {error in if let error = error {print (error.localizedDescription)}} Storage.storage ().reference (). child (key.hexString).putData (adatok, metaadatok: metaadatok) {(metaadatok, hiba) in if let error = error {print (error.localizedDescription)}} else {connect.send (key)}} } self.dismiss (animált: igaz, befejezés: nulla)}

Megjegyzés: Adatvédelem - Fotótár használat leírása, Adatvédelem - Fotótár használat leírása és adatvédelem - Mikrofon használati leírás nyilatkozatokat kell hozzáadnia az Info.plist -hez, hogy engedélyeket adjon a fényképezőgép, a fotókönyvtár és a mikrofon használatához.

4. lépés: Hozzon létre felhasználói felületet

Hozzon létre felhasználói felületet
Hozzon létre felhasználói felületet

Most menjen a Main.storyboard fájlhoz egy felhasználói felület létrehozásához.

1. Húzza át az ImageView és két gombot a Storyboardra az Object Library panelen, a jobb alsó sarokban.

2. Minden egyes gombhoz hozzá kell adnia egy körülbelül 75 képpontos magasságkorlátozást az összetevő kiválasztásával, majd az Új kényszerek hozzáadása gombra kattintva (amelyik úgy néz ki, mint egy Star Wars nyakkendő harcos), majd adja meg a magasságot, és nyomja meg az Enter billentyűt.

3. Válassza ki mind a három összetevőt, és tegye őket verem nézetbe a Beágyazás a verembe gombra kattintva.

4. Most nyissa meg a Segédszerkesztőt, és nyomja meg a CTRL billentyűt, és húzza az egyes összetevőket a ViewController kódba, hogy minden alkatrészhez Outlets -t hozzon létre.

@IBOutlet var imageView: UIImageView!

@IBOutlet var openLibraryButton: UIButton! @IBOutlet var openCameraButton: UIButton!

5. Most nyomja meg a CTRL billentyűt, és húzza mindkét gombot, hogy hozzon létre egy műveletet a kamera/könyvtár felhasználói felületének megnyitásához.

6. A Könyvtár megnyitása műveletben adja hozzá a következő kódot

@IBAction func openLibrary (_ feladó: Bármely) {

hadd imagePicker = UIImagePickerController () imagePicker.delegate = self; imagePicker.sourceType =.photoLibrary self.present (imagePicker, animált: igaz, befejezés: nulla)}

7. A Kamera megnyitása műveletben

@IBAction func openCamera (_ feladó: Bármely) {

hadd imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType =.camera; self.present (imagePicker, animált: igaz, befejezés: nulla)}

5. lépés: Írjon felhőfüggvényt

Mivel a fényképeket nem kell örökké a felhőben tárolni, felhőfunkciót írhatunk a tisztításhoz. Ezt HTTP-funkcióként óránként aktiválhatja egy cron szolgáltatás, például a cron-job.org.

Először telepítenünk kell a Firebase eszközöket

npm telepítse a -g firebase -tools eszközt

Ezután futtassa a projekt gyökérkönyvtárát

firebase init

Válasszon funkciókat a parancssorból a felhőfunkciók inicializálásához. A firestore -t akkor is engedélyezheti, ha szeretné konfigurálni a Firestore -t.

Ezután nyissa meg a függvényeket/index.js, és adja hozzá a következő kódot. Ne feledje megváltoztatni

a Firebase -projekt azonosítójához.

const függvények = igényelnek ('firebase-function');

const admin = need ('firebase-admin'); admin.initializeApp () export.cleanup = function.https.onRequest ((kérés, válasz) => {admin.firestore ().collection ('feltöltések').where ('timestamp', '{snapshot.forEach (doc =) > {admin.storage ().bucket ('gs: //.appspot.com').file (doc.data ().key).delete () doc.ref.delete ()}) return response.status (200).küld ('OK')}).catch (err => response.status (500).send (err))});

A felhőfunkciók telepítése olyan egyszerű, mint a parancs futtatása.

tűzbázis telepítése

Ezután a cron-job.org oldalon hozzon létre egy feladatot, amely óránként aktiválja ezt a végpontot. A végpont valami hasonló lesz

us-central1-project_id.cloudfunctions.net/cleanup

6. lépés: Futtassa az alkalmazást

Futtassa az alkalmazást egy szimulátoron vagy iOS -eszközön, és kezdje el megosztani a fényképeket!

Ajánlott: