Мазмұны:

Жақын жерде фотосуреттерді бөлісу IOS қолданбасы: 6 қадам
Жақын жерде фотосуреттерді бөлісу IOS қолданбасы: 6 қадам

Бейне: Жақын жерде фотосуреттерді бөлісу IOS қолданбасы: 6 қадам

Бейне: Жақын жерде фотосуреттерді бөлісу IOS қолданбасы: 6 қадам
Бейне: Жігітім дұрыстап тықпаса не істеу керек? 2024, Қараша
Anonim

Бұл нұсқаулықта біз Swift көмегімен iOS қосымшасын жасаймыз, ол сізге фотосуреттерді жақын жерде кез келген адаммен бөлісуге мүмкіндік береді, құрылғыны жұптастырудың қажеті жоқ.

Біз Chirp Connect көмегімен дыбысты пайдаланып деректерді жібереміз, ал суреттерді бұлтта сақтау үшін Firebase қолданамыз.

Дыбысты жіберу деректерді есту ауқымындағы кез келген адамға таратуға болатын бірегей тәжірибе береді.

1 -қадам: талаптарды орнатыңыз

Xcode

App Store дүкенінен орнатыңыз.

CocoaPods

sudo gem кокоаподтарды орнатады

Chirp Connect iOS SDK

Admin.chirp.io сайтына тіркеліңіз

2 -қадам: Жобаны орнату

1. Xcode жобасын жасаңыз.

2. Firebase жүйесіне кіріп, жаңа жоба жасаңыз.

«Деректер базасы» бөлімін басып, Cloud Firestore таңдау арқылы Firestore қызметін қосыңыз. Бұлтты функцияларды қосу үшін Функциялар түймесін басыңыз.

3. Жобаға шолу бетінде iOS қолданбасын орнату арқылы іске қосыңыз

Сізге Xcode жобасының параметрлеріндегі Жалпы қойындысынан Бума идентификаторы қажет болады. Podfile жасалғаннан кейін, под орнатуды іске қоспас бұрын келесі тәуелділіктерді қосу қажет болады.

# Жобаға арналған түйіндер

«Firebase/Core» подкладкасы «Firebase/Firestore» подбоны «Firebase/Storage»

4. Chirp Connect iOS SDK -нің соңғы нұсқасын admin.chirp.io/downloads сайтынан жүктеп алыңыз

5. Chirp Connect -ті Xcode -ге біріктіру үшін developers.chirp.io сайтындағы қадамдарды орындаңыз.

Жұмысты бастау / iOS бөліміне өтіңіз. Содан кейін төмен айналдырыңыз және Swift орнату нұсқауларын орындаңыз, бұл рамканы импорттауды және көпір тақырыбын құруды қамтиды.

Енді орнату аяқталды, біз код жаза бастаймыз! Орнатудың әр кезеңінде сіздің жобаңыздың құрылысын тексеру жақсы идея.

3 -қадам: IOS кодын жазыңыз

1. Firebase -ті ViewController -ге импорттаңыз және NSData -ді он алтылық санау жолына түрлендіре алу үшін HexString кеңейтімін қосу үшін кеңейтіңіз. (Chirp Connect көпірлік тақырыптың арқасында бүкіл әлемде қол жетімді болады).

UIKit импорттау

Firebase импорттау

кеңейту деректері {

var hexString: String {қайтару картасы {String (формат: «%02x», UInt8 ($ 0))}.joined ()}}

2. ViewController -ге ImagePicker өкілдерін қосыңыз және connect деп аталатын ChirpConnect айнымалысын жариялаңыз.

ViewController сыныбы: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

var connect: ChirpConnect? func viewDidLoad () {super.viewDidLoad () ауыстыру …

3. super.viewDidLoad бағдарламасынан кейін Chirp Connect инициализациясын енгізіңіз және алынған кері шақыруды орнатыңыз. Қабылданған кері байланыс кезінде біз Firebase -тен алынған жүктемені пайдаланып суретті шығарамыз және ImageView жаңартамыз. APP_KEY және APP_SECRET бағдарламаларын 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 license = license {connect.setLicenceString (лицензия) connect.start () connect.receivedBlock = {(деректер: Деректер?) -> () in if let data = data {print (String (формат: «Алынған деректер: %@», data.hexString)) файлға рұқсат етіңіз = Storage.storage (). Reference (). Child (data.hexString) file.getData (maxSize: 1 * 1024 * 2048) {imageData, қате болса қате = қате {басып шығару («Қате: %@», қате).localizedDescription)} else {self.imageView.image = UIImage (деректер: imageData!)}}} басқа {басып шығару («Декодтау сәтсіз болды»); }}}}

4. Енді UI -де таңдалғаннан кейін кескін деректерін жіберу үшін кодты қосыңыз.

func imagePickerController (_ таңдағыш: UIImagePickerController, didFinishPickingMediaWithInfo ақпараты: [Жол: Кез келген])

