Tricking iOS into Animating Icons

Ғылым және технология

Let's create the wildest home screen effects that iOS has ever seen!
Demo Project: github.com/bryce-co/AnimatedA...
Text post for this video: bryce.co/animated-app-icons/

Пікірлер: 359

  • @brycedotco
    @brycedotcoАй бұрын

    Hey y'all - completely overwhelmed by the response to this. More videos on the way! ❤

  • @Hazem-Gt

    @Hazem-Gt

    Ай бұрын

    Hi

  • @anushtabhtv

    @anushtabhtv

    Ай бұрын

    Hey! Can you make the GitHub icon convert into the Pedro Pedro Racoon?

  • @CapybaraBros-lc9xd

    @CapybaraBros-lc9xd

    Ай бұрын

    can you try to make a video on how to do this on windows?

  • @nicholasvarner2706

    @nicholasvarner2706

    17 күн бұрын

    @@CapybaraBros-lc9xdyou can’t unfortunately; unless you were to access an internet hosted mac server and work through that. IOS development can only be done through Xcode, and Xcode is only available on macOS

  • @edorion6212
    @edorion6212Ай бұрын

    "oh nice, animated icons ! I guess this won't be too complicated" Opens IDA

  • @petethepete

    @petethepete

    Ай бұрын

    💀

  • @Sound_.-Safari

    @Sound_.-Safari

    Ай бұрын

    Underrated comment of the century

  • @brycedotco

    @brycedotco

    Ай бұрын

    we like to make things complicated here

  • @bb010g

    @bb010g

    Ай бұрын

    if you're not opening your decompiler are you even having a good time?

  • @Sound_.-Safari

    @Sound_.-Safari

    Ай бұрын

    Takes me back to using IDA to remove the 7 day free trial limit from IDA (for science)

  • @steve_1507
    @steve_1507Ай бұрын

    I'm waiting for someone to port Bad Apple to this

  • @generimposter

    @generimposter

    Ай бұрын

    Or running doom on iOS icon

  • @abc-oo8ce

    @abc-oo8ce

    Ай бұрын

    @@generimposter How to control

  • @Bari-gd

    @Bari-gd

    Ай бұрын

    ​@@generimposter or watching ht1t on the icon

  • @midnite59

    @midnite59

    Ай бұрын

    @@abc-oo8cepress other icons!

  • @aw1lt

    @aw1lt

    Ай бұрын

    @@abc-oo8cea widget

  • Ай бұрын

    Came for the animated icons, stayed for the insane low level debugging skills. What a gem of a channel, please don't stop making videos, I binged all of them already.

  • @pta103

    @pta103

    Ай бұрын

    You don't have a tag?

  • Ай бұрын

    real

  • @_tomch
    @_tomch2 ай бұрын

    This channel is scratching an itch I genuinely didn’t even know I had

  • @stephn.
    @stephn.Ай бұрын

    this is sick, I never thought this would be possible on something as proprietary as iOS. hope you get some more recognition cause after watching your other videos too you've become one of my favourite coding channels

  • @SrIgort

    @SrIgort

    Ай бұрын

    I guess they wouldn't allow you to submit apps with this trick to AppStore though

  • @anianii

    @anianii

    Ай бұрын

    Pretty much anything is possible on iOS as long as you get a valid code signature. Just won't get it approved for App Stores

  • @kreuner11
    @kreuner11Ай бұрын

    How did they make the clock icon? I wish they let us

  • @denisblack9897

    @denisblack9897

    Ай бұрын

    They will, when TikTok eats another half of our brain. They eventually will, 100%

  • @aw1lt

    @aw1lt

    Ай бұрын

    or even cooler- the compass icon

  • @crackedEgg

    @crackedEgg

    Ай бұрын

    It's not actually an icon, it's rendered by SpringBoard.

  • @mebeim

    @mebeim

    Ай бұрын

    @@aw1lt wait what makes the compass icon special? Seems like a normal static icon to me.

  • @Cmanorange

    @Cmanorange

    Ай бұрын

    @@mebeim rotate your phone on the short axis for a surprise

  • @GJToken
    @GJTokenАй бұрын

    Its probably already been asked, but the iOS Clock app shows the current time as an icon, there must be another way to animate an icon somehow or they're just holding out the secret sauce for themselves

  • @Nightcaat

    @Nightcaat

    27 күн бұрын

    The clock hands and calendar date are rendered by SpringBoard

  • @Exilorian

    @Exilorian

    18 күн бұрын

    @Nightcaat , that’s probably the case, and the only way to do it the proper apple way we would need some sort of jailbreak tweak to do it

  • @Avighna
    @AvighnaАй бұрын

    This is a really cool video. You’ve highlighted the perks of knowing reverse engineering really well with excellent explanations. Good job, and I had fun watching this.

  • @_opa334
    @_opa334Ай бұрын

    Nice video! One miniscule thing I wanted to note though is that the "LS" in the APIs does not mean "Lock Screen", it means "Launch Services" and the APIs communicate with the "lsd" daemon :P.

  • @brycedotco

    @brycedotco

    Ай бұрын

    Serves me right for trying to guess an acronym on the fly - especially since we weren't even looking at the lock screen for this one 🤦 Thanks Lars / appreciate you!

  • @Run1nho
    @Run1nho2 ай бұрын

    Thank you for this video. Just binged all of them. The best reverse engineering iOS content I have seen on the internet 🚀

  • @decryptmars
    @decryptmars2 ай бұрын

    Hear me out: Original iPhoneOS KZread icon as an animated icon that plays an actual youtube video

  • @mcrich23

    @mcrich23

    2 ай бұрын

    Rick roll

  • @deepansharya1111

    @deepansharya1111

    2 ай бұрын

    Not possible, the approach in this video is not playing any animated video or gif in the app icon, it is replacing the icon with a sequence of images that looks like the icon is animated. KZread videos won’t work

  • @jackg_

    @jackg_

    2 ай бұрын

    @@deepansharya1111 Possible, but pointlessly hard and pretty useless. You could *technically* download the video, separate it frame by frame.... too much work already.

  • @Amirka1719

    @Amirka1719

    2 ай бұрын

    @@deepansharya1111 , actualy, a video is nothing else that a bunch of icons/images changed fast enought not to notice)

  • @deepansharya1111

    @deepansharya1111

    2 ай бұрын

    @@Amirka1719 @jackg_ I knew that already & thanks for reaffirming. I mentioned it’s not possible because you can’t download the video in real-time and simultaneously convert each frame to an image and update it in the app icon, not to mention you’d also require youtube premium features to keep the background video playing at all times in case you hop back in the app and want the video to continue playing from the frame you last saw on app icon.

  • @DanteS-119
    @DanteS-119Ай бұрын

    Jesus I didn't expect to delve into assembly here , very cool...

  • @benmitchinson9831
    @benmitchinson98312 ай бұрын

    Dude this is so cool. Great edit, was super satisfying to feel like I was problem solving with you, even though I've never written a line of swift. Great great stuff. Looking forward to checking out your other vids!

  • @jiskac
    @jiskac2 ай бұрын

    Thank you! Love the intuitive yet technical detailled explanations of how to figure out block formats, as well as mentioning what happens under the hood 👩‍💻

  • @hihilogic
    @hihilogic2 ай бұрын

    This is actually super cool, deserves more exposure ❤️

  • @kibbewater
    @kibbewaterАй бұрын

    I think I just found the most underrated channel on KZread, great work!!

  • @GiovanniKody100

    @GiovanniKody100

    Ай бұрын

    Overrated*

  • @illuminum8576
    @illuminum8576Ай бұрын

    That workaround is actually amazing, thank you YT algorithm for finally recommending me a channel I want to watch

  • @HD-jm4em
    @HD-jm4emАй бұрын

    This is nothing short of wizardry. Please PLEASE don't stop posting

  • @pietsous
    @pietsous2 ай бұрын

    This most inspiring and refreshing iOS development material out lately. Keep up the great work 👍🏼

  • @valeekatona
    @valeekatonaАй бұрын

    are u working for Apple? Or how tf someone can be this good? level God.

  • @worldadmin9811
    @worldadmin9811Ай бұрын

    never dev'd on mac and watched the whole thing. super cool watch man!

  • @JollyTVance
    @JollyTVanceАй бұрын

    Mark my words: Apple will make this harder to do in an upcoming version of iOS, and then a few versions later they'll impmement this as an "innovative" new feature

  • @JoelGorostieta

    @JoelGorostieta

    Ай бұрын

    Look at the clock app icon, it the current time and you can see the second hand moving. They must do something like this

  • @Brixster

    @Brixster

    Ай бұрын

    @@JoelGorostietathe clock, compass, and calendar icons are rendered directly by Springboard. you could argue that it's sorta hardcoded into the OS and not really a specific function call that the clock app is uniquely tapping into

  • @klnsbl

    @klnsbl

    Ай бұрын

    @@Brixstercompass too? it looks static to me

  • @SideLoadingScripts

    @SideLoadingScripts

    Ай бұрын

    @@klnsbliOS 17 removed the moving compass.

  • @arden6725

    @arden6725

    Ай бұрын

    they will absolutely remove access to the undocumented api in the next update

  • @theocrandall
    @theocrandall23 күн бұрын

    Would love to see some live streams, so see the unedited thought process and problem solving. This kind of stuff is so fun to watch live when it is someone this skilled doing it.

  • @iOSAcademy
    @iOSAcademy2 ай бұрын

    Great video!

  • @mish
    @mishАй бұрын

    Incredible technical deep dive. Great work mate!

  • @MrNobodyX3
    @MrNobodyX3Ай бұрын

    This is amazing and needs to be used more

  • @theoldknowledge6778
    @theoldknowledge6778Ай бұрын

    You can actually display informations with this (like the clock app displays the current time) cool!

  • @Kn0tzer
    @Kn0tzerАй бұрын

    i’ve created something similar to this in the shortcuts app except it changes your wallpaper to make it a video. never ended up finishing it since ios 17 puts a 50ms limit on how fast actions can run making the fps too low to be practical. (this is good though since you can kinda crash ios by changing between wallpaper states too fast, i learned the hard way)

  • @encodedlife
    @encodedlife2 ай бұрын

    * bows with respect

  • @buresdv
    @buresdv2 ай бұрын

    This is awesome! I love watching your videos, I'm sick of all the beginner tutorials. Keep it up!

  • @mathiasvojtek3545
    @mathiasvojtek3545Ай бұрын

    Impressive! Please upload more content like this

  • @andrewarnopoulos1819
    @andrewarnopoulos18192 ай бұрын

    Would you be able to achieve the same result with an animated png and calling the private API?

  • @ondrejkorol9595
    @ondrejkorol95952 ай бұрын

    Wow! Loving this video!

  • @computerfan1079
    @computerfan1079Ай бұрын

    First time I actually understand decomp. Great job!

  • @LiamHighducheck
    @LiamHighducheckАй бұрын

    Do you know how to stop iOS from autopausing music when you enter certain apps?

  • @el.blanco8961
    @el.blanco8961Ай бұрын

    I feel like this is going to be the future of app icons and brand logos, flowing, moving, more eye catching icons or advertisements placed throughout all storefronts or even in side advertising the products themselves.

  • @tdrg_
    @tdrg_Ай бұрын

    Incredible work, thanks for the video and the source code!

  • @tjnangosha
    @tjnangoshaАй бұрын

    Your debugging is over the top!

  • @AamitRudberg
    @AamitRudbergАй бұрын

    Its complicated af yet i understood every little bit. Youre good at this

  • @HeyNoah
    @HeyNoah2 ай бұрын

    This is awesome man! 🙌

  • @42xzero
    @42xzeroАй бұрын

    Man this video deserves a million views!, subscribed

  • @henrysanecdotes5323
    @henrysanecdotes5323Ай бұрын

    Holy crap this is insane. Thank you THANK YOU for making this video

  • @grassified.
    @grassified.Ай бұрын

    this is sick!! subbed almost immediately :)

  • @Zytron
    @ZytronАй бұрын

    Wish I'd seen this back when I was in Mobile App Dev class during the semester for IOS. I so would've shown this off in one of my app challenges

  • @justinwlin
    @justinwlinАй бұрын

    This insanely impressive. definitely one my newer programming ytbers to follow 🔥

  • @slash.9882
    @slash.98827 күн бұрын

    Very interesting video, ill try it out. ty

  • @kanauvist
    @kanauvistАй бұрын

    wow that is amazing. great video

  • @mobiledevlife
    @mobiledevlife2 ай бұрын

    This is awesome, haha! 🎉 As a mobile developer myself, I really enjoy watching this kind of content, and I didn't know it was possible 😂

  • @MartinDerTolle
    @MartinDerTolleАй бұрын

    Can you play bad apple on the home screen using app icons?

  • @ashadsaeed2514
    @ashadsaeed251420 күн бұрын

    keep making videos my guy 😊

  • @fabian3411
    @fabian3411Ай бұрын

    This is genuinely so impressive

  • @alexarze9769
    @alexarze976912 күн бұрын

    This is a beautiful breakdown! Unrelated… what is the map decor in the background??

  • @Blarnix
    @BlarnixАй бұрын

    This is fantastic. Wow.

  • @wverbrug1
    @wverbrug1Ай бұрын

    is there a way to make a shortcut animated?

  • @pipikakachu
    @pipikakachuАй бұрын

    Can you alter apps to make them appear in CARPLAY?

  • @lte6983
    @lte6983Ай бұрын

    how do you generate the images for icons?

  • @anotherguycalledsmith
    @anotherguycalledsmithАй бұрын

    You are just on another level, my friend ;-)

  • @king_james_official
    @king_james_officialАй бұрын

    cool, how does the clock icon work though? is it some kind of elevated app that doesn't have to go through the icon api?

  • @Flor-ian
    @Flor-ianАй бұрын

    This is awesome, I’m really glad I was served your channel. You’ve earned a new sub. Your explanation of faking the Boolean success was very interesting

  • @jeanysergeimezarodriguez8629
    @jeanysergeimezarodriguez8629Ай бұрын

    Thanks for the great lecture! Which version of IDA are you using? Is it possible to dissemble the dyld_shared_cache on the free version of IDA, I'm trying to make it work but seems pro version is needed. I just want to confirm with you.

  • @kryptonian69
    @kryptonian69Ай бұрын

    watch apple steal this and showcase it as "worlds first innovative animated icons"

  • @lampree
    @lampreeАй бұрын

    This is super cool and a side of iOS I wish I knew more about

  • @edgiestnickel89
    @edgiestnickel89Ай бұрын

    What about the way the clock app changes its icon based on the time of day

  • @bb010g
    @bb010gАй бұрын

    Great introduction to reversing! Very enjoyable. I'm a bit envious of how IDA handles those blocks; Binary Ninja requires more manual work to get them decently readable. :)

  • @pinguluk1
    @pinguluk1Ай бұрын

    But how did you change the Github app icon especially?

  • @tuckervincent940
    @tuckervincent940Ай бұрын

    Is this possible to do with a windows computer

  • @Pfahli94
    @Pfahli94Ай бұрын

    Now I want to watch shrek inside an icon on my homescreen.

  • @RyanLynch1
    @RyanLynch1Ай бұрын

    you fly through that low level debugging. incredible

  • @bluebearfinn
    @bluebearfinnАй бұрын

    sick, howd you get the app on the phone?

  • @danielridzon
    @danielridzonАй бұрын

    Nice work 🙌 Great showcase of the more advanced debugging capabilities of using lldb and decompiler It would be funny to see the reaction of the Apple Review team 😅

  • @rezq2883
    @rezq2883Ай бұрын

    This video is extremely beautiful… nothing but respect! I never knew messing with iOS was this accessible 😛 (with the right knowledge and tools…)

  • @Godinho.Mateus
    @Godinho.MateusАй бұрын

    Lol, somehow I managed to create an app that does not show the change icon dialog and can change on the background, all of that without knowing what I did to achieve that and without knowing how to reproduce it again. I have fiddle with anything out of Xcode, no extra files, no directory files, nothing, only things inside Xcode. I wish I could show how it was done!

  • @SWinxyTheCat
    @SWinxyTheCatАй бұрын

    wow that's sick! quite involved trickery.

  • @e.6z1
    @e.6z1Ай бұрын

    woah that's neat! subscribed :3

  • @sherlockluk2225
    @sherlockluk2225Ай бұрын

    you should do more of these Private API videos

  • @tonyjaimep
    @tonyjaimepАй бұрын

    Loved the video and the low-level debugging with such great explaining One thing that kind of OCD-d me out - your window management could be more consistent and visually appealing with a window manager line rectangle (free)

  • @arjundureja
    @arjundureja2 ай бұрын

    Amazing. I could see production apps on macOS using this to update the app icon in the background

  • @theairaccumulator7144

    @theairaccumulator7144

    Ай бұрын

    Hopefully not as it's a stupid hack

  • @enderteck3273
    @enderteck3273Ай бұрын

    This 100% should be in every Android Launcher, should be easy too.

  • @thatETTYT

    @thatETTYT

    Ай бұрын

    IOS too, but Apple would NEVER give developers this much freedom, we're lucky they allow us to change the icons with this.

  • @enderteck3273

    @enderteck3273

    Ай бұрын

    @@thatETTYT I know, that's why it would happen in Android Launchers first/only. Apple doesn't care about making good changes until their products are below average or until the EU gives them rules to follow (like the USB C port).

  • @jacksonofsun
    @jacksonofsunАй бұрын

    Why does the phone time never change from 9:41?

  • @Kdkjdjewerdnxa
    @KdkjdjewerdnxaАй бұрын

    Can’t imagine how annoying it would be to have dozens of icons moving around constantly

  • @blastygamez
    @blastygamezАй бұрын

    Can you make a video on building an ios app on linux?

  • @dominicus9891
    @dominicus9891Ай бұрын

    I thought you were going to use the private API the clock app uses to animate the hands of the icon.

  • @isurujn
    @isurujnАй бұрын

    This is so cool. I always wanted to see how reverse engineering private iOS APIs looked like.

  • @loganblevins8633
    @loganblevins86332 ай бұрын

    Why did the first private method link without weak linking flag applied but the second one did not?

  • @iCrazeDev

    @iCrazeDev

    2 ай бұрын

    The first method belongs to UIApplication, which is obviously from UIKit (already linked) However when he switches to calling a method on LSBundleProxy, the linker does not know about that class. The solutions here are either: get the class at runtime (objc_getClass/NSClassFromString), weakly link it (like he does in the video), or link the actual framework (in this case, MobileCoreServices)

  • @zuman_one
    @zuman_oneАй бұрын

    This got me interested in iOS development

  • @xyster7
    @xyster7Ай бұрын

    so it can not be just animated gif or mp4?

  • @blastygamez
    @blastygamezАй бұрын

    Awesome!

  • @carterpape
    @carterpapeАй бұрын

    holy shit bro I NEED more Apple OS development and reverse engineering videos from you

  • @mredig
    @mredig2 ай бұрын

    Broke my phone screen smashing that subscribe button

  • @gospodbog
    @gospodbogАй бұрын

    Before this video I dared to think I was a senior iOS dev

  • @protodimbo
    @protodimboАй бұрын

    i need a whole course about ios app reversing

  • @Flaming-Wolf
    @Flaming-WolfАй бұрын

    Wow! This is so cool! Do you think the same effect is possible to replicate on Samsung phones?

  • @IH0kN3m
    @IH0kN3m2 ай бұрын

    Dude, that’s insane

  • @gFamWeb
    @gFamWebАй бұрын

    Honest question: would this break Apple ToS? It seems you're working with non-public API's.

  • @FrancescoM-
    @FrancescoM-13 күн бұрын

    can you make the fonts bigger in the next video?

  • @ortatherox
    @ortatherox2 ай бұрын

    nice work

  • @joshofosho3
    @joshofosho32 ай бұрын

    Can you turn this into a jailbreak tweak? 👀

  • @valeekatona
    @valeekatonaАй бұрын

    as a junior dev, amazed on your knowledge. I want to learn swift and things like this, you should teach US from 0 to hero.

  • @gFamWeb
    @gFamWebАй бұрын

    I built my own setup for calling private API's in Swift that doesn't require a header file. Instead, though, you have to define the function shape as a typealias. But it works!

  • @gFamWeb

    @gFamWeb

    Ай бұрын

    Granted, I'm more of a security researcher than a dev, so it may not really be useful in these cases. My method dynamically links at runtime, which may have performance issues.

Келесі