@calicoding@mastodon.social
@calicoding@mastodon.social avatar

calicoding

@calicoding@mastodon.social

iOS developer

This profile is from a federated server and may be incomplete. Browse more on the original instance.

jsq, to random
@jsq@mastodon.social avatar

My favorite thing about WWDC videos is when they skip over details and refer you to previous WWDC videos that are no longer available 🙃

calicoding,
@calicoding@mastodon.social avatar

@jsq my second favorite thing is when the code in the presentation is outdated and no longer works because APIs were deprecated during the beta cycle 🙃

calicoding, to random
@calicoding@mastodon.social avatar

Yes, thank you 🙃

calicoding, to random
@calicoding@mastodon.social avatar

@burritojustice this seems likely of interest to you kind sir

https://www.youtube.com/watch?v=Of1XCC4FnDg

calicoding, to random
@calicoding@mastodon.social avatar

I just want to make apps and solve problems for people. I do not want to deal with bullshit

pixel, to random
@pixel@social.pixels.pizza avatar

monster bottle brush bush i saw on my walk today

calicoding,
@calicoding@mastodon.social avatar

@tonyarnold they’re everywhere in San Francisco

jsq, to random
@jsq@mastodon.social avatar

The curious case of Apple's third-party SDK list for privacy manifests

https://www.jessesquires.com/blog/2024/04/29/sdk-privacy-manifests/

calicoding,
@calicoding@mastodon.social avatar

@jsq Apple’s requirements for these select third party SDKs also include a “signature”. So it could be that some of these libraries are targets of supply chain attacks.

calicoding,
@calicoding@mastodon.social avatar

@dt @jsq I think signatures are only required for binary distributions, which makes sense I suppose

calicoding,
@calicoding@mastodon.social avatar

@dt @jsq 💯 agree. There’s been a lack of clarity from Apple on this. Though I admit the documentation on the contents of the privacy manifest are pretty good

calicoding,
@calicoding@mastodon.social avatar

@jsq @dt I agree, but I’m not sure if there’s a better solution. System boot times are strong vectors for fingerprinting, but if Apple just removed (or broke) those APIs all kinds of apps with legitimate use cases would break. Not sure what’s up with UserDefaults, seems ridiculous to have to justify its usage.

simonbs, to random
@simonbs@mastodon.social avatar

Googling UITextInteraction's quirks when I came across PSPDFKit’s blog post that concludes with this. I guess I've come full circle 😄 https://pspdfkit.com/blog/2023/adopting-uitextinteraction/

calicoding,
@calicoding@mastodon.social avatar

@simonbs Hello, Pagliacci

schwa, to random
@schwa@mastodon.social avatar

