← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 40
  1. @UIApplicationMain was deprecated a while back and replaced with @main.

  2. In larger teams or companies, most people agree that the mobile platform is the shared infrastructure an app and its features are built upon.

  3. By default, Liquid Glass is enabled for apps that are built with Xcode 26.

  4. How GitHub handles Git LFS

    Snapshot tests have become an increasingly popular tool for mobile teams to verify UI changes, but one question all teams run into is: where do we store hundreds if not thousands of PNG files?

  5. Software whose author has big ideas they want to implement before committing to a Semantic Versioning (or SemVer) versioning methodology often starts with many 0.x releases before ever reaching a 1.0 version.

  6. While looking at AVAudioSessionErrorCode in Xcode, I noticed something interesting in its definition: typedef CF_ENUM(AVAudioInteger, AVAudioSessionErrorCode) { AVAudioSessionErrorCodeNone = 0, AVAudioSessionErrorCodeMediaServicesFailed = 'msrv',

  7. After the introduction of Optional.toggle() back in 2018, I thought I had learned everything there is to Optional, but today I learned about another method: Optional.take().

  8. Years ago, when we started to have 5+ contributors to our codebase at Lyft, we had to establish a code review process with high enough value to justify the friction it caused.

  9. Typically, markdown files can referenced other files by linking to them: [My File](myfile.md).

  10. Having to type out my password every time in SSH into a machine got a little tedious for me.

  11. Back in 2017, I wrote about how we used Interface Builder as our primary way of building UI at Lyft.

  12. After I started to ramp up on agentic coding, I found my workflow lagging behind how I ended up working.

  13. Today I created a new file at .

  14. They're called numeronyms and they're common terms in tech to refer to long words like "internationalization" (i18n) and accessibility (a11y).

  15. A few weeks ago we got bit by a piece of Apple magic in its localization workflow when combined with Swift PM.

  16. A great manager I once worked with had been at Google for a while and poked fun at an aspect of its engineering culture: any given service was either deprecated or not yet ready for adoption.

  17. Flywheel of tech debt

    Tech debt is often compared to financial debt, in that you're borrowing development time now to pay it off with more development time later.

  18. Art of the state

    @State plays a prominent role in any SwiftUI app, and for good reason: app state is what ultimately drives the UI and how the user interacts with your app.

  19. Composing a resume in markdown

    I recently updated my resume, and after a few iterations of tweaking the same Pages file I started more than a decade ago, I decided that I really wanted source control to make it easier to keep track of changes and to have different versions of the same…

  20. I wrote my first app, a map to navigate my college campus, in the winter of 2011, on iOS 4.x and with Xcode 4.x.

  21. When writing code in neovim, I frequently use K to look up documentation, function signatures, variable definitions, etc.

  22. Note This is the third post in a series on shifting our testing culture.

  23. Note This is the second post in a series on shifting our testing culture.

  24. Five years ago I began promoting automated testing heavily within Lyft even though I didn't have any real experience in writing big test suites myself.

  25. Code migrations are a fact of life for large codebases.

  26. I recently saw a thread where someone wanted to introduce a more capable architecture pattern than what most apps start out with in a small team, but received some pushback from teammates and was looking for help in countering their arguments.

  27. What better way to end the week than with a hot take?

  28. iOS Architecture at Lyft

    June 30, 2014 was my first day at Lyft as the first iOS hire on the ~3 person team.

  29. Update 07-29-2019: The bug described below is fixed in Xcode 11 so this blog post has become irrelevant.

  30. Using Interface Builder at Lyft

    Last week people realized that Xcode 8.3 by default uses storyboards in new projects without a checkbox to turn this off.

  31. Note This article was written by me but originally published on the Lyft Engineering Blog.

  32. Silencing NSLog

    When your app has a lot of third-party dependencies, what often happens is that those libraries log a bunch of things to the Xcode console to help their own debugging.

  33. Outlets: strong! or weak?

    There are a lot of styles out there when it comes to using Interface Builder outlets in Swift.

  34. Back in December I wrote about what I thought was a bug in the Swift compiler that would expose the wrong class name for a Swift class in Objective-C.

  35. The power of UIStackView

    I was in the audience for "Implementing UI Designs in Interface Builder" at WWDC, where Apple touted UIStackView as a new, better way to lay out your views that in a lot of cases didn't require Auto Layout.

  36. A few months ago, I decided I'd get started porting SDCAlertView to Swift, but I was only a few minutes in until I ran into a problem I had no idea how to solve: I couldn't get my class names right in both Swift and Objective-C.

  37. Dev-only iPhones

    With today's release of iOS 8.1, most app developers are looking at 4 significantly different iOS versions they will be supporting: iOS 7.0, iOS 7.1, iOS 8.0, and iOS 8.1.

  38. The responder chain is a very important paradigm in the world of iOS development, and not terribly hard to understand.

  39. Xcode & Objective-C Oddities

    Any developer that has worked with Xcode to write a little more than just "Hello, World" knows that Xcode and Objective-C have their quirks.

  40. This past week, there was, again, a lot to do about Objective-C and prefixing.