- Create element without an explicit
Frame
. - Set
TranslatesAutoresizingMaskIntroConstraints = false
- Create an array of
NSLayoutConstraints
- Work top-to-bottom, left-to-right, or vice versa. Do this consistently throughout program
- Use Layout Anchors
- Use the top-level
UIView
sSafeAreaLayoutGuide
to position relative to the Window / screen - For each dimension, set its location (
LeadingAnchor
/TopAnchor
or …
Debugging provisioning profiles on the command line
Raise your hand if you've ever struggled with getting your app's bundle identifier, info.plist, and entitlements.plist to match up with your provisioning profile.
I tried to explain provisioning profiles using the ten-hundred most common words, but in slightly-less-common words, a development prov-pro associates: A team, a developer, an …
read moreMysterious crashes in your iOS 10 program? Check your info.plist
If you're developing for iOS 10 and your app "silently" crashes (especially if it's an older app), the culprit could well be the increased privacy requirements in iOS 10. Namepaces such as HomeKit now require specific privacy-related keys to be in your info.plist (for instance,
read moreNSHomeKitUsageDescription
). If you don't …Streaming a Web video to AppleTV with Xamarin
If you have the URL of a streaming video, it's easy to display on an AppleTV, even though tvOS does not have a
UIWebView
(which would make it really easy). You have to use someAVFoundation
code, such as:[code lang="csharp"]
read more
var src = NSUrl.FromString("https://somevideo");
var asset …WWDC Remote Viewing Protips
I attended the 2015 WWDC and made these notes afterwards. Aside from the specifics re. the Apple Watch and AppleTV, they may be of value to those who are considering streaming sessions next week:
WWDC: Post-show Streaming is the Key to Value
From an editorial perspective, one thing that is …
read moreTracking Apple Pencil angles and pressure with Xamarin
Rumor has it that Apple will support the Apple Pencil in the forthcoming iPad. If so, more developers will want to use the new features of
UITouch
-- force, angle, and elevation -- supported by the incredibly-precise stylus.Basically, it's trivial:
-- Force is
read moreUITouch.Force
;
-- Angle isUITouch.GetAzimuthAngle(UIView)
; and
-- Angle …Hair-Tearing-Out-Thing Explainer (Provisioning Profiles):
There is a company called Round Red Food. They make brain-phones and brain-watches and brain-televisions. These brain-things run brain-books written by Round Red Food. But Round Red Food also allows other people to write brain-books.
read more
Round Red Food wants to control what brain-books run on their brain-things. To do this …Animating the stroke color of a CAShapeLayer with Xamarin
I wanted to indicate the most recent move in an AI-on-AI game of TicTacToe, so I wanted to have the most recent move be highlighted. The Xs and Os are
CAShapeLayer
objects.Here's the code to do it, ~~featuring a very ugly hack to cast an
read moreIntPtr
to anNSObject …
TideMonkey: Development Diary 0
I am publicly committing to developing “TideMonkey,” a tide-prediction application that will run on (at least) iOS and watchOS.
TideMonkey will be based on Xtide, an excellent piece of software developed by David Flater. At the moment, my hope is that it will be a very loose port, or what …
read more