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, NSHomeKitUsageDescription
). 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 …The Half-Baked Neural Net APIs of iOS 10
iOS 10 contains 2 sets of APIs relating to Artificial Neural Nets and Deep Learning, aka The New New Thing. Unfortunately, both APIs are bizarrely incomplete: they allow you to specify the topology of the neural net, but have no facility for training.
I say this is "bizarre" for two …
read moreWWDC 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 moreGameplayKit path-finding in iOS 9 with Xamarin.iOS
Easy-peasy, lemon-squeazy:
[code lang="csharp"]
read more
var a = GKGraphNode2D.FromPoint (new Vector2 (0, 5));
var b = GKGraphNode2D.FromPoint (new Vector2 (3, 0));
var c = GKGraphNode2D.FromPoint (new Vector2 (2, 6));
var d = GKGraphNode2D.FromPoint (new Vector2 (4, 6));
var e = GKGraphNode2D.FromPoint (new Vector2 (6, 5));
var f = GKGraphNode2D.FromPoint (new …FizzBuzz with iOS 9 GameplayKit Expert System in C# with Xam.iOS
OK, so this is silly, but:
[code lang="csharp"]
var clearRule = GKRule.FromPredicate ((rules) => reset, rules => {
output = "";
reset = false;
});
clearRule.Salience = 1;var fizzRule = GKRule.FromPredicate (mod (3), rules => {
output += "fizz";
});
fizzRule.Salience = 2;
var buzzRule = GKRule.FromPredicate (mod (5), rules => {
output += "buzz";
});
buzzRule.Salience = 2;var outputRule = GKRule.FromPredicate …
read more