Mündəricat:

Yaxınlıqdakı Şəkil Paylaşımı IOS Tətbiqi: 6 addım
Yaxınlıqdakı Şəkil Paylaşımı IOS Tətbiqi: 6 addım

Video: Yaxınlıqdakı Şəkil Paylaşımı IOS Tətbiqi: 6 addım

Video: Yaxınlıqdakı Şəkil Paylaşımı IOS Tətbiqi: 6 addım
Video: WhatsApp-ın bu hiyləsini bilirsən? 😎 2024, Noyabr
Anonim

Bu təlimatda, Swift ilə yaxınlıqdakı hər kəslə, heç bir cihaz eşlemeye ehtiyac olmadan şəkil paylaşmağa imkan verən bir iOS tətbiqi yaradacağıq.

Səs istifadə edərək məlumat göndərmək üçün Chirp Connect və şəkilləri buludda saxlamaq üçün Firebase istifadə edəcəyik.

Məlumatların səslə göndərilməsi, məlumatların eşitmə diapazonunda olan hər kəsə yayımlana biləcəyi unikal bir təcrübə yaradır.

Addım 1: Tələbləri Qurun

Xcode

App Store -dan quraşdırın.

CocoaPods

sudo gem cocoapods quraşdırın

Chirp Connect iOS SDK

Admin.chirp.io saytında qeydiyyatdan keçin

Addım 2: Layihənin qurulması

1. Xcode layihəsi yaradın.

2. Firebase -ə daxil olun və yeni bir layihə yaradın.

Database bölməsinə daxil olaraq Cloud Firestore seçərək Firestore'u aktiv edin. Bulud funksiyalarını da aktiv etmək üçün Funksiyalara daxil olun.

3. Layihəyə Baxış səhifəsində iOS tətbiqinizi qurun

Xcode Layihə Ayarlarınızdakı Ümumi Sekmədən Bundle Identifierə ehtiyacınız olacaq. Podfile yaradıldıqdan sonra pod install başlamazdan əvvəl aşağıdakı asılılıqları əlavə etməlisiniz.

# Layihə üçün podlar

'Firebase/Core' bölməsi 'Firebase/Firestore' bölməsi 'Firebase/Storage'

4. admin.chirp.io/downloads saytından ən son Chirp Connect iOS SDK -nı yükləyin

5. Chirp Connect -in Xcode -a inteqrasiyası üçün developers.chirp.io ünvanındakı addımları izləyin.

Başlar / iOS -a gedin. Sonra aşağıya fırladın və Swift qurma təlimatlarına əməl edin, bu çərçivəni idxal etmək və bir körpü başlığı yaratmaqdır.

İndi quraşdırma tamamlandı, bəzi kod yazmağa başlaya bilərik! Quraşdırmanın hər mərhələsində layihə quruluşlarınızı yoxlamaq yaxşı bir fikirdir.

Addım 3: IOS Kodunu yazın

1. Firebase -i ViewController -ə daxil edin və NSData'yı bir hexString uzantısı daxil etmək üçün genişləndirin ki, Chirp Connect yüklərini onaltılı bir sətrə çevirə bilək. (Chirp Connect, köprü başlığı sayəsində bütün dünyada mövcud olacaq).

UIKit idxal edin

Firebase idxal edin

genişləndirmə məlumatları {

var hexString: String {dönüş xəritəsi {String (format: "%02x", UInt8 ($ 0))}.joined ()}}

2. ViewController -ə ImagePicker nümayəndələri əlavə edin və connect adlı ChirpConnect dəyişənini elan edin.

sinif ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

