@nemesisprime@iosdev.space avatar

nemesisprime

@nemesisprime@iosdev.space

iOS & macOS Programmer mostly speaking into the void (he/him)

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

mackuba, to random
@mackuba@martianbase.net avatar

question: if I have a main storyboard set in Info.plist, and an initial (entry point) window controller in that storyboard (with "single presentation"), so like in the Mac app Xcode template, the storyboard automatically creates the window controller and its window and displays it; can I get a reference to that controller from AppDelegate somehow? (Calling instantiateInitialController creates a second window controller for some reason…) 🤨

nemesisprime,
@nemesisprime@iosdev.space avatar

@mackuba I know this doesn't really answer your question, but I found classic ol' nibs to be more straight forward on macOS than storyboards.

But to actually help and not just wax poetic, I think you should be able to get all of the open windows from NSApplication (NSApplication.shared.windows).

davidbures, to apple
@davidbures@mstdn.social avatar

@rejected Apple's reviewers are not happy that my app can restore purchases, automatically, on its own without user interaction. When I asked them to point out exactly what cases are not covered by my automatic restoration system (I even gave them access to the source code and went REALLY in-depth on the automatic system), they refused to elaborate

I couldn't be happier that the EU is tearing Apple a new one and I can't wait to see them get ripped apart even more

nemesisprime,
@nemesisprime@iosdev.space avatar

@davidbures it’s so bizarre how obsessive reviewers are about an explicit and visible restore button while documentation describes its functionality as redundant and, contextually, in some cases it just doesn’t make sense.

I relented after being hit with a rejection over an odd case where a subscription review view, which can be accessed through an already purchased install, lacked one... 🤷🏽‍♂️

nemesisprime, to random
@nemesisprime@iosdev.space avatar

So… TextKit 2, have we made progress or still fundamentally unusable? I don’t think I can open that Pandora’s box again.

davidbures, to swift
@davidbures@mstdn.social avatar

The next version of Cork fixes seemingly all memory leaks.

I have no idea how I accomplished that, but Instruments says there are no leaks anymore, so I'll take it as a win lmao

nemesisprime,
@nemesisprime@iosdev.space avatar

@davidbures that’s such a good feeling 🙂

nemesisprime, to random
@nemesisprime@iosdev.space avatar

Minor humblebrag/self-advert: As I've been distracted working on my little 2d game in Godot, I’ve been using Fox across all platforms and it's never ceasing to be thrilling to use something you've made and it work 🤩. Makes it almost worth the pain ;)
Several improvements both large and small getting added to the roadmap and if you're curious, you can check it out on the App Store (https://apps.apple.com/us/app/fox-issue-tracker/id1607706105) or Testflight! (https://testflight.apple.com/join/qdNtwDj5)

nemesisprime, to godot
@nemesisprime@iosdev.space avatar

I've watched and read hours and hours of Godot content and if there's one thing I see among GDScript, it’s that there are some really bad practices established out there. An example being the node-state-machine bizarro thing, where each node is a state containing logic code.

C# content I view tends to avoid this, which makes me think it's more of a symptom of the limits to GDScript more than anything.

Side note: I still enjoy using Swift so much with it—highly recommend.

nemesisprime, to random
@nemesisprime@iosdev.space avatar

Honestly having so much fun with Godot now that I’ve got SwiftGodot up! Being freed from the gdscript language constraints (but without having to learn c#) and use the knowledge and patterns I’ve built for years is freaking incredible 😭

Thank you @Migueldeicaza for this! I hope I can help out in some way as I sink my teeth in.

nemesisprime,
@nemesisprime@iosdev.space avatar

@schwa @Migueldeicaza @ridigilis Do it!

There's some rough edges like hot reloading needing TLC and places for API improvements, but I've really enjoyed what I've experienced so far (which has been just making a character move across the screen with some solid component and state machine structure 😬).

nemesisprime, to random
@nemesisprime@iosdev.space avatar

It's been some time, but I can safely say that I have resolved the regression in the kanban Board on Fox! I'll eventually look into re-enabling the horizontal scroller now that I can replicate a situation that causes the crash pretty consistently with it, but it's kind of on the backburner since it's working again.

Super shoutout and thank you @manuel for reaching out and providing a few more details that helped! You da best!

nemesisprime,
@nemesisprime@iosdev.space avatar

@manuel News to my ears and makes my week! Thank you SO much for the help :)

nemesisprime, to random
@nemesisprime@iosdev.space avatar

NSCoreDataCoreSpotlightDelegate is so good! I’ve been able to replace so much boilerplate code and memory usage has dropped so much (admittedly, what I used before wasn’t built for performance 😝).

