Мазмұны:
- 1 -қадам: талаптарды орнатыңыз
- 2 -қадам: Жобаны орнату
- 3 -қадам: IOS кодын жазыңыз
- 4 -қадам: Пайдаланушы интерфейсін жасаңыз
- 5 -қадам: бұлтты функцияны жазыңыз
- 6 -қадам: Қолданбаны іске қосыңыз
Бейне: Жақын жерде фотосуреттерді бөлісу IOS қолданбасы: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулықта біз 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 құрылғысында іске қосыңыз және фотосуреттермен бөлісуді бастаңыз!
Ұсынылған:
LPWAN-ға негізделген IoT құрылғыларының көмегімен фотосуреттерді тасымалдау мүмкін бе ?: 6 қадам
LPWAN-ға негізделген IoT құрылғыларының көмегімен фотосуреттерді тасымалдауға болады ма? Өкіл технологиялар-Sigfox, LoRa NB-IoT және LTE Cat.M1. Мұның бәрі төмен қуатты қалааралық байланыс технологиясы. Жалпы алғанда
ARDUINO көмегімен 3D үлгісін жасау үшін жақын орналасқан объектілерді сканерлеңіз: 5 қадам (суреттермен)
ARDUINO көмегімен 3D моделін жасау үшін жақын маңдағы объектілерді сканерлеңіз: Бұл жоба HC-SR04 ультрадыбыстық сенсорының көмегімен жақын орналасқан объектілерді сканерлейді. 3D моделін жасау үшін сенсорды перпендикуляр бағытта жылжыту керек, сенсор бір нәрсені анықтаған кезде Arduino -ны дабыл беретін етіп бағдарламалауға болады
Жақын шамды қалай жасауға болады: 8 қадам
Жақын шамды қалай жасауға болады: Электр бояуларына арналған шамдар жиынтығының нұсқаулық тест парағын жаңа ғана аяқтадыңыз ба немесе жақындық шамын жасау кезінде визуалды күшейтуді қалайсыз ба, бұл оқулық сізге үш шамның үштен бірін жасауға көмектесетін қадамдық бейнелерді ұсынады. . Барлықтарыңыз
Жақын бейне жарығы/ қолмен түсірілетін фотосурет жарығы: 7 қадам (суреттермен)
Жақын бейне жарығы/ қолмен түсірілетін фотосурет жарығы: Мен сенің не ойлағаныңды білемін. &Quot; жақын, " арқылы Мен қиын жарық жағдайларында жақыннан жарықтандыруды айттым-бұл міндетті түрде " жақын жағдайлар " үшін емес. (Алайда, бұл үшін де қолдануға болады …) Нью-Йорктегі бейнекамер ретінде-немесе
Жұмыс үстелін бөлісу: 4 қадам
Жұмыс үстелін ортақ пайдалану: Жұмыс үстелін бөлісу - бұл басқа компьютердің жұмыс үстелін қарап, оны интернетте басқаруға мүмкіндік береді. Егер сіз бәріне сіздің көмегіңізді қажет ететін мен сияқты болсаңыз, бұл бағдарлама өте ыңғайлы болады. Әжеге көмек керек пе, әлде сіз болсаңыз