var connect: ChirpConnect? func viewDidLoad () {super.viewDidLoad ()…

3. super.viewDidLoad -dan sonra Chirp Connect -i işə salın və alınan geri çağırışı qurun. Alınan geri zəngdə, alınan yükdən istifadə edərək görüntünü Firebase -dən alacağıq və ImageView -i yeniləyəcəyik. APP_KEY və APP_SECRET -inizi admin.chirp.io saytından əldə edə bilərsiniz.

connect = ChirpConnect (appKey: APP_KEY, andSecret: APP_SECRET) if let connect = connect {connect.getLicenceString {(license: String ?, error: Error?) in if error == nil {if license = license {connect.setLicenceString (lisenziya) connect.start () connect.receivedBlock = {(data: Data?) -> () in if data = data {print (String (format: "Alınan məlumatlar: %@", data.hexString)) fayla icazə verin = Storage.storage (). Reference (). Child (data.hexString) file.getData (maxSize: 1 * 1024 * 2048) {imageData, səhv etsəniz səhv = səhv {print ("Hata: %@", səhv.localizedDescription)} başqa {self.imageView.image = UIImage (data: imageData!)}}} başqa {print ("Kod açıla bilmədi"); }}}}

4. İndi UI -də seçildikdən sonra şəkil məlumatlarını göndərmək üçün kodu əlavə edin.

func imagePickerController (_ seçici: UIImagePickerController, didFinishPickingMediaWithInfo məlumatı: [String: Any])

{let imageData = info [UIImagePickerControllerOriginalImage] kimi? UIImage məlumatlara icazə verir: Data = UIImageJPEGRepresentation (imageData !, 0.1)! self.imageView.image = imageData imkan verir metadata = StorageMetadata () metadata.contentType = "image/jpeg" əgər əlaqə qurun = qoşul {icazə ver: açar: Data = connect.randomPayload (iləLength: 8) Firestore.firestore () toplama (") yükləmələr "). addDocument (məlumatlar: [" key ": key.hexString," zaman damgası ": FieldValue.serverTimestamp ()]) {səhv olarsa səhv = səhv {print (error.localizedDescription)}} Storage.storage ().reference (). uşaq (key.hexString).putData (data, metadata: metadata) {(metadata, səhv) in let error = error {print (error.localizedDescription)} else {connect.send (key)}} } self.dississ (animasiya: doğru, tamamlama: sıfır)}

Qeyd: Kamera, Şəkil Kitabxanası və Mikrofondan istifadə icazələri vermək üçün Info.plist -ə Məxfilik - Şəkil Kitabxanasının İstifadə Təsviri, Məxfilik - Foto Kitabxanasının İstifadə Təsviri və Məxfilik - Mikrofon İstifadəsi Təsvirlərini əlavə etməlisiniz.

Addım 4: İstifadəçi İnterfeysi yaradın

İstifadəçi İnterfeysi yaradın
İstifadəçi İnterfeysi yaradın

İndi UI yaratmaq üçün Main.storyboard faylına gedin.

1. Sağ alt küncdəki Obyekt Kitabxanası panelindən bir ImageView və iki Düyməni Storyboard -a sürükləyin.

2. Hər bir düymə üçün komponenti seçərək və Yeni Məhdudiyyətlər Əlavə et düyməsini (Star Wars qalstuk döyüşçüsünə bənzəyən) tıklayaraq təxminən 75 piksel yüksəklik məhdudiyyəti əlavə edin və sonra hündürlüyü daxil edin və Enter düyməsini basın.

3. Hər üç komponenti seçin və Yığma Göm düyməsini basaraq yığın görünüşünə salın.

4. İndi köməkçi redaktoru açın və CTRL düyməsini basın və hər bir komponent üçün çıxışlar yaratmaq üçün hər bir komponentdən ViewController koduna sürükləyin.

@IBOutlet var imageView: UIImageView!

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

5. İndi CTRL düyməsini basın və kamera/kitabxana interfeyslərini açmaq üçün bir hərəkət yaratmaq üçün hər iki düymədən sürükləyin.

6. Kitabxananı Aç hərəkətinə aşağıdakı kodu əlavə edin

@IBAction func openLibrary (_ göndərən: Hər hansı) {

edək imagePicker = UIImagePickerController () imagePicker.delegate = self; imagePicker.sourceType =.photoLibrary self.present (imagePicker, animasiya: doğru, tamamlama: sıfır)}

7. Kameranı Aç hərəkətində

@IBAction func openCamera (_ göndərən: Hər hansı) {

edək imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType =.camera; self.present (imagePicker, animasiya: doğru, tamamlama: sıfır)}

Addım 5: Bulud funksiyası yazın

Fotoşəkillərin əbədi olaraq buludda saxlanmasına ehtiyac olmadığı üçün təmizliyi həyata keçirmək üçün Bulud Fonksiyonu yaza bilərik. Bu, cron-job.org kimi bir cron xidməti tərəfindən hər saat HTTP funksiyası olaraq tetiklenebilir.

Əvvəlcə firebase alətləri quraşdırmalıyıq

npm install -g firebase -tools

Sonra layihənin kök qovluğundan işləyin

firebase init

Bulud funksiyalarını işə salmaq üçün əmr satırından funksiyaları seçin. Firestore'u da konfiqurasiya etmək istəyirsinizsə firestore aktiv edə bilərsiniz.

Sonra funksiyaları/index.js açın və aşağıdakı kodu əlavə edin. Dəyişməyi unutmayın

Firebase layihə idinizə.

const funksiyaları = tələb ('firebase-functions');

const admin = tələb edin ('firebase-admin'); admin.initializeApp () export.cleanup = functions.https.onRequest ((sorğu, cavab) => {admin.firestore ().collection ('yükləmələr'). hər yerdə) > {admin.storage ().bucket ('gs: //.appspot.com').file (doc.data ().key).delete () doc.ref.delete ()}) cavabın qaytarılması.status (200).send ('OK')}).catch (səhv => cavab.status (500).göndər (səhv))});

Bulud funksiyalarını yerləşdirmək bu əmri yerinə yetirmək qədər sadədir.

firebase yerləşdirilməsi

Sonra cron-job.org saytında hər saat bu son nöqtəni işə salmaq üçün bir iş yaradın. Son nöqtə kimi bir şey olacaq

us-central1-project_id.cloudfunctions.net/cleanup

Addım 6: Tətbiqi işə salın

Tətbiqi bir simulyatorda və ya iOS cihazında işlədin və şəkilləri paylaşmağa başlayın!

Tövsiyə: