Timering

Purp

Xcode 9 IOS 11 beta 2

Just some news about the news. What can you expect when you start using Xcode 9 with IOS 11? First you should download the second beta version, and I have to say, these have still quite a lot of bug. But there are some great news in Xcode 9 and IOS 11 (beta 2), what are good to know! Check new simulators, how to run App on real device via WiFi. About Build System news and about Good news for CoreData fans in Xcode 9. Those Xcode 9 new feature, which makes our life easier when new devices should be used. What's so great in new Source control navigator and source editor or new features at Debugging in Xcode 9 or Core ML? And don't forget some amazing new functions of IOS 11. Come with me for the first look!

Read more

SyncKit tutorial - CloudKit with CoreData IOS10, Obj-C

This Tutorial shows you SyncKit, a great Solution for syncing your data using CloudKit between devices instead of iCloud Drive with Core Data, because of Core Data stores with ubiquity options have been deprecated. I’m going to create a simple model, where companies have departments and employees are in departments. I’ll import at launch CoreDataDefaults, exactly 5 Companies. After that I’m going to add new departments and employees too. With a Sync button, I will sync these Data with CloudKit.
Because of I import companies at first launch, if the user deletes the app, and later install it again, these will duplicate. Avoid this, I’m going to use QSPrimaryKey identifying objects, so if the Name of the Company already exists, that will be not synced again, that will be not duplicate neither in CloudKit nor local.

Read more

Instruments tutorial Part 3 - Profile Performance - Time Profiler - CPU Usage

Now I'll show you, how can use these things with Time Profiler, to find problems in your Project, and solve these high CPU/low-overhead problem. These are usually code bugs, not allocations but it can be several type of mistakes, and you have to find a better code or solution, or sometimes you use unnecessary code. It can help you check your project, and not just find problems, because you can test it with your updated code again, and see if the problem is still exist.

Read more

Instruments tutorial Part 2 - Navigate Timeline Pane, Detail Pane, Hide System Library

After 1. Part of this series, you can now, what is Instruments, how it works, how can you launch it and what type of analysis can you make with that. Now I'll show you, how can you use the Navigate Timeline Pane and Detail Pane. How can you hide system libraries, add flags to your Timeline at serious points, or add new Instrument to it, or check the source code in Xcode, which causes problems.

Read more

IOS9 SDK Xcode 7 deprecated warnings solutions

If you switch to IOS 9 target, you will get some deprecated warnings, which will be later deleted at SDK, so this is the perfect time to solved these. Instead of UIAlert you need to use UIAlertController, or you need to use in AppDelegate "[NSManagedObjectContext alloc] initWithConcurrencyType", and you must to use "metadametadataForPersistentStoreOfType" with options. I created a list with some useful changes. 

Read more

CoreData Tutorial Part 5/5 - Model Versioning, Lightweight Migration, Model Mapping

When you need to change your Core Data Entities or structure, you have to add new model version before you send your App in AppStore. If you change just attributes or fetched templates, it’s not needed, you can do it without consequence. But if you want to add a new Entity, you have to migrate your persistent store to a new model version. You should also set mappings for the migration. In this tutorial, we add model versions, model mappings, and using Lightweight Migration.

Read more

Core Data tutorial part 4.2 / 5 - Using NSFetchedResultsController, Reorder TableViewCells with LongPressGesture

In this Core Data Tutorial, we do very important and useful things: First we set NSFetchedResultsController, and do changes in the code, create displayOrder attribute.With LongPressGestureRecognizer we can reorder TableViewCells and update Core Data cells with displayOrder attribute, which saved immediately in Core Data.

Read more