Wow!! this is awesome. I learned a few new things here
@swiftodyssey8 күн бұрын
Glad it was helpful!
@stemple038 күн бұрын
@ Would you be interesting in helping me with a couple scratch apps?
@swiftodyssey8 күн бұрын
I do paid consulting as well. Please reach out to me on my email in the channel bio with your requirement.
@cd78Ай бұрын
Not a full proof solution, it leaves a shadow around the bezel
@StudySessions-f4dАй бұрын
OG my man!
@swiftodysseyАй бұрын
Thank you ! 🙌🏼
@danielcrompton7818Ай бұрын
Omg such a cool effect! Thank you! This is gonna be such a nice feature in my app, you’re a star!!!
@swiftodysseyАй бұрын
I'm glad you like it
@ikshitchaudhari2529Ай бұрын
Epic !❤
@swiftodysseyАй бұрын
Thank you!
@danielcrompton7818Ай бұрын
Hi, this looks amazing!! I’m really bad at math so thanks for providing the code to rotate and scale the moon. Super creative SwiftUI solution and much better than creating in AE or Motion and creating a lottie file. Keep going!!
@swiftodysseyАй бұрын
Thank you. And yes, nowadays a lot of folks might prefer going the Lottie way but nothing like creating it natively using SwiftUI! I find it a fun little exercise to try every now and then :)
@danielcrompton78182 ай бұрын
Hey Swift Odyssey, thanks for another LIT tutorial, I really love the effects you create, especially the shine effect! I will DEFINITELY find a way to sneak it into my current project! I find it really interesting how you do the scratch card effect by gathering a list of points when it is dragged, then masking that with a thick line built with those points. Personally I’d use a completely different approach though: I’d use the PencilKit module which includes a PKCanvasView that allows the user to draw. It is a UIView so needs to be put in a UIViewRepresentable so it can be used in a SwiftUI context. It’s used in loads of different drawing apps and stuff, and how I’d do this create a FrontCardView with the rectangle and the pokemon logo, then a BackCardView which takes in the pokemon name (used to fetch image) and the colour. Then in the ZStack put the BackCardView on the bottom and the FrontCardView on top, and mask the front card view with a canvas view (PKCanvasView in a UIViewRepresentable). You can also set properties of the PKCanvasView in representable, such as the tool width to make your line thicker. This way, the front card only appears in the canvas view’s opaque areas and creates the look you want. If you’re mire interested in making the canvas view I write an article in how to use PKCanvasView with SwiftUI. (Just note your toolPickerShows would be .constant(false) and although I haven’t checked it, but I think you could either set the size of CanvasView with .frame or put it in the ZStack where it pushes out to the ZStack’s size. Article link: medium.com/@danielcrompton5/create-a-drawing-app-with-pencilkit-more-5c5a2a8a4738 Have a nice day!
@swiftodyssey2 ай бұрын
Hey Daniel, I read your article and it's an interesting approach! I haven't really used PencilKit to be honest but I do think that it lends itself naturally towards drawing apps. For the purpose of the scratch card, I wanted to show a simpler way to achieve the effect as the surface area is much smaller. One improvement would be to combine it with CAEmitter's to probably show the scratched off particles flying off in different directions. I haven't gotten to it yet, but I might with some more time on my hands :)
@Algorithmswithsubham2 ай бұрын
woooooooow
@swiftodyssey2 ай бұрын
@@Algorithmswithsubham thank you! Do leave a like and consider subscribe if you haven't already.
@Algorithmswithsubham2 ай бұрын
@@swiftodyssey i do
@AmineArfaoui3 ай бұрын
Can you restrain the chatbot only to information in firebase ?
@swiftodyssey3 ай бұрын
Hi! As far as I know you can't. The extension acts as an intermediary to the LLM hence the information would not be restricted.
@laurentbennis3 ай бұрын
awesome effect thank you :)
@swiftodyssey3 ай бұрын
Glad you like it! Do consider giving the video a like & subscribing to my channel 🙂
@swiftodyssey4 ай бұрын
Latest version 👉🏻 kzbin.info/www/bejne/epqrgWmNid2cp7c
@danielcrompton78184 ай бұрын
Awesome!! I love the motion tilt, it just makes apps so more dynamic
@swiftodyssey4 ай бұрын
Thank you! I agree, when done right it can transform user experience.
@danielcrompton78184 ай бұрын
@@swiftodyssey You may have heard of an app for Mac called CleanMyMacX (or even have it) but when it is ‘cleaning’ (or searching the hard disk) it shows an icon that loops round in circles with an animation and a shadow appears when the animation reaches the bottom half of the circle. I’m sorry if you can’t imaging what I mean, just don’t worry about it, but I feel inspired to make something like that in SwiftUI.
@swiftodyssey4 ай бұрын
Yeah I've heard of it but never used it so I'm having a hard time imagining 😁 Feel free to drop a video link if you can find one of the app in action or upload a short video and share it here. I'll probably look at some videos & see if I get what you mean.
@swiftodyssey2 ай бұрын
@@danielcrompton7818I looked at a few videos on KZbin but none showed the animation you mentioned. Also it seems that the software has been updated. If you've got the version number of the app you use, I could download it and check out the animation.
@JetLagRecords4 ай бұрын
Swift Odyssey, yoo this video is heat
@swiftodyssey4 ай бұрын
Thank you for your kind words!
@sunderkarthik74074 ай бұрын
OMG, you saved me SO MUCH TIME. Thank you very much for this.
@swiftodyssey4 ай бұрын
You're welcome! Do leave a like and consider subscribing 🙂
@SwiftCoding55-x9f4 ай бұрын
Can yo do another video and show connecting to a quiz and then go to the next lesson like Duolingo for swiftUI please?
@swiftodyssey4 ай бұрын
@@SwiftCoding55-x9f Hi ! There are already solutions provided for your use case on StackOverflow. Check NavigationStack & NavigationLink
@SwiftCoding55-x9f4 ай бұрын
@@swiftodyssey Can you provide the link please. Also, really good video you have gained a new subscriber.
@paschalkings81844 ай бұрын
good video
@swiftodyssey4 ай бұрын
@@paschalkings8184 Thank you!
@danielcrompton78184 ай бұрын
Great looking app! I’d love a tutorial on how to make it!!
@swiftodyssey4 ай бұрын
Thank you Daniel ! The video is linked in the short, or you can click here for the full tutorial: kzbin.info/www/bejne/mn63ZYaKp8ykq7M
@danielcrompton78184 ай бұрын
@@swiftodyssey 😅😝😁 Thanks!! I didn’t notice
@Scatsky4 ай бұрын
This is awsome!?
@swiftodyssey4 ай бұрын
Thank you so much !
@Scatsky4 ай бұрын
@@swiftodyssey no problem!
@danielcrompton78184 ай бұрын
Very interesting solution and a really creative idea!! Thanks 🙏 for your time and efforts creating KZbin videos, worth a like and sub!
@swiftodyssey4 ай бұрын
Thank you Daniel ! I'm glad you liked the video & I appreciate your support 🙂
@PavelSelivanov-dd8os4 ай бұрын
👍
@swiftodyssey4 ай бұрын
Thank you ! Do leave a like and subscribe for more interesting content 🙂
@deepjyotibaishya75765 ай бұрын
Hey, how to use tabview with tab ?? From recent new update
@swiftodyssey4 ай бұрын
Hi deepjyoti ! I believe there are already articles & videos on this topic. However, if you'd like me to create one, let me know.
@TopraKhann6 ай бұрын
İ love your content❤
@swiftodyssey6 ай бұрын
Thank you my friend 🙂 Do subscribe if you haven't already & share with others too!
@swiftodyssey6 ай бұрын
· Get 10000 free mins with UIKits: bit.ly/3XBEuGk · Learn more about ZEGOCLOUD: bit.ly/45K5FR6 · 100% customized video call SDK: bit.ly/4clivrG · How to build iOS video call App: bit.ly/3VEHJKx ZEGOCLOUD video call SDK & API allows you to easily build your live video chat apps within minutes.
@grandeppieno7 ай бұрын
Is it possible create an App Store Like App, with this metod ? 😮
@swiftodyssey7 ай бұрын
Hi ! Yeah of course. You could create a scroll/carousel of featured apps for example and on click use the zoom navigation transition to show an app details screen.
@RussChannel137 ай бұрын
Does not lool smooth. I think using matchedgeometryeffect would be way smoother
@swiftodyssey7 ай бұрын
Its true that it's sort of 'limited' in a sense. I also love MatchedGeometry & use it extensively, however I've often run into issues when using it inside NavigationStack for instance. I'm still playing around with it for now.
@RussChannel137 ай бұрын
@@swiftodyssey thanks for sharing new features
@swiftodyssey7 ай бұрын
@@RussChannel13 you're welcome, happy coding !
@olivierWOD7 ай бұрын
great game i love it, thx for all
@swiftodyssey7 ай бұрын
You're welcome ! 🙂
@Navy-7297 ай бұрын
Hi, I'm getting the error Argument type 'ModelContent.Part' does not conform to expected type 'PartsRepresentable' in the compression code. Can you pls explain why?
@swiftodyssey7 ай бұрын
Hi @Navy-729 ! It seems the issue occurs in the latest version of the SDK v0.5.4 as of this writing while the tutorial used v0.4.4 when published. I've fixed the issue & pushed changes to use the latest version of the SDK here: github.com/anupdsouza/ios-gemini-chat/tree/multimodal Please take the latest source code from here. Hope this helps, & do consider subscribing to my channel if you found the content useful !
@Navy-7297 ай бұрын
@@swiftodyssey thanks a lot!!!
@swiftodyssey7 ай бұрын
@@Navy-729 you're welcome!
@Navy-7297 ай бұрын
@@swiftodyssey One more thing: while the code works and I tested it, the model does not keep track of the context of the previous messages and cannot build off of prior responses. I was thinking that I would append the history of each message prior to the user's message, but is there a more efficient way to do this?
@swiftodyssey7 ай бұрын
@@Navy-729 Yes, you can. You need to initialise a `Chat` instance for that. Take a look at the text-only chat with Gemini video here where I make use of it: kzbin.info/www/bejne/jICWinqEZ7qofsU At the time of that video, the SDK wouldn't support text & media based interactions but more recently, it seems that the SDK is able to manage it. You may need to play around a bit to figure things out. Here's how Google does it using the vertex sdk but the code is almost exactly the same firebase.google.com/docs/vertex-ai/chat?platform=ios. Also take a look at my vertex ai video on how to send photo & video media from this point onwards kzbin.info/www/bejne/l3aweIh8bLigqNE. Do note that the context for the model is limited to a certain extent depending on the gemini model you use such as pro or flash. I might update this sample when I get some time. In case I do, I'll drop a line here. Hope this helps!
@yashrajjadhav98398 ай бұрын
hey do you know how to upload image to the firebase like i want to use a profile image and want to use that images among the leaderboard of the active users
@swiftodyssey8 ай бұрын
Hey! That would require working with Firebase Storage. Check out the documentation here: firebase.google.com/docs/storage/ios/upload-files . Consider subscribing to my channel if you haven't 🙂
@yashrajjadhav98398 ай бұрын
@@swiftodyssey Thanks , I have subscribed already
@batuhanberkertekin90298 ай бұрын
How can I do the same with UI kit ? Can you also do it with UI kit ?
@swiftodyssey8 ай бұрын
Hi ! The gemini SDK will work the same way with UIKit since the AI request code is not UIKit dependent. Once you get the AI response, you can display it in a UITextView or UILabel connected to, for instance an IBOutlet. Is there any particular challenge that you are facing? Let me know, and do subscribe to the channel if you haven't already :)
@tunaitech9 ай бұрын
I!m getting error creating story ,please try again later why ?
@swiftodyssey9 ай бұрын
Hi! There are a couple of reasons for this. #1. If there was an issue getting a story from Gemini API which could be due to incorrect api key, api response limits or incorrect json data OR #2. If there was an error retrieving images for the story received in step #1. This can happen if you dont have the a proper Open AI secret key, there is a rate limit or you don't have enough credits for Dall E to generate images. I'd advise setting a breakpoint in the code and checking the execution step by step.
@tunaitech9 ай бұрын
@@swiftodyssey Hello, -[RTIInputSystemClient remoteTextInputSessionWithID:performInputOperation:] perform input operation requires a valid sessionID. inputModality = Keyboard, inputOperation = <null selector>, customInfoType = UIEmojiSearchOperations im getting this error i search this error nothin help can you help please!
@swiftodyssey9 ай бұрын
That is unrelated to the issue. Set a breakpoint at line #49 here github.com/anupdsouza/ios-gemini-storybook/blob/main/Storybook/Storybook/Library.swift and check the response you receive from Gemini. If all is well, you should see the story printed via the print statement at line #63. Next, see if you get an error printing at line #73 & #88. That will execute if there was an issue creating images.
@tunaitech9 ай бұрын
@@swiftodyssey thank you it’s showing green thread 1 breakpoint 49,73 what does it mean
9 ай бұрын
very good bro but Dall-E very expensive , do you have any suggestions, an api where we can create a more appropriate picture?
@swiftodyssey9 ай бұрын
Hello! All the good ones are paid & lack a free trial.
@Decatilinae10 ай бұрын
wow is very interesting... thanks for sharing
@swiftodyssey10 ай бұрын
Thank you! Do consider subscribing to the channel !
@OhadYaniv-z8v10 ай бұрын
It seeems something has changed in their API - it worked 2 weeks ago and now stopped working. You can chat but cannot get data on any image. Do you know something about it?
@swiftodyssey10 ай бұрын
Hi. Something is definitely broken with the SDK when using images. I've reported an issue on the SDK page on Github. Hopefully someone from the dev team can identify the problem. I will post an update here as & when I receive it. Thanks for bringing attention to this, also don't forget to subscribe to the channel :)
@swiftodyssey10 ай бұрын
Hi, I tested with both the 0.4.4 version of the SDK used in this video as well as the latest 0.4.8 and I no longer see error 500 in the responses. The issue was temporarily occurring due to service related issues which are now resolved: github.com/google/generative-ai-swift/issues/122
@gorkemsaka719610 ай бұрын
I love it! Specially the way you use for saving api key helped a lot.
@swiftodyssey10 ай бұрын
Glad it helped!
@codeandvideography4 ай бұрын
Yes, for sure! That is how it's recommended in the Gemini Documentation
@EnesTalhaUçar11 ай бұрын
"APIKey" cannot find in scope , xcode said. But I already imported googlegenerativeAI to my chatService file. private var proVisionModel = GenerativeModel(name: "gemini-pro-vision", apiKey: APIKey.default) but this code is not working. It says cannot find in scope. I am not sure whre I put my API Key. Can you explain for me ?
@swiftodyssey11 ай бұрын
Hi ! So there are 2 parts to this. The first is a config plist file where the key is stored and the second part is the APIKey.swift helper file which helps to read the key from the plist. I have shown this in detail in my starter video here kzbin.info/www/bejne/jl7dpGCtlpudaJosi=vFy-0KAK1e4lP5ix & I'd highly recommend that you begin with that video first to understand the setup better. Alternatively, you can also download the code github.com/anupdsouza/ios-gemini-chat/tree/multimodal and copy your api key in the Generative AI plist file and play around. Hope this helps 🙂
@EnesTalhaUçar11 ай бұрын
Thank you so much buddy. Appreciated :)@@swiftodyssey
@swiftodyssey11 ай бұрын
@@EnesTalhaUçar You're welcome! Do leave a like & consider subscribing if you found the videos helpful. 🙂