Tag Archives: Yosemite

Parse SDK for iOS/OS X

via ParsePlatform/Parse-SDK-iOS-OSX · GitHub.

A library that gives you access to the powerful Parse cloud platform from your iOS or OS X app. For more information Parse and its features, see the website and getting started.

OS X App Sandboxing & “Related Items” tutorial

via OSX App Sandboxing & “Related Items” tutorial | Stefano Vettor’s monologuesStefano Vettor’s monologues.

Recently I’ve started developing an app for OS X to automatically download videos’ subtitles (mostly because that app I was using before stopped being free and started asking for 19,99$ to keep using it) and thus had to deal with all the app sandboxing stuff required to be able to publish on the Mac App store.

Therefore I went on the Apple’s developer web site and read all the documentation about app sandboxing… my first reaction has been “screw the Mac App Store, I will distribute my app the dear old way!” but then I realised that if I want to collect the money to get back to WWDC next year the Mac App Store might be of some help.

Core Data Asynchronous Fetching in Swift

via iOS Development | Core Data Asynchronous Fetching iOS Swift.

In my previous post, I displayed a new Core Data feature that allows developers to perform batch updates directly on the Persistent Store. This time, I’m going to show how to perform asynchronous fetches, a feature that developers have desired for a long time, but has finally become available in iOS 8 (and OS X 10.10 Yosemite).

An asynchronous fetch allows developers to execute a fetch request without blocking the Managed Object Context for the duration of the fetch. As an extra feature, the asynchronous fetch is cancelable by the user and provides progress reporting through NSProgress.

When you perform a standard fetch request using the executeFetchRequest:error: method, the call does not return immediately. Instead, the thread is blocked until the fetch is completed (i.e. the fetched objects populate the Managed Object Context). An asynchronous fetch works differently. Developers perform an asynchronous fetch using the executeRequest:error: method (the same method used for batch updates). This method immediately returns an NSAsynchronousFetchResult. Once the fetch is completed, a completion block is executed.

Asynchronous fetches are only supported by Managed Object Contexts using either theNSPrivateQueueConcurrencyType or the NSMainQueueConcurrencyType (ConfinementConcurrencyType is not supported). Additionally, in order for the Managed Object Context to be updated at the end of the asynchronous fetch, you must specify it to do so.

Here’s how it works. First, create an NSFetchRequest as you would do in a standard fetch. You can use sort descriptors and predicates to be more selective on your data. Then, create an NSAsynchronousFetchRequest using the standard fetch request. After that, pass the asynchronous fetch request to the Managed Object Context executing the executeRequest:error: method on that context. The context immediately returns anNSAsynchronousFetchResult. At the same time, the context sends the fetch to the store. Now, you can continue editing that Managed Object Context performing fetches, faults, etc.

NSAsynchronousFetchRequest is a new subclass of NSPersistentStoreRequest. You can create anNSAsynchronousFetchRequest instance initializing it with an instance of a NSFetchRequest and a completion block.

NSAsynchronousFetchResult is a new subclass of NSPersistentStoreResult. It provides results or errors after the completion. It’s returned immediately by the Managed Object Context when you call executeRequest:error.

SitePoint Smackdown: Atom vs Brackets vs Light Table vs Sublime Text

via SitePoint Smackdown: Atom vs Brackets vs Light Table vs Sublime Text.

A new breed of editor has arrived. It fills the gaping void between basic text applications (Notepad, TextEdit, gedit, etc.) and full Integrated Development Environments (VisualStudio, Eclipse, NetBeans etc.) Simpler applications lack basic development requirements such as multiple documents, line numbering and code coloring. IDEs tend to be monolithic applications which cater for a specific language, framework or platform.

This review considers sophisticated code editors with the following criteria. All must be:

  1. Suited to web development
  2. Cross-platform and work on Windows, Mac and Linux. Your preferences and settings should be available regardless of which OS you’re using.
  3. General-purpose text editors which support typical web languages. You should be able to use the same application for HTML, CSS, JavaScript, PHP, Ruby, SQL, markdown and more.
  4. Highly customizable with cross-platform plugins and themes.
  5. Fast and stable. Launching should never be a once-a-day dread like some IDEs.
  6. Immediately usable without a steep learning curve or having to remember numerous keyboard shortcuts.

An Introduction to ClockKit

via An Introduction to ClockKit – Tuts+ Code Tutorial.

At WWDC 2015, Apple announced its first major update to the Apple Watch software, watchOS 2. This new update brought with it many new APIs and features for developers to take advantage of, including native apps, access to more of the Apple Watch’s hardware, and better communication with the parent iOS app.

In this tutorial, I am going to be showing you how to take advantage of another new feature, the ability to create custom watch complications using the ClockKit framework. This tutorial requires that you are running Xcode 7 on OS X Yosemite(10.10) or later.

If you don’t know already, Apple Watch complications are the small interface elements that display information on the watch face.

How to add icons to the menu bar on Yosemite

via How to add icons to the menu bar on Yosemite – mackuba.eu.

Mac applications often add their icons to the notification area on the right side of the menu bar. That way they can show you some status changes by changing the icon image, and they can also save some space in your dock by removing the icon from there while still being easily accessible.

Share Xcode Projects with Bluemix DevOps Services

via Share Xcode Projects with Bluemix DevOps Services – BlueMix Dev.

Building a native iOS app requires the Xcode integrated development environment (IDE). Sharing code with Xcode is made easy with the inclusion of a Git repository in Xcode projects. In this blog post, I document the basic steps required to integrate a local Git repository created by the Xcode IDE with a Git repository on IBM Bluemix DevOps Services. IBM Bluemix DevOps Services is a Software as a Service (SaaS) offering on the IBM cloud that supports continuous delivery. With IBM Bluemix DevOps Services you can develop, track, plan and deploy software in one place (visit the IBM Bluemix DevOps Services site to learn more).

I recently found myself with some time on my hands and decided to explore iOS app development with the Swift programming language. I created a very simple, getting started iOS app and wanted to share the source for my app using a Git repository provided by IBM Bluemix DevOps Services. I found the initial push of files from Xcode to IBM Bluemix DevOps services failed and set about understanding why. This blog post explains why this initial push fails in the Xcode IDE and how to work around this. I created the app and the steps that follow with Xcode 6.3.1 on OS X Yosemite.