@ramzesenok@mastodon.social
@ramzesenok@mastodon.social avatar

ramzesenok

@ramzesenok@mastodon.social

iOS. In love with technologies and creating products. Created ShopFella, Splandid, Quizzy and Poem Library. Love speaking in public about SwiftUI and sharing findings on the internet

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

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Using to update models from both the app and the widgets is so good but I struggle with a small problem. If I open the app, then send it to background, update model using widget action and then open the app again – the model there will be unchanged. What do I do wrong?

As far as I understand the Intent in the widget uses a different model context than the app itself. But how to I sync them then?

ramzesenok, to SwiftUI
@ramzesenok@mastodon.social avatar

This might sound trivial but I just figured it out and I’m so happy to have learned it!

If you’re using and and you don’t add/delete entries on a certain screen but rather just update the entries themselves – you don’t need to use @Query!

You can load the entries once using context.fetch() and then work with them. SwiftUI will automatically update views when you update the entries but without @Query it won’t make fetch requests EVERY TIME something changes

christianselig, to random
@christianselig@mastodon.social avatar

Another Swift @​Observable question 😛 How do I make a UIViewRepresentable receive updates when I completely replace the View Model? The parent view sees the change, but I can't figure out how to propagate it into the UIViewRepresentable

Example code: https://gist.github.com/christianselig/7b56623a09916faf47cd26eabc67dbb0

ramzesenok,
@ramzesenok@mastodon.social avatar

@christianselig I’ve fixed a few bugs using this technique. I don’t think there’s anything inherently wrong with it. You want to identify a view by some parameter – you use .id(). I’m pretty sure List and ForEach does something similar under the hood

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Is this a April Fool’s joke or what? They rejected this IAP a year ago and I never resubmitted it again🤨

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Better than Horizon’s world can only be Horizon’s world in VR! Sure it has A LOT of flaws but wow, the smile couldn’t get off of my face, such a profound experience! Go try Call of the Mountain, you won’t regret it!

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Had such an indie-dev vibe today! For 5 hours was updating 3-years-old dependencies of Poem Library Android project. Succeeded✅ Then made some cosmetic changes to iOS version, updated old code and used my own Catalizer to translate it to 3 new languages. What a day!

twostraws, to random
@twostraws@mastodon.social avatar

In November, I released Inferno: an open-source collection of Metal shaders for SwiftUI developers, making it easy to create gorgeous special effects in your iOS apps. https://github.com/twostraws/Inferno

ramzesenok,
@ramzesenok@mastodon.social avatar

@StewartLynch @twostraws I commented out the code that was preventing compilation and it was a nice starting point

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Gonna build something real now

5 kilos of Lego-like bricks on the floor

ramzesenok,
@ramzesenok@mastodon.social avatar

My plan was to open all bags at once and mix all the parts to make it more fun and challenging. I thought I'm a dork so I wanted to check if I'm the only one like this. NO! Apparently many people do that and it's called dump building. What a relief 😅

ramzesenok, to random
@ramzesenok@mastodon.social avatar

I’ve updated Catalizer yesterday, it now has a single viewport that holds the catalog, shows its updates and states.

Translate your app and expose it to a larger audience in seconds

https://ramzesenok.gumroad.com/l/catalizer

ramzesenok, to SwiftUI
@ramzesenok@mastodon.social avatar

Today was a good day, I was able to create a marquee effect using and a shader. Check how it can be done in just a matter of minutes

https://mirzoyan.dev/mirzoyan%20dev%20d62e6ab9344e4ab8a9c14205257ea2cc/Blog%20208f3509a5b74655b973d4dbaaf500e6/Marquee%20Effect%20in%20SwiftUI%207dce7f1eef424d229098606ab8e82f3e

ramzesenok,
@ramzesenok@mastodon.social avatar

@mlysons @ramzesenok thanks Michael!

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Learning of the day: don’t buy 2 identical USB mics to record something on 1 Mac. They most probably have same ids and will be perceived by the Mac as just 1 same

ramzesenok,
@ramzesenok@mastodon.social avatar

Unrelated: does anyone know if I can override device id?

ramzesenok, to random
@ramzesenok@mastodon.social avatar

New weekend, new Catalizer update! Actually even 2! These ones are big - they bring support for plurals and variations by device (the hardest decoding work I ever made 😰) as well as visual representation of the Catalog. Get it now for free https://ramzesenok.gumroad.com/l/catalizer

ramzesenok,
@ramzesenok@mastodon.social avatar

For those who don’t know, this is a small app of mine that lets you translate Xcode String catalog using DeepL

ramzesenok, to SwiftUI
@ramzesenok@mastodon.social avatar

Is there any trick for creating a macOS Table in, say, a VStack with buttons and what not? If I try to put Table into anything it stops being presented on the screen at all

My goal is to have a few buttons below the Table

ramzesenok,
@ramzesenok@mastodon.social avatar

‪Apparently the problem was that I was presenting the Table in a sheet. It worked for a Table alone but failed to assign proper frame if I did something else to the view: added buttons or wrapped the whole thing in a stack. Setting an explicit frame did the trick‬

ramzesenok,
@ramzesenok@mastodon.social avatar

@bgannin @ramzesenok after all I managed to find a solution - explicitly specify a frame

https://mastodon.social/@ramzesenok/111915205328413257

ramzesenok,
@ramzesenok@mastodon.social avatar

@bwebster @ramzesenok hm, adding it to the Table doesn’t help, its frame still becomes 0x0

ramzesenok, to random
@ramzesenok@mastodon.social avatar

There’s a new do-what-I-mean print in which prints out the most appropriate description of whatever you print out. Apple also updated the p command to automatically call dwim-print, so unless you need to know the object address the right thing to call is p, not po

ramzesenok, to random
@ramzesenok@mastodon.social avatar

Interesting, how half of my feed is saying “your side project is a business – if it isn’t going well, work hard and make it successful” and the other half is like “if you don’t get a few dozens downloads every day after publishing our app, leave it and try something else”

I wonder whether people are having completely different perspectives and experiences or they’re talking about the same thing but different stages of the app evolution

ramzesenok,
@ramzesenok@mastodon.social avatar

@simonnickel @ramzesenok yeah, but as someone who’s apps don’t do really well I’m wondering what should I do next or what people in my position did next. And it looks like there’s no “right” way. Of course😁

christianselig, to random
@christianselig@mastodon.social avatar

SwiftUI visionOS question, how do you give the Menu a title like Apple does? I can't seem to get anything to show up

Apple's playback speed control that when opening the menu shows a "Playback Speed" title

ramzesenok,
@ramzesenok@mastodon.social avatar

@dale_price @nighthawk @christianselig and iirc you can also use Divider() if you don’t want a Section but want a line between elements

danielsaidi, to random
@danielsaidi@mastodon.social avatar

When localizing apps, I prefer ID keys to make it obvious in an app when a text isn't translated, and to get the freedom of changing wording in different contexts. I find it strange that Apple keeps using plain English as the localization key in their examples.

ramzesenok,
@ramzesenok@mastodon.social avatar

@danielsaidi it’s now hard to forget to translate with String Catalog, isn’t it?

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