{let imageData = info [UIImagePickerControllerOriginalImage] қалай? UIImage деректерді жібереді: Data = UIImageJPEGRepresentation (imageData !, 0.1)! self.imageView.image = imageData мүмкіндік береді метадеректер = StorageMetadata () metadata.contentType = «image/jpeg» егер қосылу = қосылу {рұқсат кілті: Data = connect.randomPayload (withLength: 8) Firestore.firestore () жинау («) addDocument (деректер: [«key»: key.hexString, «timestamp»: FieldValue.serverTimestamp ()]) {егер қате болса = қате {басып шығару (error.localizedDescription)}} Storage.storage ().reference (). бала (key.hexString).putData (деректер, метадеректер: метадеректер) {(метадеректер, қате) егер қате = қателік {басып шығару (error.localizedDescription)} басқа {connect.send (key)}} } self.dississ (анимациялық: ақиқат, аяқталу: нөл)}

Ескертпе: Камераны, фотокітапхананы және микрофонды пайдалануға рұқсат беру үшін сізге Info.plist -ке Құпиялылық - Фото кітапхананы пайдалану сипаттамасы, Құпиялылық - Фото кітапхананың қолданылуы мен құпиялылығы - Микрофонды пайдалану сипаттамасы мәлімдемелерін қосу қажет болады.

4 -қадам: Пайдаланушы интерфейсін жасаңыз

Қолданушы интерфейсін құру
Қолданушы интерфейсін құру

Енді UI құру үшін Main.storyboard файлына өтіңіз.

1. ImageView және екі түймені оң жақ төменгі бұрыштағы объектілер кітапханасы тақтасынан әңгіме тақтасына апарыңыз.

2. Әр түйме үшін компонентті таңдап, Жаңа шектеулерді қосу түймешігін (Star Wars галстук жауынгеріне ұқсайтын) басу арқылы шамамен 75 пиксель биіктік шектеуін қосыңыз, содан кейін биіктікті енгізіңіз және Enter пернесін басыңыз.

3. Барлық үш компонентті таңдап, стекке ендіру батырмасын басу арқылы оларды стек көрінісіне қойыңыз.

4. Енді редактордың көмекшісін ашып, CTRL пернесін басып, әр компоненттен шығулар жасау үшін ViewController кодына апарыңыз.

@IBOutlet var imageView: UIImageView!

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

5. Енді CTRL пернесін басып, камера/кітапхана интерфейсін ашу үшін әрекет жасау үшін екі түймені де сүйреңіз.

6. Кітапхананы ашу әрекетінде келесі кодты қосыңыз

@IBAction func openLibrary (_ жіберуші: Кез келген) {

imagePicker = UIImagePickerController () imagePicker.delegate = self болсын; imagePicker.sourceType =.photoLibrary self.present (imagePicker, анимациялық: ақиқат, аяқталу: нөл)}

7. Камераны ашу әрекетінде

@IBAction func openCamera (_ жіберуші: Кез келген) {

imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType =.camera болсын; self.present (imagePicker, анимациялық: ақиқат, аяқталу: нөл)}

5 -қадам: бұлтты функцияны жазыңыз

Фотосуреттерді бұлтта мәңгі сақтаудың қажеті жоқ болғандықтан, біз тазалауды орындау үшін бұлтты функцияны жаза аламыз. Бұл cron-job.org сияқты cron қызметі арқылы сағат сайын HTTP функциясы ретінде іске қосылуы мүмкін.

Ең алдымен, біз отқа қарсы құралдарды орнатуымыз керек

npm install -g firebase -tools

Содан кейін жобаның түбірлік каталогынан іске қосыңыз

firebase init

Бұлтты функцияларды іске қосу үшін пәрмен жолынан функцияларды таңдаңыз. Сондай -ақ, Firestore -ді конфигурациялағыңыз келсе, Firestore -ды қосуға болады.

Содан кейін/index.js функцияларын ашып, келесі кодты қосыңыз. Өзгертуді ұмытпаңыз

Firebase жобасының идентификаторына.

const функциялары = талап ету ('firebase-functions');

const admin = талап етіңіз ('firebase-admin'); admin.initializeApp () export.cleanup = functions.https.onRequest ((сұраныс, жауап) => {admin.firestore ().collection («жүктеулер»). қайда > {admin.storage ().bucket ('gs: //.appspot.com').file (doc.data ().key).delete () doc.ref.delete ()}) жауап қайтару.статус (200).send ('OK')}).catch (err => жауап.статус (500). Жіберу (қате))});

Бұлтты функцияларды қолдану бұл пәрменді орындау сияқты қарапайым.

от базасын орналастыру

Содан кейін cron-job.org сайтында осы соңғы нүктені сағат сайын іске қосу үшін жұмыс жасаңыз. Соңғы нүкте ұқсас болады

us-central1-project_id.cloudfunctions.net/cleanup

6 -қадам: Қолданбаны іске қосыңыз

Қолданбаны симуляторда немесе iOS құрылғысында іске қосыңыз және фотосуреттермен бөлісуді бастаңыз!

Ұсынылған: