Tartalomjegyzék:
- 1. lépés: Telepítési követelmények
- 2. lépés: Projekt beállítása
- Lépés: Írja be az IOS kódot
- 4. lépés: Hozzon létre felhasználói felületet
- 5. lépés: Írjon felhőfüggvényt
- 6. lépés: Futtassa az alkalmazást
Videó: Proximity Photo Sharing IOS App: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
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
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:
Olcsó DIY Photo Box: 5 lépés
Olcsó DIY fotódoboz: Szüksége volt valaha valamire, hogy a képei jobbak legyenek az oktatható projektek számára, vagy csak megfelelő megvilágításra van szüksége a képeihez, akkor is használhat egy fotódobozt, amelyet könnyen elkészíthet otthon. Az enyém itt nem a legjobb, de olcsó és
Walker Proximity eszköz: 4 lépés
Walker Proximity Device: Üdv mindenkinek! A WPI Massachusetts Matematikai és Tudományos Akadémiájának hallgatói vagyunk. Nemrég fejeztünk be egy segítő technológiai projektet, amely segíti a Seven Hills demenciában szenvedő ügyfeleit. Demenciája következtében az ügyfél így
Intelligens otthoni automatizálás Energenie aljzatokkal - Proximity aljzatok: 4 lépés
Intelligens otthonautomatizálás Energenie aljzatokkal - közelségi aljzatok: Bevezetés Rengeteg példa van az intelligens otthoni automatizálásra, de ez egyszerű és nagyon hatékonyan működik egy éve a házamban, ezért remélem, tetszik. Ha elkészült, lesz egy eszköze, amely képes beolvasni a hálózatot
Haptic Proximity modul - olcsó és egyszerű: 5 lépés (képekkel)
Haptic Proximity Module - Olcsó és egyszerű: Isten ajándékozott látása az ember számára életünk fontos aspektusa. Vannak azonban szerencsétlen emberek, akiknek nincs képük vizualizálni a dolgokat. Világszerte körülbelül 37 millió vak ember van, több mint 15 millió
Proximity LED BackPack: 6 lépés (képekkel)
Proximity LED BackPack: A projektemet egy közelítő objektum vagy 20 cm -es tárgy érzékelésére tervezték, köszönhetően a 27 Egeloo érzékelőkészletem által biztosított Proximity IR érzékelőnek. Íme egy lista, amire szüksége van: Elemek listája: 1. WS2812b Neo Pixel LED -ek 2. Tápegység (én