Тёмный

Build your first iOS app with SwiftUI 

Paul Hudson
Подписаться 111 тыс.
Просмотров 498 тыс.
50% 1

In this livestream I'll show you how to build a complete SwiftUI app from scratch, while also teaching you the basics of Swift. Along the way I'll be answering questions that you might have, and also providing quizzes to help test your learning.
To follow along, you'll need to install Xcode from the Mac App Store. I'll be using Xcode 12.3, but any version of Xcode after 12.0 should be fine.
* You can download the finished project source code here: github.com/two...
* You can get the assets used in this video from here: www.hackingwit...
* You can download the free SF Symbols app from Apple here: developer.appl...
As well as helping absolute beginners learn some SwiftUI, this livestream is also taking place in aid of Julian House - a UK charity that provides support for vulnerable and at-risk individuals. These include men, women and young people experiencing homelessness, women and children escaping domestic abuse, adults with learning difficulties and people who need support after leaving prison.
You can donate to my fundraising effort here: justgiving.com/...

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 292   
@twostraws
@twostraws 3 года назад
If you've watched this and decided you want to continue learning SwiftUI, I have great news: I have a 100% free series of tutorials that teach you everything you need to know, including lots of videos, interactive tests, challenges, and more. It's called the 100 Days of SwiftUI, and you can find it here: www.hackingwithswift.com/100/swiftui
@gregoryallen1122
@gregoryallen1122 3 года назад
Thank you so much for the videos and I gladly appreciate the knowledge. However my flags are lining up in the wrong countries. Anyway I could fix that issue?
@ORNAMENTS_CLO
@ORNAMENTS_CLO 3 года назад
hello paul whats your social media account and email i need your help please.
@sureshsingh-bp4yu
@sureshsingh-bp4yu 3 года назад
Mkmmmm
@야도란-x3p
@야도란-x3p 3 года назад
@MDHridoy-je2cu
@MDHridoy-je2cu 3 года назад
nice vro
@1x2-w1m
@1x2-w1m 2 года назад
My guy is giving everything he earns with his hard work to the charity this is what i call a humble person
@daz9882
@daz9882 3 года назад
I wonder why would someone came and dislike the video, Paul took his time to do Swift beginner a favor. We gained many knowledge from Paul's web too, big thanks to Paul.
@RecentCha
@RecentCha 3 года назад
Lucifero got big mad
@artemisfowl9002
@artemisfowl9002 3 года назад
you cant be this dense and stupid.. practically every video on youtube has at least a few dislikes especially those with as many views as 200k, the vast majority of us appreciate the effort he took to put this out, quit living under a rock
@FirasHasanAwad
@FirasHasanAwad 3 года назад
Totally agree, I mean this person took from his own time to gather and put this material and sat for 3 hours trying to simplify it for no charge, if you don't like it just skip ahead, no need to be a douchebag
@alanv3185
@alanv3185 2 года назад
Lol this is RU-vid. Someone could post a video saying they beat cancer and it'll still have dislikes. Thats not even an exaggeration lmao
@aaww8663
@aaww8663 2 года назад
Well that’s why RU-vid removed it lmao!
@Ps3JessicaBr
@Ps3JessicaBr 2 года назад
As a second semester student how just started to learn swift, I thank you so much for all this. All the knowledge shared here makes me always come back to learn more during my free time.
@MrPB3N
@MrPB3N 3 года назад
This has finally cleared my confusion about structs, classes, ContentViews, parameters, etc. I always conceptualized structs and classes as these crazy scary things, but your explanation of them as data structures made perfect sense. I was so confused whenever someone in a tutorial made a custom data type, but no longer! I would pay for more walk throughs like these.
@vincentadolph595
@vincentadolph595 3 года назад
Hello
@jonothen2212
@jonothen2212 2 года назад
Bro, why are you doing this? this is incredible, very easy to follow, you speak concisely and the pace of this is just amazing I appreciate it, man
@juanuribe8876
@juanuribe8876 Год назад
As a person who has never used SwiftUI before (even with a programming background) this video was soooooo helpful and it really helped me kickstart my iOS development a buuuunch. Thank you so so much Paul! :) (Hope you had a nice birthday
@kalpetkoff
@kalpetkoff 2 года назад
You are one of the best teachers I've ever had the privilege to watch. Thank you, Paul!
@cogncierge8589
@cogncierge8589 3 года назад
What a great human being you are Paul! Thank you.
@tojal
@tojal 2 года назад
Great way to start understading SwiftUI, thank you 😃
@bhaminisundararaman6080
@bhaminisundararaman6080 3 года назад
I'm 30 min into the video and I can already say, I like it VERY MUCH. It's very informative. Definitely giving a like!!
@youngcoder7403
@youngcoder7403 2 года назад
I was able to complete this project on the iPad using Swift Playgrounds. I had to make a few tweaks here and there. I’m lucky I’m already a JavaScript goat. So I was able to figure out why images and flags weren’t showing at first. Thank you so much for making this tutorial. I feel like I can get a lot of app ideas made now on my iPad Pro confidently.
@ckarthik2025
@ckarthik2025 Год назад
Could you please make me understand the flag part because I’m not able to display them
@ivarvaw
@ivarvaw 3 года назад
Released by first app and already made a few sales. Coudn't have done it without you Paul. Thanks for all your tutorials!
@JamesQHolden
@JamesQHolden 3 года назад
How has your sales grown? I'm looking to get into coding
@ivarvaw
@ivarvaw 3 года назад
@@JamesQHolden First month around 50 euros, then 100, then 200, then 300. Now back to 200. Haven't done any marketing though. And it's nice to earn some money on the side :). Will start with marketing in a month and see if I can 10x it.
@giorgisamkharadze5261
@giorgisamkharadze5261 2 года назад
Teaching us on his birthday while making charity stream. WHAT A LEGEND!!!!!
@ghanshyamgupta6020
@ghanshyamgupta6020 Год назад
What a brilliant introduction to Swift:SwiftUI. Excited to build my first app🎉 belated happy birthday dude
@williamallen4607
@williamallen4607 3 года назад
I think Paul is one of the best know and most respected teachers of Swift and SwiftUI in the English speaking world, as he should be. So not 'terribly underrated.'
@XortinPJ
@XortinPJ 3 года назад
Great content to get started with development in Swift, simple to follow and I actually managed to get the code working on my own simulated iPhone11. Big thanks!
@thegirlfrommoon
@thegirlfrommoon 2 года назад
Best for beginners without any coding experience. Thank you Paul!
@erichklapperton2907
@erichklapperton2907 Год назад
Thank you for this very helpful course! I have just started to get into Swift and was able to follow this course well and had a working app as a result! The concept of learning on a concrete task is very good. More of this please!
@TopSmackerClips
@TopSmackerClips 3 года назад
Thank you for walking me through my first app! Great video, can't wait to continue making apps.
@MrDJsArcade
@MrDJsArcade 2 года назад
Gosh I love watching you get mad at the comments when people don't follow your directions. And that Azat was cracking me up. but this video is great. Thanks so much!
@babonneau
@babonneau 2 года назад
Many thanks for the great tutorial, Paul! I ran into an error with the JSONDecoder and it seems that the data was not formatted as "Codable". In Xcode 13.2.1 in January 2022, I found out that adding "Codable" as following in the file Location.swift struct Location: Codable { let id: Int let name: String etc... } solved my problem. I hope that it can help others too.
@andrewharrison2461
@andrewharrison2461 Год назад
This is fantastic and you're phenomenal teacher. Bravo. Can't express how helpful this was.
@narenmani07
@narenmani07 3 года назад
How can I pass in multiple objects into ContentView without assigning each one of them such as example? Is it possible to iterate through places and assign each place as a new object?
@arifi5835
@arifi5835 3 года назад
Thank you Paul! Awesome teaching. I am really happy to stumble upon your videos at the beginning of my swiftUI journey
@mcsquidinc.4648
@mcsquidinc.4648 3 года назад
I loved this video! As a final touch-up, I also added a bit of code to make the discover tab a random location from the bunch, so as to transmit the "discovery" of a new place to the user
@cjoarder
@cjoarder 3 года назад
Wonderful session. Thank you very much for putting this tutorial together. It was awesome. I am a newbie and learned quite a lot from this tutorial. I will check out the other tutorials that you mentioned. God bless you!
@davideareias7876
@davideareias7876 3 года назад
Today i have finished all my exams soo i decided what a better thing to do than creating my own app. I heard ios app would be easier and funnyer than android, and I also have an iphone. Having a windows pc my self i took 4 hours to install mac os on a VM and then found your amazing video and watch it all, lovethe dogs and your daughter is soo cute. Soon i will create an app like Tinder, but way better and cheaper, TY.
@Khurr
@Khurr 3 года назад
This is truly awesome Paul...I have to admit, you have way more patience than I do, I would be playing wack-a-mole in the chat section with these idiots just disrupting everybody else's studying and trying to follow your great content...it's just insane to me how some people can be that inconsiderate...many thanks again!
@JudgeRich
@JudgeRich 3 года назад
Insanely helpful for getting a general overview for a variety of different topics (@Bindings, Navigation and Tab View, etc. Really great Video, and you are really nice
@MRTACHE
@MRTACHE 2 года назад
Thank you so much!!! Been looking for a detailed tutorial like this.. Thanks one again bro..
@pointer333
@pointer333 Год назад
Paul, excellent tutorial. I will be back for PLENTY more!
@isasramlan
@isasramlan 3 года назад
I've just started to learn.. found your vids.. and its very helpful in my learning. Thank you very much.. although I knew my appreciation is not enough.. thank you again.. wish you well ..
@samdeshp
@samdeshp 3 года назад
Really glad I stumbled upon this video. Paul is an amazing teacher and equally nice human being. Thanks.
@PierluigiLuceri
@PierluigiLuceri 2 года назад
beautiful tutorial, fantastic, beautifully conducted, I think the best on the web, compliments Mr. Hudson
@garrett3338
@garrett3338 3 года назад
This video alone is an incredible source of info! Thank you Paul for sharing your hard work.
@wastingtime9152
@wastingtime9152 3 года назад
Great Stuff from a seemingly great individual. Giving to others as a present to himself.
@MrDJsArcade
@MrDJsArcade 2 года назад
I learned a lot in this video. I'm excited to watch your other ones.
@jacekmalczyk1766
@jacekmalczyk1766 2 года назад
This is a great introduction to SwiftUI. Thank you for this applied knowledge!
@geraldopatriciomelo5715
@geraldopatriciomelo5715 10 месяцев назад
a live mais top que ja vi, olha o pet lá no fundo que lindo..... top.....
@pavloma6836
@pavloma6836 Год назад
Cant stress enough how cool this lesson is! Thnx
@aranthos
@aranthos 2 года назад
Hey Paul, while probably too much to ask I’ll try my hand anyway :D Would it be possible to get a sort of extension video on pulling these data points from some sort of database (fire base, even just a google sheet or whatever)?
@gaskelldave
@gaskelldave 3 года назад
Brilliant, thanks Paul. This takes me back to the mid ‘90s when I fist learnt to program on Mac Quadras and Performas using Thinks Pascal, ResEdit for the GUI and the Apple QuickDraw toolbox. Thanks again, Dave.
@DmitrySharabin
@DmitrySharabin 3 года назад
This stream is brilliant! Thank you very much!
@marwanzaarab4080
@marwanzaarab4080 3 года назад
Sir Paul Hudson, you're an inspiration. I've been watching your tutorials for 2 years now and have learned SwiftUI solely through your videos and website. I'm stunned that you don't have any courses for sale on Udemy. You'd easily outrank the top teachers currently listed for iOS development.
@brothercaleb
@brothercaleb 3 года назад
Incredible SwiftUI primer 👏🏽👏🏽👏🏽👏🏽👏🏽👏🏽👏🏽👏🏽
@problemchild01
@problemchild01 3 года назад
Best beginner tutorial on YT
@ketuladesara3043
@ketuladesara3043 3 года назад
I loved it amazing experience definitely going to check out the course in comment 100 days of swiftui
@alsafeerq82009
@alsafeerq82009 2 года назад
Need more videos about creating apps using swift playground in ipad and if there is way to create internal database for the app to store pdf files or videos or any information that can be stored and used offline
@youngcoder7403
@youngcoder7403 2 года назад
I just followed this whole tutorial that was meant for Xcode using the Swift Playground app on iPad Pro. I was able to successfully reproduce the app except for the part on the map where the markers are loaded up. I’m still debugging why those markers aren’t displaying. I got everything else working though.
@loveyou6844
@loveyou6844 3 года назад
this is so so so helpful for beginners, thank you Paul for the lesson!
@max19971997
@max19971997 3 года назад
One of the basics in programming print ("Hello world") Paul Hudson: HELLO DOGS HAHAHAH
@v_pradeilles
@v_pradeilles 3 года назад
Asking for a friend: which software did you use to manage your stream? OBS? And did you have issues with MacBook fans "polluting" the sound capture? 🤔
@twostraws
@twostraws 3 года назад
I use Ecamm Live, and have a shotgun microphone to reduce noise from my fans 👍
@v_pradeilles
@v_pradeilles 3 года назад
@@twostraws I didn’t know Ecamm Live! Will check it out, thanks for the answer Paul!
@stuffmc58
@stuffmc58 3 года назад
@@v_pradeilles It's not only the most amazing software in the world, it's made by my dearest friends the Twins Ken & Glen. They must be the nicest Mac devs on this planet :)
@vicentepedrofermintoroarmi2997
Amazin Lesson, this is my first Swift Api
@greetings-plus4892
@greetings-plus4892 Год назад
Paul, Thank You. Absolutely love the beginner tutorial. Works well in Xcode 14.3 and IOS . One quick question would be, how to associate Tips with each of the locations on scree. Synopsis: When I am on Smoky Mountains, I would have a different array of tips specific to the Smoky Mountains, versus tips that would appear for the screen displaying content for, say, Kyoto Japan... Please select a charity I could send 100.$ to, once answered.
@isaiascuvula
@isaiascuvula 2 года назад
You explain very well, I love the way you doit.congrats
@wyldmorris
@wyldmorris 3 года назад
Watching from UK Sound level is fine
@FirasHasanAwad
@FirasHasanAwad 3 года назад
such a great video, it's like telling a story and all make sense when the story came to an end, would kindly request an advanced topic on how to connect to a database.
@liberstina
@liberstina 3 года назад
Paul, thank you very much! Your video and the course are very helpful!
@JoeDoe1
@JoeDoe1 3 года назад
I going through the Unwrap course. Does someone have the solution to: Write code that reads the “name” key. let details = [“name”: “Sophie”] ] “Unknown” details[ “name” , default: = name let I tried every combination of I could think of. I’m completely stumped. Thanks.
@logusgraphics
@logusgraphics 3 года назад
I just love SwiftUI, so elegant and simple
@jimmybotao1
@jimmybotao1 3 года назад
Best SwiftUI tutorial ever!
@solutionsagent
@solutionsagent 3 года назад
Phenomenal video - I've been trying to learn Swift for a while now and your instruction was just so very clear... you've kicked open the door open for me. Thank you!
@jalalbounaim
@jalalbounaim 3 года назад
AMAZING SIR ...thanks for what your doing it's really outstanding
@carleyburke2325
@carleyburke2325 3 года назад
Hello, can you make a beginners video for turning website into iso app? Xcode 14.2
@bluyetiinc7553
@bluyetiinc7553 3 года назад
Hi Paul, after this tutorial, which videos would you recommend next. Need more practice.
@mrglwatson
@mrglwatson 3 года назад
Great tutorial and I have learnt more stuff.
@francoisbdc3553
@francoisbdc3553 3 года назад
Woah, this video is incredible, I've learned so much stuff !
@sumitmakkar15
@sumitmakkar15 2 года назад
Thanks a lot Paul.
@johncollins4888
@johncollins4888 Год назад
Very good start to xcopy SwiftUI , could you (PAUL) recommend some Xcode and Swift 14 books I could buy, I did coding but that was 60 years ago ( age 83).
@0xmmn
@0xmmn Год назад
Your dogs are unique and so cute. Please don't get rid of them at any cost.
@decepi
@decepi 3 года назад
@152:10 mark (ish) I am getting a fatal error from the try due to lat/long being nil? Not sure why I am not able to build it here like you are, any sugestions? it has the ".decode" underlined, and gives this error: "
@decepi
@decepi 3 года назад
won't let me include the error :#
@МаріяКухарчук-п3ъ
@МаріяКухарчук-п3ъ 3 года назад
Have you found solution?
@decepi
@decepi 3 года назад
@@МаріяКухарчук-п3ъ not to this specific video. I did the 100 days of SwiftUI on hackingwithswift and was able to learn how to do the equivalent by the end of it. I think I was starting too far ahead with this, and learning it all in order helped a lot.
@ZhengCheng
@ZhengCheng 3 года назад
1:09:40 ah I see, in Web development have padding and margin, but in SwiftUI there are only padding(). good to know
@akosleventekolb
@akosleventekolb 2 года назад
Hi Paul, I’m having issues when trying to build the project at 1:52:27. Error message: Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: Swift.DecodingError.key NotFound (CodingKeys (string Value: "longtitude", intValue: nil), Swift.DecodingError.Context (codingPath: L_JSONKey (string Value: "Index O", intValue: 0)], debugDescription: "No value associated with key CodingKeys (string Value: ("longtitude)", intValue: nil) ("longtitude) ").", underlyingError: nil))
@soonfamous
@soonfamous 2 года назад
I am having the same issue. I restarted Xcode and "magically" it worked. Same code.
@jessevogel3467
@jessevogel3467 2 года назад
is anyone else getting " argument passed to call that takes no argument " error in the TrekrApp file, 1:52:29 seconds in? line 15
@hendoitechnologies
@hendoitechnologies 6 дней назад
Respected sir.. kindly post "SWIFT" full course video for absolute beginners.from scratch end to end full course video
@omichaeljr
@omichaeljr 3 года назад
At point of adding, let location: Location, it says, ‘Cannot find Location in scope’
@mustafahany8693
@mustafahany8693 3 года назад
thank you for great videos you made SwiftUI very easy in your website send you best greetings
@hilalbtn8251
@hilalbtn8251 3 года назад
thank you Paul, and happy birthday :)
@gamingcroctv4523
@gamingcroctv4523 3 года назад
I love the quizzes sir! i just cover the chat box hehe,
@w.jane101
@w.jane101 3 года назад
This video was really helpful, thank you!
@missbrownskin0
@missbrownskin0 2 года назад
Is it possible to create an app for iOS without a Mac PC?
@jrwojick
@jrwojick 3 года назад
Awesome session. Definitely great exposure to what it can do and makes me want to dive in more. Ran into an issue on the tips display but after a bit of review, I saw that I neglected to add the else for the tips.children check. Curious about setting up json for custom data. Is that something covered in 100 days of Swift or is that more of an independent exploration on json? Thanks again!
@pointer333
@pointer333 Год назад
Did anyone else notice that after tapping on a flag in the WorldView that they are STILL in the WorldView tab, even after the Discover page loads? Tapping a flag doesn't take you out of the tab you're currently in. I'd expect it to navigate to that page, but "know" that the page is associated with its tab, and switch to the tab as well. Go to map > tap a place > you're still in the same tab. Tap Discover, you're back to square 1 -- same page (to the user), but different content. Expected: ... tap a place > you navigate to the ContentView page and THERE the new information loads How can I make this happen?
@omichaeljr
@omichaeljr 3 года назад
It is working. Appreciate.
@CashewDemi
@CashewDemi 3 года назад
I keep getting a Thread Error (Fatal error: Unexpectedly found nil while unwrapping an Optional value: file Trekr/Locations.swift, line 19) It won't let me show Simulator with this error. But I'm sure I have to place the "!" there. I eventually even copied and pasted the whole code from your GIT. But unfortunately, it still won't work. Any idea's how I can solve this?
@ivansipilov4743
@ivansipilov4743 3 года назад
The problem is in the Location file, where you determine all the JSON fields, the app try to go thought all of them and crash on the wrong name for example. Just copy all JSON fields from the source file. Should help.
@dinerdapps
@dinerdapps 3 года назад
Great vid and Explanation
@zurvey
@zurvey 2 года назад
Did Paul ever say where he got that Mac app that shows the live chat on screen? I couldn't find it, and I could use that app as well.
@JohnDoe-lw4sb
@JohnDoe-lw4sb 3 года назад
ดีมากครับ ผมชอบวิธีการสอนแบบ เริ่มจากศูนย์ เพราะทำให้เข้าใจถึงปัจจัยพื้นฐานต่าง ๆ ก่อนที่จะทำงานที่ซับซ้อนต่อไป
@nileshjdarji
@nileshjdarji 2 года назад
Your daughter is very cute. Also this is a great video as I am starting to dip my toes in SwiftUI.
@pointer333
@pointer333 Год назад
Can someone please explain why we have "location: location" here? I think I'm confused bc we named our variable 'location', and here, ContentView() is expecting a value for the keyword argument 'location'. So essentially Xcode is asking -- what location should I show? And we unfortunately named our location class instance (aka object) as 'location'. Is my understanding correct? NavigationLink( destination: ContentView(location: location)) { Image(location.country) .resizable() .cornerRadius(10) .frame(width: 80, height: 40) .shadow(radius: 3)
@jakesermette9173
@jakesermette9173 3 года назад
Thank you Paul! I really enjoyed this stream and for sure I will follow 100 Days if SwiftUI. Just one question (I am completely new to programming) - As mouse lcok is not available in pointer settings in iOS, recently I decided to write an app for iPhone that would allow to initiate it in specific applications. But now I am not sure if it is possible to do such app. I do not know if it's limited to the iPad version of iOS, or maybe the devs didn't add it yet. Could you please give me an advice on it? Thanks!
@govarzelf4731
@govarzelf4731 3 года назад
thank you so much for your help!
@rene3646
@rene3646 Год назад
Love your video's. For total beginners (like me), I would recommend not starting in this video (even though the title is encouraging). Start with day 1 of Paul his 100 day blog. It builds up better, which makes it easier to understand.
@nicholasrogillio4280
@nicholasrogillio4280 2 года назад
Hi! Loving the tutorial. For some reason, around an hour and a half in, I’m having difficulty. It said there was an issue with location being out of scope. I finally copied and pasted everything from the location.swift file into the contentview.swift file and got it to work. Did I do something wrong when adding the new file that caused it to be out of scope? Very new to Xcode.. and macs.. and programming 😅 thanks again for the great tutorial!
@brandontyler9278
@brandontyler9278 3 года назад
outerloop: for i in 1...3{ innerloop: for j in 1...3 { if j == 3 { break outerloop } print("i = \(i), j = \(j)") } } Output i = 1, j = 1 i = 1, j = 2 Can someone explain this break statement in this for loops? Why on the second iteration it still say "i = 1"? Shouldn't it say "i = 2"?
@adhyanduam0488
@adhyanduam0488 3 года назад
Thanks for the video!
@ChrisHalo
@ChrisHalo 3 года назад
I got two errors and a warning thing 1hr 52m in. :( 1. Cannot assign value of type '[Location]' to type '[Locations]' Arguments to generic parameter 'Element' ('Location' and 'Locations') are expected to be equal 2. Cannot convert value of type 'Locations' to expected argument type 'Location' Any help would be greatly appreciated.
@carllindecrantz8424
@carllindecrantz8424 3 года назад
Man u don’t say which buttons to press. When u do VStack u tell me to putt it around the code then end it. I do that but when I press enter or space which I thought u did all the marked code disappear. Please help me
@omichaeljr
@omichaeljr 3 года назад
Around the “if tip.children!= nil {Label(tip.text, systemImage: ....” it cited that comparing non-optional value of type [Tip] to nil always returns true.
@davidagyakwa288
@davidagyakwa288 3 года назад
I wrote the tabview under the Navigation view and it still works why is that
Далее
5 Steps to Better SwiftUI Views
31:19
Просмотров 56 тыс.
I built an Apple Vision Pro app... visionOS tutorial
9:19
How to become an iOS developer in 2021
53:33
Просмотров 164 тыс.
Build your second iOS app with SwiftUI
2:32:07
Просмотров 45 тыс.
Create your first app with SwiftUI and SwiftData
2:19:51
Learn the Essentials of Swift in one hour
58:14
Просмотров 191 тыс.
SwiftUI Masterclass: Build To Do List App
2:42:49
Просмотров 127 тыс.
The Home Server I've Been Wanting
18:14
Просмотров 12 тыс.
How to Make an App in 8 Days (2024) - Full Walkthrough
3:00:49
Can ChatGPT write better SwiftUI code than you?
39:03