Less than a week remains before the Apple WWDC conference, let's see what are the expectations of the developer community and what events have occurred in the world of iOS development over the past couple of weeks.
Industry news
The rubric “Ours at WWDC”: 8 students from Russia are invited to the conference. They will be able to visit the event for free (besides, the ticket, flight and accommodation costs tangible finances, we must also participate in the lottery to draw the ticket) and take a picture with Tim Cook.
Apple stirs up public interest and creates infopovody by June 3. For example, the iPod Touch was updated for the first time in four years, while the design has not changed, only the processor and the device price have changed; the version with a pink case with 32GB on board in Russia can be bought for 18,990 rubles. Do you, as mobile developers, have to do iPod Touch support for your applications? Are you testing this type of device? At the end of the article survey.
MacBook Pro also caught up with the update . However, again, only the processor has improved, well, and once again (for the third time!) They tried to solve problems with the keyboard.
Developers, as usual, are waiting for grandiose announcements and changes from the conference and share it on social networks: someone is waiting for a framework for declarative UI, someone is a Swift-like language instead of JavaScriptCore, and someone is Terminal and Xcode for iPad :
What are your expectations from WWDC this year? What does an iOS developer lack for more comfortable programming? Share the pain in the comments.
By the way, Paul Hudson, whose tweet is shown above, is well known to us: he came to Moscow for the Mobius conference last year and talked about how to write more secure code using Swift protocols, generics and extensions. In the meantime, we spent last week on Mobius 2019 Piter - we will share the details in a separate post.
It's not a secret that some applications use iOS capabilities in the background to send data about the device and users. A study was published with a list of companies whose applications send data at night without the user's knowledge. In the comments, users for security suggest switching to Android.
IOS development news
For faster deletion of objects from CoreData, it is recommended to use NSBatchDeleteRequest, but be vigilant with it if in your application the entities have connections and delete rules are configured; deletes several types of objects; Used non-SQLite storage under CoreData. Otherwise, you can get interesting artifacts in the repository and crashes at runtime. For more details, see Using NSBatchDeleteRequest to delete batches in Core Data .
In addition, about CoreData, we understand how to properly store images for our entities (for example, miniature previews): next to other attributes as a BinaryData field or on a file system separate from the CoreData repository.
At technical interviews, I often hear from candidates that you can forget about Swift and stop using @autoreleasepool. If suddenly your application creates UIImage or CoreData objects in a loop, then this is a potential memory leak, which can cause the application to crash with large iterations in the loop. You can understand the principle of pool authorship after reading the article @autoreleasepool uses in 2019 Swift at https://swiftrocks.com .
One of the most useful innovations in Swift 5.1 is the ability to find the differences between the two collections out of the box, which will undoubtedly be useful when updating the UITableView list, so as not to overload the entire table or write your own code to look for changes between two data sets. An example of use here .
After we learned how to correctly update the list of data without a complete reboot in the previous paragraph, we must be able to show the details to the user beautifully by clicking on the list item. To do this, we deal with transitions between screens for cases when there is a lack of standard transition animations. A large series of articles in four parts will tell about it in more detail.
Many novice developers are repelled by learning Swift because of its apparent limitations in use (only for iOS development). But lately, Swift has been increasingly used to solve Machine Learning problems, as evidenced by the convincing arguments in the article “ Why Swift” .
And finally: if you have already implemented all the features in your application and fixed all the bugs, pay attention to the issues of accessibility, this week there was a thread on Twitter on this topic with practical tips for those interested.