nemesisprime,
@nemesisprime@iosdev.space avatar

@tapforms now that you mention it, I have no clue where the index is… I’d assume next to the store but is it somewhere else?

nemesisprime, to random
@nemesisprime@iosdev.space avatar

First build of Fox for iOS and Mac 2.0.0 FINALLY uploaded to TestFlight 😭 Just let out a breath I've been holding for months.

Considering the number of changes I made, I am expecting to get some bug reports, but I so relieved to get this done. CloudKit Schema has been deployed, now waiting for that sweet TF approval to let people break it.

nemesisprime,
@nemesisprime@iosdev.space avatar

And for those who don't know me: I work on a little multi-platform app called Fox (Issue Tracker) that I personally use to track all of the stuff I think about while in dev and progress to getting that stuff done across my projects.
It started out as a wee crudy personal thing, then a less crudy /sorta public thing, to finally something more polished and well functioning over a few years.

You can sign up for TestFlight of 2.0 here: https://testflight.apple.com/join/qdNtwDj5

Fox iOS showing “The Board”

shnhrrsn, to SwiftUI
@shnhrrsn@mastodon.social avatar

Is anyone using SwiftUI/Xcode Previews in a full app?

I ten to use (and love) them for initial prototyping but as soon as I start really building the app, I end up tearing them out.

Once the codebase gets larger than a handful of views, they're too slow almost become annoying — curious if there ways to scale them up?

@swiftui

nemesisprime,
@nemesisprime@iosdev.space avatar

@shnhrrsn @swiftui I do! But since I have a UIKit/AppKit driven app, I don’t share any non-view specific model code with my views. Views all define their own structures or protocols (or reference those used in other views) and controllers/view models need to provide those. It makes things a bit more self-enclose albeit a bit more boilerplate.

nemesisprime, to SwiftUI
@nemesisprime@iosdev.space avatar

I wish SwiftUI's Table and Charts APIs were easier to navigate. Trying to figure out how to attach a context menu to a row was a nightmare, but thankfully can actually be done in macOS 13

nemesisprime,
@nemesisprime@iosdev.space avatar

@teomatteo89 Check it! If you decompose the table using one the various (of:selection:columns:rows:) inits on Table, you can attach a single context menu in that ‘rows’ closure. That init also seems to make Table less unstable overall to the compiler (I'm assume that explicit type on ‘of’ helps).

Found it in the code sample that comes with https://developer.apple.com/wwdc21/10289 while just trying to figure out the API. I don't think the actual video mentions it...I had no clue it was added in 13.0!

image/png

dimillian, to random
@dimillian@mastodon.social avatar

My god I’m so tired of this network sometimes. What did I do????

nemesisprime,
@nemesisprime@iosdev.space avatar

@dimillian hot take: collecting usage data about your app to improve it is not a privacy violation or compromise.

dimillian, to SwiftUI
@dimillian@mastodon.social avatar

Clean be like

nemesisprime,
@nemesisprime@iosdev.space avatar

@dimillian can I be nosy/curious and ask why the main actor notation on the view? 😬

nemesisprime, to SwiftUI
@nemesisprime@iosdev.space avatar

Charts are hard.

nemesisprime,
@nemesisprime@iosdev.space avatar

@MuseumShuffle Thank you! There are just SO many different modifiers that examples are worth a thousand words.

nemesisprime, to random
@nemesisprime@iosdev.space avatar

Some updates to the board after being rewritten in UIKit... which has been significantly better 😭 Nothing like a handcrafted UICollectionViewLayout with frames!

nemesisprime,
@nemesisprime@iosdev.space avatar

@BrendanThompson @manuel Oh wow! Thank you both, I appreciate the encouragement:)

Version 1.x is in the iOS and Mac stores, and I’m wrapping up 2.0 for TestFlight in the next few weeks, which includes sprints and the Kanban board that I’ve been posting on!

Please do sign up this way: https://testflight.apple.com/join/qdNtwDj5

nemesisprime,
@nemesisprime@iosdev.space avatar

@BrendanThompson oh wow! Not yammering at all, it's very exciting! Thanks for taking the time to look into Fox :) I wonder if it's because I don't have any builds in TF set up... I'll look into that and get back to you

And even more amazing 😬 You can submit feedback directly here: https://fox-issue-app.com/feedback/

nemesisprime,
@nemesisprime@iosdev.space avatar

@BrendanThompson Thanks! I’ll take a look at that (always excited to get feedback!) and also you know when I get the TF working again 🙌🏽

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