deleted_by_author

  • Loading...
  • calicoding,
    @calicoding@mastodon.social avatar

    @schwa is this maybe related to your Apple ID issues @mjtsai ?

    https://mastodon.social/@mjtsai/112340606124738517

    calicoding, to random
    @calicoding@mastodon.social avatar

    Found an interesting MainActor isolation edge case today. Below is a reduced example. If you have a nested function declared on a MainActor isolated type, but within a closure that is not MainActor isolated, it raises an error.

    Note that the closure for UIDeferredMenuElement.uncached is not annotated @.MainActor, but UIDeferredMenuElement itself is. Oddly, you can access MainActor isolated state within this closure, just not from within the nested function.

    Any ideas what's going on?

    calicoding,
    @calicoding@mastodon.social avatar

    @mattiem yes it does! Also, bar() seemingly does not need to include self when referencing viewModel??

    calicoding,
    @calicoding@mastodon.social avatar

    @mattiem defining a closure instead does not exhibit this issue. It’s wild!

    layoutSubviews, to random
    @layoutSubviews@mastodon.social avatar

    In Xcode 15.4, SPM now auto-generates Swift symbols for catalog assets.
    That's great! Except they're declared internal, therefore they're useless in a package whose sole purpose is defining a Design System 😕

    calicoding,
    @calicoding@mastodon.social avatar

    @layoutSubviews I think I filed a FB on this during WWDC last year. Without configurable access control this feature is kind of a joke

    jsq, to random
    @jsq@mastodon.social avatar

    You would think that Apple would link to the homepage or GitHub for all the specific SDKs the listed here... but of course they don’t. Because if you're a third-party developer, then fuck you.

    https://developer.apple.com/support/third-party-SDK-requirements/

    calicoding, (edited )
    @calicoding@mastodon.social avatar

    @jsq something I can’t figure out, the privacy manifests for 3rd party SDKs are only integrated into your app when the libraries are dynamically linked. Seems like most folks will use static linking, even with the libraries included here. So what happens then? Statically linked libraries also don’t include a signature as far as I can tell

    calicoding,
    @calicoding@mastodon.social avatar

    @jsq exactly. We use some of these SDKs so I guess we’ll see what happens soon 🤷‍♂️

    calicoding, to random
    @calicoding@mastodon.social avatar

    Reminder that the swift compiler has some internal magic for invocations of DispatchQueue.main.async, where it automatically applies @._unsafeMainActor. Big thanks to @ole for his investigation:

    https://oleb.net/2024/dispatchqueue-mainactor/

    jsq, to random
    @jsq@mastodon.social avatar

    Someone on the team asks me questions about some really old code

    Me: spends 2 minutes on GH looking at file/commit history and answers all the questions

    This must be the new “let me google that for you”

    calicoding,
    @calicoding@mastodon.social avatar

    @jsq source control archeology is an essential skill for a software engineer. Often sadly lacking

    schwa, to random
    @schwa@mastodon.social avatar

    deleted_by_author

  • Loading...
  • calicoding,
    @calicoding@mastodon.social avatar

    @schwa it’s so obviously not a lottery. I don’t know why people keep believing that it is

    calicoding, to random
    @calicoding@mastodon.social avatar

    Ugh, I never get an onsite ticket. Even though I register both through my work and personal dev accounts. I suppose it’s a good thing it doesn’t amount to much anymore. But still, it might be nice to meet some of you all in person. Maybe I’ll try to explore some other local events.

    krzyzanowskim, to random
    @krzyzanowskim@mastodon.social avatar

    new fear unlocked

    how are we supposed to implement the delegate pattern now in Swift?

    calicoding,
    @calicoding@mastodon.social avatar

    @krzyzanowskim yeah I honestly do not know how to solve this. The delegate reference could be zeroed on any thread, how can that possibly be thread safe? Maybe only if both Foo and FooDelegate are MainActor isolated, which may not be appropriate.

    jsq, to random
    @jsq@mastodon.social avatar

    deleted_by_author

  • Loading...
  • calicoding,
    @calicoding@mastodon.social avatar

    @jsq here’s the thing, isn’t UserDefaults already sandboxed? So how could its use contribute to fingerprinting?

    jsq, to random
    @jsq@mastodon.social avatar

    deleted_by_author

  • Loading...
  • calicoding,
    @calicoding@mastodon.social avatar

    @mattiem @jsq can this ever be safe though? KVO notifications can come on any thread. Even if the observed property is MainActor isolated, is there any way to pass that through the type system to the observation?

    danielpunkass, to random
    @danielpunkass@mastodon.social avatar

    I bought a couple new toys in the past week. One is a future-facing headset with mind-blowing visual effects, and the other is a 1961 scooter that rocks my world. The scooter was cheaper.

    calicoding,
    @calicoding@mastodon.social avatar

    @danielpunkass series 2 LI150! A bike for a true connoisseur. I have a series 3!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • osvaldo12
  • khanakhh
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • everett
  • ngwrru68w68
  • Durango
  • anitta
  • InstantRegret
  • GTA5RPClips
  • cubers
  • ethstaker
  • normalnudes
  • tacticalgear
  • cisconetworking
  • tester
  • Leos
  • modclub
  • megavids
  • provamag3
  • lostlight
  • All magazines