The announcement of the event Apple, 3D graphics without OpenGL, how to use UILayoutGuide from the code and the war with AdBlock - this and not only tells a selection of fresh articles in the 57th edition of Digest MBLTdev.
We continue to publish Digest MBLTdev - useful materials for iOS developers for the week collected from the expanses of the global Internet. News, codes, tools, design and more.

The European Union is trying to deal with the situation around the monopoly of Google. Claims are expressed (so far only expressed) approximately the same as expressed by Yandex. All evidence under the cover of trade secrets. Now in the spotlight of Google. But this is not the only company and not the only problem. For example, the notorious payment of taxes by transcontinental corporations. The interpretation of the laws. Antitrust fines. The industry is waiting for interesting changes. Modern companies clearly do not fit into the current form.

')
Apple Announces March 21 Media EventApple officially announced the event last night on March 21. iPhone SE? New iPad Pro? Release 9.3? We will find out soon!
macstories.netTunes Connect Adds Weekly Analytics ReportsFor me, they need to seriously work on the analytics itself, and not add a weekly digest. It seems that few on an ongoing basis use their analytics as a decision-making tool.
macstories.net
iMessage AnalyzerRather for laughter. It can process the message database and show statistics.
github.com
Mobile Onboarding: Interact, Don't TellExcellent detailed recommendations for creating high-quality onboarding.
uxplanet.org
View controller lifecycle behaviorInteresting idea. You can take out any logic in the child controller and add it to the controller you need by simply calling addChildViewController. In this case, the child controller will receive all the events of the parent (appear, disappear, ...) even if it is not visible.
irace.meGoodbye Spacer Views Hello Layout GuidesWhen working with Autolayout, a technique is often used when empty twists are used to set indents between elements that can be easily changed. IOS 9 added UILayoutGuide, and now this technique is not needed. Unfortunately, Interface Builder from Xcode 7.2.1 does not yet support them. From the article you will learn how to use UILayoutGuide from code.
useyourloaf.comUsing Xcode and Swift Package Manager TogetherTo make friends with Xcode and Swift Package Manager, you just need to add a simple build step and specify what you need to build as dynamic, and remember to add them to the project.
cjwirth.comAdvancePure Swift framework for animations. Does not use CAAnimation and therefore render server. Instead, with the help of CADisplayLink, a loop is created in which callbacks of registered animations are called, and in these callbacks one can already change some properties of the railing. Thus, this framework is best suited for interactive animations.
github.comSwift assertsMike Ash disassembled the device for swift asserts and explained that all the parameters of the asserts are marked as @autoclosure so that there are no overhead costs for calculating values that may not be needed. And you can also find an example of a wrapper over an assertion, which allows you to hang additional functions on it, for example, showing the value of an expression.
mikeash.comRounding numbers with SwiftA selection of useful functions for rounding numbers on Swift.
globalnerdy.comCloudKit Security modelParse is closed, but if you only need one platform, CloudKit might be suitable. CloudKit security model is described poorly, and this post clarifies the hidden moments.
blog.krzyzanowskim.comThe Fibonacci SequenceTypeVarious ways to present and process the Fibonacci sequence.
bandes-stor.chdotSwift 2016 Highlights, part 1We have already written that video from the dotSwift conference is available. Now you can read about which presentations were the most vivid.
medium.comiTrace. How are the letters written?Shurik Babayev including the developer of an application for teaching children writing. In the article, Shurik shares his experience and a secret algorithm for checking that the child draws the correct letter.
habrahabr.ruSwimatPlugin for Xcode that allows you to format Swift code. Mostly interesting as an example. If you are thinking of writing your plugin, you can spy here.
github.comStreamingkitLibrary for iOS and OS X. Able a lot of things to play music
github.com
Counting objectsYou may have noticed the line “remote: Counting objects: xxx, done” appearing when git clone is executed. If you're curious to know what kind of objects these are, why GitHub allows you not to wait until the counting is completed and start cloning right away, read this post from a GitHub engineer.
githubengineering.com10 Years of thinking about Pair ProgrammingConclusions of a mature developer, made over 10 years of practice of pair programming.
salfreudenberg.wordpress.comHow OpenGL works: software renderer in 500 lines of codeThe coolest set of lectures, having mastered that you will understand how easy it is to create 3D graphics without OpenGL. By the way, on Habré you can find a localized version.
github.com80% of mobile users shows upA bit of hard truth about retention. Reading is painful and bitter, but this is the reality that most developers face.
andrewchen.coSurvey says 25 percent of smartphone owners have downloaded ad blockersAlarming news for the advertising industry. It will be very interesting to look at the actions taken by large advertising sites. They de facto lost the AdBlock war on the web. Does the same fate await them in the mobile?
techcrunch.comContributing to open source SwiftSlides from tryswiftconf, telling about what to do if you want to contact Swift. From the interesting: the pipeline is described and which parts of the code are responsible for it; There are marks, what knowledge you need to have to kontributit.
speakerdeck.comPrevious releases of Digest MBLTDEV and a subscription are available on the
official website.Everything is free and no spamming, honestly!