Turinys:
- 1 veiksmas: diegimo reikalavimai
- 2 žingsnis: sąrankos projektas
- 3 žingsnis: parašykite IOS kodą
- 4 žingsnis: sukurkite vartotojo sąsają
- 5 veiksmas: parašykite debesies funkciją
- 6 veiksmas: paleiskite programą
Video: Nuotraukų bendrinimo „IOS“programa: 6 veiksmai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šioje instrukcijoje mes sukursime „iOS“programą su „Swift“, kuri leis jums dalytis nuotraukomis su visais netoliese esančiais asmenimis, nereikalaujant suporuoti įrenginio.
Mes naudosime „Chirp Connect“duomenims siųsti naudojant garsą, o „Firebase“- vaizdams saugoti debesyje.
Siunčiant duomenis su garsu sukuriama unikali patirtis, kai duomenys gali būti transliuojami visiems, esantiems klausos diapazone.
1 veiksmas: diegimo reikalavimai
Xcode
Įdiekite iš „App Store“.
Kakavos pupelės
sudo gem įdiegti cocoapods
„Chirp Connect“„iOS“SDK
Užsiregistruokite adresu admin.chirp.io
2 žingsnis: sąrankos projektas
1. Sukurkite Xcode projektą.
2. Prisijunkite prie „Firebase“ir sukurkite naują projektą.
Įgalinkite „Firestore“spustelėdami skyrių „Duomenų bazė“ir pasirinkę „Cloud Firestore“. Spustelėkite Funkcijos, kad taip pat įgalintumėte debesies funkcijas.
3. Projekto apžvalgos puslapyje paleiskite „Nustatykite„ iOS “programą
Jums reikės paketo identifikatoriaus, esančio skirtuke „Bendra“, esančiame „Xcode“projekto nustatymuose. Sukūrus „Podfile“, prieš paleidžiant pod diegimą turėsite pridėti šias priklausomybes.
# Ankštys projektui
pod 'Firebase/Core' pod 'Firebase/Firestore' pod 'Firebase/Storage'
4. Atsisiųskite naujausią „Chirp Connect iOS“SDK iš admin.chirp.io/downloads
5. Norėdami integruoti „Chirp Connect“į „Xcode“, atlikite kūrėjų.chirp.io veiksmus.
Eikite į Pradžia / „iOS“. Tada slinkite žemyn ir vykdykite „Swift“nustatymo instrukcijas. Tai apims sistemos importavimą ir susiejimo antraštės sukūrimą.
Dabar sąranka baigta, galime pradėti rašyti kodą! Patartina patikrinti kiekvieno projekto sąrankos etapą.
3 žingsnis: parašykite IOS kodą
1. Importuokite „Firebase“į savo „ViewController“ir išplėskite „NSData“, įtraukdami „hexString“plėtinį, kad galėtume konvertuoti „Chirp Connect“naudingąsias apkrovas į šešioliktainę eilutę. („Chirp Connect“bus prieinama visame pasaulyje dėl sujungimo antraštės).
importuoti UIKit
importuoti „Firebase“
plėtinio duomenys {
var hexString: String {return map {String (formatas: "%02x", UInt8 ($ 0))}.joined ()}}
2. Pridėkite „ImagePicker“atstovus prie „ViewController“ir paskelbkite „ChirpConnect“kintamąjį, vadinamą „connect“.
klasės „ViewController“: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
var connect: „ChirpConnect“? nepaisyti funkcinio rodinioDidLoad () {super.viewDidLoad ()…
3. Po super.viewDidLoad inicijuokite „Chirp Connect“ir nustatykite gautą atgalinį skambutį. Gavę atgalinį skambutį, mes gausime vaizdą iš „Firebase“, naudodami gautą naudingąją apkrovą, ir atnaujinsime „ImageView“. APP_KEY ir APP_SECRET galite gauti iš admin.chirp.io.
connect = ChirpConnect (appKey: APP_KEY, andSecret: APP_SECRET) if let connect = connect {connect.getLicenceString {(licence: String ?, error: Error?) in if error == nil {if let license = license {connect.setLicenceString (licencija) connect.start () connect.receivedBlock = {(duomenys: duomenys?) -> () in if let data = data {print (String (formatas: "Gauti duomenys: %@", data.hexString)) tegul failas = 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 (duomenys: imageData!)}}} else {print ("Nepavyko iššifruoti"); }}}}
4. Dabar pridėkite vaizdo duomenų siuntimo kodą, kai jis bus pasirinktas vartotojo sąsajoje.
func imagePickerController (_ rinkiklis: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: Any])
{tegul imageData = info [UIImagePickerControllerOriginalImage] kaip? UIImage tegul duomenys: Data = UIImageJPEGRepresentation (imageData !, 0.1)! self.imageView.image = imageData tegul metadata = StorageMetadata () metadata.contentType = "image/jpeg", jei leidžiama prisijungti = prisijungti {let key: Data = connect.randomPayload (withLength: 8) Firestore.firestore (). collection (" addDocument (duomenys: ["key": key.hexString, "timestamp": FieldValue.serverTimestamp ()]) {error in if let error = error {print (error.localizedDescription)}} Storage.storage ().reference (). vaikas (key.hexString).putData (duomenys, metaduomenys: metaduomenys) {(metaduomenys, klaida), jei leiskite klaida = klaida {print (error.localizedDescription)}} kitas {connect.send (key)}} } self.dismiss (animacinis: tiesa, užbaigimas: nulis)}
Pastaba: Norėdami suteikti leidimus naudoti fotoaparatą, nuotraukų biblioteką ir mikrofoną, prie savo „Info.plist“turėsite pridėti privatumo - nuotraukų bibliotekos naudojimo aprašymo, privatumo - nuotraukų bibliotekos naudojimo aprašymo ir privatumo - mikrofono naudojimo aprašo teiginius.
4 žingsnis: sukurkite vartotojo sąsają
Dabar eikite į „Main.storyboard“failą, kad sukurtumėte vartotojo sąsają.
1. Nuvilkite „ImageView“ir du mygtukus į siužetinę liniją iš „Object Library“skydelio apatiniame dešiniajame kampe.
2. Prie kiekvieno mygtuko pridėkite maždaug 75 pikselių aukščio apribojimą, pasirinkdami komponentą ir spustelėdami mygtuką Pridėti naujų apribojimų (tą, kuris atrodo kaip „Žvaigždžių karų“kovotojas), tada įveskite aukštį ir paspauskite „Enter“.
3. Pasirinkite visus tris komponentus ir įdėkite juos į krūvos rodinį spustelėdami mygtuką Įterpti į krūvą.
4. Dabar atidarykite asistento redaktorių ir paspauskite CTRL ir vilkite iš kiekvieno komponento į „ViewController“kodą, kad sukurtumėte kiekvieno komponento „Outlets“.
@IBOutlet var imageView: UIImageView!
@IBOutlet var openLibraryButton: UIButton! @IBOutlet var openCameraButton: UIButton!
5. Dabar paspauskite CTRL ir vilkite iš abiejų mygtukų, kad sukurtumėte veiksmą, skirtą atidaryti fotoaparato/bibliotekos vartotojo sąsają.
6. Atidarydami biblioteką, pridėkite šį kodą
@IBAction func openLibrary (_ siuntėjas: bet koks) {
tegul imagePicker = UIImagePickerController () imagePicker.delegate = self; imagePicker.sourceType =.photoLibrary self.present (imagePicker, animuotas: tiesa, užbaigimas: nulis)}
7. Atidarydami fotoaparatą
@IBAction func openCamera (_ siuntėjas: bet koks) {
tegul imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType =.camera; self.present („imagePicker“, animacinis: tiesa, užbaigimas: nulis)}
5 veiksmas: parašykite debesies funkciją
Kadangi nuotraukų nereikia amžinai saugoti debesyje, galime parašyti debesies funkciją, kad galėtume atlikti valymą. Tai gali suaktyvinti kaip HTTP funkciją kas valandą „cron“paslauga, pvz., Cron-job.org.
Pirmiausia turime įdiegti „Firebase“įrankius
npm įdiegti -g firebase -tools
Tada paleiskite iš projekto šakninio katalogo
firebase iniciatyva
Pasirinkite funkcijas iš komandinės eilutės, kad inicijuotumėte debesies funkcijas. Taip pat galite įjungti „firestore“, jei taip pat norite konfigūruoti „Firestore“.
Tada atidarykite funkcijas/index.js ir pridėkite šį kodą. Nepamirškite pakeisti
į „Firebase“projekto ID.
const funkcijos = reikalauti ('ugnies bazės funkcijos');
const admin = reikalauti ('firebase-admin'); admin.initializeApp () export.cleanup = features.https.onRequest ((prašymas, atsakymas) => {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).siųsti („Gerai“)}). Sugauti (klaida => atsakymas. Būsena (500). Atsiųsti (klysti))});
Diegti debesies funkcijas yra taip paprasta, kaip paleisti šią komandą.
dislokuoti ugnies bazę
Tada svetainėje cron-job.org sukurkite užduotį, kuri kas valandą suaktyvintų šį parametrą. Galutinis taškas bus kažkas panašaus
us-central1-project_id.cloudfunctions.net/cleanup
6 veiksmas: paleiskite programą
Paleiskite programą simuliatoriuje arba „iOS“įrenginyje ir pradėkite bendrinti nuotraukas!
Rekomenduojamas:
„AmbiBox IOS“nuotolinio valdymo programa: 5 žingsniai
„AmbiBox IOS“nuotolinio valdymo programa: naudodami šią „iOS“programą galite valdyti „AmbiBox“iš „iPhone“ar „iPad“. Aš kalbėsiu apie programą ir tai, kaip ji bendrauja su „AmbiBox“serveriu, jei norite sužinoti, kaip įdiegti „AmbiBox“ir LED juostas, yra keletas pamokų
„Bluetooth“LED piešimo lenta ir „IOS“programa: 9 žingsniai (su paveikslėliais)
„Bluetooth“LED piešimo lenta ir „IOS“programa: šioje pamokoje galėsite sukurti „Bluetooth“LED plokštę, kuri gali piešti nuotraukas iš mūsų sukurtos „iPhone“programos. Šioje programoje vartotojai galės sukurti „Connect 4“žaidimą, kuris taip pat bus rodomas šioje žaidimų lentoje. Tai bus ch
„Android“/„iOS“programa nuotoliniu būdu pasiekti „OpenWrt“maršrutizatorių: 11 žingsnių
„Android“/„iOS“programa, skirta nuotoliniu būdu pasiekti „OpenWrt“maršrutizatorių: neseniai nusipirkau naują maršrutizatorių („Xiaomi Mi Router 3G“). Ir, žinoma, ši nauja, nuostabi aparatinė įranga įkvėpė mane pradėti dirbti su šiuo projektu;)
Paprasta „IOS“programa BLE moduliams: 4 žingsniai
Paprasta „IOS“programa BLE moduliams: šioje instrukcijoje aprašoma, kaip galite sukurti „iOS“programą su labai paprastomis funkcijomis. Ši instrukcija neapims viso „iOS BLE“programos kūrimo proceso. Tai tik suteiks aukšto lygio kai kurių svarbių elementų apžvalgą su
Nuotraukų išsaugojimas iš „Flickr“be „Spaceball Gif“gavimo „Firefox“: 8 veiksmai
Nuotraukų išsaugojimas iš „Flickr“be „Spaceball Gif“gavimo „Firefox“: jei naršėte http://www.flickr.com ir kada nors bandėte išsaugoti nuotrauką, kuri neleidžia pasirinkti visų dydžių, tikriausiai radote kad išsaugote ne vaizdą, o mažą gif failą, pavadintą „kosmoso kamuolys“. Pamokomi šou