Mündəricat:
- Addım 1: Tələbləri Qurun
- Addım 2: Layihənin qurulması
- Addım 3: IOS Kodunu yazın
- Addım 4: İstifadəçi İnterfeysi yaradın
- Addım 5: Bulud funksiyası yazın
- Addım 6: Tətbiqi işə salın
Video: Yaxınlıqdakı Şəkil Paylaşımı IOS Tətbiqi: 6 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
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
İ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ə:
AmbiBox IOS Uzaqdan İdarəetmə Tətbiqi: 5 addım
AmbiBox IOS Uzaqdan İdarəetmə Tətbiqi: Bu iOS tətbiqi ilə iPhone və ya iPad -dən AmbiBox -a nəzarət edə bilərsiniz. Tətbiqdən və AmbiBox serveri ilə necə əlaqə quracağından danışacağam, AmbiBox və led şeritlərin necə qurulacağını bilmək istəyirsinizsə, bir neçə dərslik var
OpenWrt Routerinizə Uzaqdan Giriş üçün Android/iOS Tətbiqi: 11 Addım
OpenWrt Routerinizə Uzaqdan daxil olmaq üçün Android/iOS Tətbiqi: Bu yaxınlarda yeni bir router aldım (Xiaomi Mi Router 3G). Əlbəttə ki, bu yeni, zəhmli aparat məni bu layihə üzərində işləməyə ilhamlandırdı;)
ARDUINO istifadə edərək 3d model etmək üçün yaxınlıqdakı obyektləri tarayın: 5 addım (şəkillərlə)
ARDUINO-dan istifadə edərək 3d Model etmək üçün Yaxınlıqdakı Obyektləri Tarayın: Bu layihə yaxınlıqdakı obyektləri yoxlamaq üçün HC-SR04 ultrasəs sensorundan istifadə etməklə spesifikdir. 3D modeli hazırlamaq üçün sensoru dik istiqamətdə süpürmək lazımdır. Sensor bir obyekt algıladığı zaman Arduino -nu həyəcan siqnalı vermək üçün proqramlaşdıra bilərsiniz
Yaxınlıqdakı LED Sırt Çantası: 6 Addım (Şəkillərlə birlikdə)
Proximity LED Sırt Çantası: Layihəm, 27 Egeloo sensor dəstimlə təmin edilən Proximity IR detektoru sayəsində 20 sm -ə qədər yaxınlaşan bir obyekti və ya obyekti aşkar etmək üçün nəzərdə tutulmuşdur. İşdə sizə lazım olanların siyahısı: Elementlərin siyahısı: 1. WS2812b Neo Pixel LED -lərin 2. Enerji təchizatı (istifadə etdim
Masaüstü Paylaşımı: 4 addım
Masaüstü Paylaşımı: Masaüstü paylaşımı əsasən başqa bir kompüterin masaüstünə baxıb internet üzərindən idarə edə biləcəyiniz vaxtdır. Hər kəsin köməyinizə ehtiyacı olan mənim kimi olsanız, bu proqram həqiqətən çox lazımlı olacaq. Nənənin köməyə ehtiyacı olub -olmaması və ya içindəsəniz