At WWDC 2018, Apple designers presented a talk titled “Designing Fluid Interfaces”, explaining the design reasoning behind the gestural interface of iPhone X. Apple’s WWDC18 presentation “Designing Fluid Interfaces”It’s my favorite WWDC talk ever—I highly recommend it. The talk provided some technical guidance, which is exceptional for a design presentation, but it was pseudo-code, leaving a lot o
iOS-factor was inspired by the famous twelve-factor app framework, a methodology to write high-quality web services. iOS-factor uses the same structure and similar principles, re-written and applied to the iOS app development processes. Background Over the past 10 years, the iOS development process has shifted drastically: from supporting a single device to a wide range of available iOS-powered iP
Even if we are writing pure Swift code in our app, we still deal with Objective-C Frameworks like UIKit. Let's take a look at how we can improve our MVVM architecture by leveraging a little bit of Objective-C runtime and Protocol Oriented Programming. Popular MVVM setupPretty standard approach for MVVM architecture is to have both UIView and UIViewController have a corresponding ViewModel. An impr
A while back, the makers of the anonymous social networking app Secret released an app called Ping, which allowed users to receive notifications about topics they were interested in. One thing that stood out about Ping, aside from it’s unpredictable recommendations, was the circular transition between the main screen and the menu, as seen in the animation to the right. Naturally, when you see some
Keamanan Teruji, Togelon di 5 Bandar Teratas Terpercaya Dalam dunia taruhan togel resmi, nama TOGELON telah menjadi sinonim dengan kepercayaan dan kualitas. Sebagai salah satu bandar togel terbaik sekaligus teratas, TOGELON menawarkan pengalaman taruhan yang tidak hanya aman tetapi juga penuh dengan berbagai pilihan permainan nan menarik. Dengan sistem keamanan paling canggih, TOGELON memastikan s
ICANN, the Internet Corporation for Assigned Names and Numbers, requires us to ask you as a Registrant of a domain name to verify your contact information for this domain with your provider. As a Registrant of a domain name, a new domain registration or changes to the first name, last name, contact address or email address of an existing domain name, requires verification of the information within
About half a year ago we started adopting the Flux architecture in the PlanGrid iOS app. This post will discuss our motivation for transitioning from traditional MVC to Flux and will share the experience we have gathered so far. I’m attempting to describe large parts of our Flux implementation by discussing code that is in production today. If you’re only interested in the high level conclusion yo
This article was updated on March 31, 2020. It includes feedback from a live session I hosted on testing in Swift. Email me if you want to join the next session! I’m a big fan of third party testing frameworks. My first foray into testing was with Cedar and eventually Rspec. Now that more of my work has moved to Swift I’ve been enjoying Quick and Nimble. With the release of Swift 2.0 and Xcode 7 I
Auto LayoutがiOS 6で導入されてはや4年、未だによく理解していなかった挙動に UIView.translatesAutoresizingMaskIntoConstraints があります。このプロパティは自分がプログラムコード上で生成したviewをAuto Layoutするときにfalseにする必要があるものということで皆様記憶されているかと思うのですが、具体的にこのプロパティは何をやっているのかが個人的に全く謎でした。それが今日一つ謎が解けましたのでここに共有させていただきたいと思います。 UIView.translatesAutoresizingMaskIntoConstraintsの値がtrueのときとfalseのときの違いについて以下に記載します(iOS 8以上で確認しています)。 trueのとき 対象のviewのframe、すなわちx, y, width, heig
Tests shouldn't be hard to maintain! With some help from the Darwin framework we can create simple, maintainable Swift mocks.Mocks are an invaluable tool in your testing toolkit. They can be used to stub behavior and keep track of function calls. When used effectively, they enable unit tests that interact solely with the subject under test, and nothing else. However, maintaining manually created m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く