|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/swift-4-ve-xcode-9-ile-bastan-sona-bir-uygulama/
课程评论:没有评论
**Swift 4 和 Xcode 9 完整应用开发课程总结:从零到 App Store 上架** 本课程旨在带领学习者从零开始,使用 Swift 4 和 Xcode 9 开发一款完整的 iOS 应用,并最终将其发布到 App Store。课程内容涵盖了 iOS 开发的各个方面,从基础的 Xcode 项目设置到复杂的 UI 设计、动画效果、多线程处理以及最终的应用打包与上架。 **应用功能:** 课程将开发一款名为“Prime Finder”的应用,该应用能够: * 计算和判断输入的整数是否为素数。 * 查找给定数字之前或之后的素数。 * 通过分享功能将计算结果导出到其他应用。 **核心技术与概念:** 课程将深入探讨 Swift 4 和 Xcode 9 的各项功能,包括但不限于: * **开发环境准备:** 开发者账号设置、证书、App ID、设备注册、Provisioning Profiles 的创建与管理。 * **项目构建与管理:** 项目文件的创建、Provisioning Profiles 和证书的集成。 * **UI 设计与布局:** Auto Layout、Constraints、Size Classes 的高级应用,程序化创建 UI 元素(如 UIImageView)、自定义字体、Bitmap Graphics Context 的使用及缓存机制。 * **Swift 语言特性:** 扩展(Extensions)、Mutating 函数、Enumerated data types、Struct、Sequence、IteratorProtocol、Completion Handlers、Guard 语句。 * **Core Animation 与 Core Graphics:** 绘制图形(如闪烁效果)、CALayer 的使用(如蒙版、圆角)、CABasicAnimation 实现动画效果、CAGradientLayer 实现渐变色。 * **UI 交互与动画:**IBAction 实现按钮响应、UIGestureRecognizer 和 Hit Testing 识别触摸对象、Block-based UI 属性动画。 * **数据处理与管理:** 文本和字符处理、内存管理(垃圾回收)、Realm 数据库(虽未在概述中明确提及,但常用于此类应用)、Singleton 设计模式、UserDefaults 的数据存取。 * **多线程与并发:** GCD (Grand Central Dispatch) 的线程安全操作、在不同线程更新 UI(主线程)、GCD DispatchWorkItem 实现全局延迟函数。 * **设计模式与技巧:** Delegates 设计模式、Hittest、UIPasteBoard 的使用。 * **用户体验优化:** UIVisualEffectView 实现模糊效果、Taptic Engine(UIImpactFeedbackGenerator, UINotificationFeedbackGenerator)触觉反馈、添加音频(AVFoundation 的 AVAudioSession 和 AVAudioPlayer)。 * **应用发布流程:** 应用图标和名称设置、iTunes Connect 注册、添加应用商店信息(截图、视频、描述)、打包应用、提交审核、处理审核反馈。 * **其他重要内容:** OpenURL 实现应用跳转、UIAlertController 的使用、iOS 版本控制。 **课程特点:** * **全面深入:** 覆盖从项目创建到应用上架的完整流程。 * **实践性强:** 以一个实际可用的应用作为项目载体,理论结合实践。 * **内容精炼:** 尽管总时长超过16小时,但经过精心编辑,力求每秒都包含有价值的信息。 * **语言更新:** 使用最新的 Swift 4 和 Xcode 9 进行开发。 * **细节优化:** 强调开发中的各种细节和技巧,帮助学习者提升开发效率与代码质量。 总之,这门课程为希望成为 iOS 开发者的学习者提供了一个宝贵的机会,通过一个实际项目,系统地学习和掌握 Swift 语言以及 iOS 开发的核心技术与流程。
Altı yıldan fazla süredir, IOS konularına kafa yoruyorum. Objective-C ile başlayan IOS serüvenim Swift ile devam ediyor ve bu süre içerisinde edindiğim bilgi ve deneyimlerimin bir kısmını, bu kursla dilim döndüğünce sizinle paylaşmak istiyorum. Bu kurs, bir uygulamayı sıfırdan hazırlayarak, App Store'da yayınlamaya kadar geçen süreçleri ele almaktadır. Hazırlayacağımız uygulama şu an App Store'da indirilebilir durumdadır. Burada direkt bir bağlantı paylaşamıyorum ama App Store'da "Prime Finder" diye aratarak uygulamayı cihazınıza indirip inceleyebilirsiniz. Hazırlayacağımız uygulama basit bir asal sayı hesaplama uygulaması olacak. Anlatacağım konulara derinlemesine değinebilmek adına, nispeten basit bir uygulama seçtim, fakat buna rağmen, kursu hazırlamak için çektiğim videoların toplam süresi otuz saati buldu ama siz değerli kursiyerlerin zamanını çalmamak için tüm videoları saniye saniye editledim ve gereksiz duraksama ve anlatım bozukluklarını mümkün olduğunca temizlemeye çalıştım. Ama yine de kursumuzun toplam süresi onaltı saati aştı, fakat her saniyesi dolu dolu bir kurs olduğunu garanti ediyorum. Dediğim gibi, hazırlayacağımız uygulama, hesap makinesi benzeri bir asal sayı hesaplama uygulaması olacak ve IOS 9 üzeri tüm cihazlarda (iPhone, iPad, iPod) çalıştırılabilir olacak. Kullanıcılar bu uygulama sayesinde uygulama ekranına girdikleri tam sayıların asal olup olmadıklarını kontrol edebildikleri gibi, girdikleri sayıdan önceki veya sonraki asal sayıların da nele olduğunu hesaplayabilecekler. Uygulama içerisindeki paylaşma özelliğini kullanarak yaptıkları hesaplamaları diğer uygulamalar aracılığıyla dışarıya aktarabilecekler. Uygulamayı xCode 9 üzerinde Swift 4 ile hazırlayacağız ve Swift dilinin bir çok gelişmiş özelliğinin yanı sıra, xCode IDE'si nin sunduğu kolaylıkları da bu uygulamamızda kullanma şansı bulacağız. Ayrıca uygulama dosyasını oluşturma ve yayınlama aşamalarını, apple developer portal ve iTunesConnect üzerinde neler yapmamız gerektiğine de değineceğiz. Ders içeriklerini kısa başlıklar halinde özetlemek gerekirse, Developer portal hazırlıkları.Sertifikalar, APP ID, geliştirici cihazlarını tanımlama ve provizyon dosyalarını oluşturma.Proje dosyasının oluşturulması.Provizyon dosyaları ve sertifikaların projeye dahil edilmesi.Tasarım dinamikleri.Autolayout, constraint, size class kullanımları ve bu konulara ait önemli püf noktaları.Arayüz görsellerini projeye eklemek.Viewcontroller'ı child olarak eklemek.Programsal yoldan size class modifikasyonu ve constraint oluşturmak.IBAction ile buton aksiyonlarını oluşturmak.Programsal yoldan UIImageView oluşturmak.Özel font kullanımı ve UIKit bitmap graphics context kullanarak programsal yoldan görsel öğeler yaratmak ve bu görseller için caching mekanizması kurmak.Enumerated data tipleri oluşturmak.CoreGraphics kullanarak parlama efekti yaratmak.CoreAnimation kütüphanesi kullanımı. CALayer kullanarak maskeleme katmanı oluşturmak.CABasicAnimation kullanarak animasyon oluşturmak.Extension ve mutating fonksiyon ile class işlevselliğini arttırmak.Tekst ve karakter işleme teknikleri.Bellek yönetimi için garbage collection.Block based UIKit property animasyonu oluşturmak.UIGestureRecognizer ve hittest kullanarak dokunulan nesneleri tespit etmek.UIPasteBoard kullanımı.Singleton design pattern kullanarak class oluşturmak.Struct, sequence ve iteratorProtocol kullanımı.Completion handler'lı fonksiyonlar oluşturmak.İşlemleri GCD ile thread safe bir şekilde yaptırmak.Delegates tasarım kalıbını kullanmak.Farklı thread'lar da yapılan işlemlerle kullanıcı arayüzünü (main thread) güncellemek.GCD Dispatchworkitem ile Global bir geciktirme fonksiyonu oluşturmak.UIButton özelliklerini kurcalamak.Uygulama modlarını oluşturmak ve buton aksiyonlarına bağlamak.Uygulama modları ve asal sayı hesaplama/kontrol işlemlerini uygulama ekranında güncellemek.UIVisualEffectView ile bulanıklık efekti oluşturmak.UINavigationBar eklemek ve bar butonu oluşturmak.UIBarButtonItem için bir IBAction tanımlamak.UITableView eklemek.UITableView'a UITableViewCell eklemek.TableView ve TableViewCell'i yapılandırmak ve özel UITableViewCell subclass'ları oluşturmak.UITableViewDelegate ve UITableViewDataSource metodlarını oluşturmak.UIView subclass'ı oluşturmak.CAGradientLayer ile gradient bir renk oluşturmak.CALayer ile yuvarlatılmış köşeler oluşturmak.NSAttributedString ile zenginleştirilmiş tekstler oluşturmak.UIActivityViewController ile paylaş menüsü hazırlamak.UIActivityViewController excludedActivityTypes ile paylaşma seçeneklerini sınırlandırmak.Uygulamaya sesler eklemek.AVFoundation kütüphanesi ile, AVAudioSession ve AVAudioPlayer kullanımları.Arc4Random ile rasgele tam sayı değerleri üretmek.Date() yapısı ve timeIntervalSince metodu kullanımı.Taptic engine kullanımı, UIImpactFeedbackGenerator ve UINotificationFeedbackGenerator tanımlamaları.IOS versiyon kontrolü. UIAlertController kullanımı.UserDefaults ile veri alma / kaydetme.Guard kullanımı.OpenURL ile yönlendirme. Uygulama ikonu eklemek.Uygulama görünür adını değiştirmek ve son kontroller.iTunesConnect'de uygulama için bir kayıt oluşturmak.App store görsel, video, tekst ve bilgilerini eklemek.Uygulamayı paketleyip iTunesConnect'e yollamak.Uygulamayı incelemeye göndermek.İnceleme aşamaları ve uygulamanın kabülü.