# Cocoa Is My Girlfriend

Taglines are for Windows programmers

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Response: The Laws of Core Data

DevFeed: [Response: The Laws of Core Data](<https://devfeed.tech/articles/response-the-laws-of-core-data-37512.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2018/05/10/response-the-laws-of-core-data/>)

Author: Marcus Zarra

Published: 2018-05-10T21:39:50Z

Content type: opinion

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Persistence](<https://devfeed.tech/topics/persistence.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [controllers](<https://devfeed.tech/tags/controllers.md>), [core-data](<https://devfeed.tech/tags/core-data.md>), [data](<https://devfeed.tech/tags/data.md>), [main-thread](<https://devfeed.tech/tags/main-thread.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [network](<https://devfeed.tech/tags/network.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

The author responds to another developer's proposed laws of Core Data, agreeing that Core Data should be treated as an object model rather than a database or thin SQLite wrapper. The article argues for encapsulating the persistence stack, using contexts only on their assigned queues, treating managed objects as data objects, and using parent-child contexts when working with external systems such as networks or imports and exports.

### Source excerpt

Recently, I saw a post from Dave DeLong and knowing his history with the framework I read it with extreme curiosity. Unfortunately, that read led to this post as I disagree strongly with a number of the laws he has laid down. Since I know people are going to be asking me about this post [...]

## Developer Review: 2017 MacBook 12

DevFeed: [Developer Review: 2017 MacBook 12](<https://devfeed.tech/articles/developer-review-2017-macbook-12-37511.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2017/12/02/developer-review-2017-macbook-12/>)

Author: Marcus Zarra

Published: 2017-12-02T06:51:12Z

Content type: opinion

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [laptop](<https://devfeed.tech/tags/laptop.md>), [macos](<https://devfeed.tech/tags/macos.md>), [port](<https://devfeed.tech/tags/port.md>), [review](<https://devfeed.tech/tags/review.md>), [usb](<https://devfeed.tech/tags/usb.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A living review of the 2017 12-inch MacBook as used by a macOS/iOS developer. The author chose a model with an Intel i5 processor, 16 GB of RAM, and a 512 GB SSD, prioritizing memory, storage, portability, and flexible desk connectivity over maximum processor speed.

### Source excerpt

After much consideration and review, I recently purchased a 2017 MacBook. No, not a MacBook Pro 13 or 15. I purchased the 12 inch MacBook. The small laptop that people say over and over again cannot be used for development. This is a living review of that MacBook as used by a macOS/iOS developer. How [...]

## A Modern Network Operation

DevFeed: [A Modern Network Operation](<https://devfeed.tech/articles/a-modern-network-operation-37510.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2016/01/28/a-modern-network-operation/>)

Author: Marcus Zarra

Published: 2016-01-28T20:12:28Z

Content type: article

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Network](<https://devfeed.tech/topics/network.md>), [API](<https://devfeed.tech/topics/api.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apple](<https://devfeed.tech/tags/apple.md>), [developers](<https://devfeed.tech/tags/developers.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [network](<https://devfeed.tech/tags/network.md>), [nsoperation](<https://devfeed.tech/tags/nsoperation.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [structure](<https://devfeed.tech/tags/structure.md>), [subclass](<https://devfeed.tech/tags/subclass.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This article discusses designing network operations around Apple's NSURLSession API. It argues that block-based network calls can encourage poor structure and describes a design using subclasses, lifecycle control, implementation changes, and supporting properties for network data and tasks, with Swift-specific differences from Objective-C.

### Source excerpt

When Apple introduced the NSURLSession API, the landscape of network operations changed. In some ways, the new API made things worse as the block API that was added tempts developers to become very sloppy with network calls. The block API makes it trivial to add network calls anywhere in an application. Very little thought or [...]

## Swift Type Constrained Extensions: Express Yourself

DevFeed: [Swift Type Constrained Extensions: Express Yourself](<https://devfeed.tech/articles/swift-type-constrained-extensions-express-yourself-37509.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2015/12/14/swift-type-constrained-extensions-express-yourself/>)

Author: Matt Long

Published: 2015-12-14T18:19:55Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Code](<https://devfeed.tech/topics/code.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [coding-practice](<https://devfeed.tech/tags/coding-practice.md>), [fetch](<https://devfeed.tech/tags/fetch.md>), [intermediate](<https://devfeed.tech/tags/intermediate.md>), [json](<https://devfeed.tech/tags/json.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [playgrounds](<https://devfeed.tech/tags/playgrounds.md>), [swift](<https://devfeed.tech/tags/swift.md>), [type](<https://devfeed.tech/tags/type.md>), [type-safety](<https://devfeed.tech/tags/type-safety.md>)

### AI overview

This tutorial explains Swift type-constrained extensions, comparing them with Objective-C categories and showing how they can provide type-safe functions and app-specific functionality for arrays and JSON-derived data.

### Source excerpt

I admit it. I was pretty down when Swift was announced. I appreciated the finer points of the reasons for it, however, they weren't convincing-at least not to me-not at first. I denied that it was actually "expressive" as the overall community was referring to it, however, that was before version 2. It's at the [...]

## Massive View Controllers

DevFeed: [Massive View Controllers](<https://devfeed.tech/articles/massive-view-controllers-37508.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2015/09/21/massive-view-controllers/>)

Author: Marcus Zarra

Published: 2015-09-21T19:58:15Z

Content type: opinion

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Code](<https://devfeed.tech/topics/code.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [unit test](<https://devfeed.tech/topics/unit-test.md>)

Tags: [cocoa-touch](<https://devfeed.tech/tags/cocoa-touch.md>), [code](<https://devfeed.tech/tags/code.md>), [coding-practice](<https://devfeed.tech/tags/coding-practice.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [development](<https://devfeed.tech/tags/development.md>), [kvo-kvc](<https://devfeed.tech/tags/kvo-kvc.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

### AI overview

The article argues that view controllers should remain focused on presentation rather than containing network code. It recommends separate units for network requests, a top-level data controller, dependency injection, persistence through Core Data, and isolated unit testing.

### Source excerpt

While at Empirical Development and then MartianCraft I had been distanced from all of the inventive solutions that other development teams have been coming up with for the past few years. I was living in a bubble of our development teams. Now that I am working independently again, I am being exposed to a large [...]

## Leaving MartianCraft and Offering iOS Networking and Core Data Consulting

DevFeed: [Leaving MartianCraft and Offering iOS Networking and Core Data Consulting](<https://devfeed.tech/articles/the-next-chapter-37507.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2015/08/04/the-next-chapter/>)

Author: Marcus Zarra

Published: 2015-08-04T15:05:54Z

Content type: opinion

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [consulting](<https://devfeed.tech/tags/consulting.md>), [core-data](<https://devfeed.tech/tags/core-data.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [networking](<https://devfeed.tech/tags/networking.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [workshops](<https://devfeed.tech/tags/workshops.md>)

### AI overview

The author announces leaving MartianCraft and says they are available for short- and potentially long-term contracting, consulting, and workshops. They specialize in iOS and OS X networking and persistence, particularly Core Data.

### Source excerpt

As of August 1, 2015 I am no longer part of MartianCraft. It is time to move on to the next chapter. What is Next? Long term I have some ideas that will take a bit of time to put into place. In the short time I am eager to help as many teams as [...]

## Core Data and Aggregate Fetches In Swift

DevFeed: [Core Data and Aggregate Fetches In Swift](<https://devfeed.tech/articles/core-data-and-aggregate-fetches-in-swift-37506.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2015/06/25/core-data-and-aggregate-fetches-in-swift/>)

Author: Matt Long

Published: 2015-06-25T16:47:07Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [core-data](<https://devfeed.tech/tags/core-data.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ios](<https://devfeed.tech/tags/ios.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This tutorial explains how Core Data aggregate fetches work in Swift by relating them to SQL-style data grouping and aggregation. It discusses NSExpression and NSExpressionDescription, differences between Core Data and databases, and related batch update and delete capabilities.

### Source excerpt

You can find other articles on the interwebs about NSExpression and NSExpressionDescription, however, I wasn't really satisfied with the explanations I've seen. I decided to write a post myself after I recently had to become much more intimate with the way Core Data aggregate fetches work. I hope this will make clear what has to [...]

## Xcode Continuous Integration: "Server encountered an error with Apple Developer"

DevFeed: [Xcode Continuous Integration: "Server encountered an error with Apple Developer"](<https://devfeed.tech/articles/xcode-continuous-integration-server-encountered-an-error-with-apple-developer-37505.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2015/04/01/xcode-continuous-integration-server-encountered-an-error-with-apple-developer/>)

Author: Matt Long

Published: 2015-04-01T15:44:58Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Bots](<https://devfeed.tech/topics/bots.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [bots](<https://devfeed.tech/tags/bots.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [error](<https://devfeed.tech/tags/error.md>), [server](<https://devfeed.tech/tags/server.md>), [support](<https://devfeed.tech/tags/support.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This troubleshooting article explains that an "Server encountered an error with Apple Developer" message when adding an OS X server to a team for Xcode bots may result from an updated program license agreement that has not been accepted on the web portal. Accepting the agreement allowed the server to be added to the team.

### Source excerpt

If you get this message when you are adding your server to a team to implement continuous integration using Xcode bots and OS X server: Server encountered an error with Apple Developer. Please try again later. If the problem persists, contact Apple Developer Technical Support for help. It could be a red herring. There's a [...]

## Beginning iOS Development With Swift

DevFeed: [Beginning iOS Development With Swift](<https://devfeed.tech/articles/beginning-ios-development-with-swift-37502.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/12/02/beginning-ios-development-with-swift/>)

Author: Matt Long

Published: 2014-12-02T19:35:06Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A beginner tutorial introduces iOS development concepts involving outlets and actions, using an application updated for Xcode 6 and Swift.

### Source excerpt

Many years ago now, I wrote a tutorial for the beginner to learn how to use outlets and actions as this is often one of the least familiar aspects for new developers who are wanting to learn iOS. It's simple once you've seen it, but until then, there's a gap. This time around I'm presenting [...]

## Swift and valueForKeyPath: You Can't Keep A Good API Down!

DevFeed: [Swift and valueForKeyPath: You Can't Keep A Good API Down!](<https://devfeed.tech/articles/swift-and-valueforkeypath-you-can-t-keep-a-good-api-down-37501.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/11/05/swift-and-valueforkeypath-you-cant-keep-a-good-api-down/>)

Author: Matt Long

Published: 2014-11-05T19:43:51Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [crash](<https://devfeed.tech/tags/crash.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [playground](<https://devfeed.tech/tags/playground.md>), [playgrounds](<https://devfeed.tech/tags/playgrounds.md>), [swift](<https://devfeed.tech/tags/swift.md>)

### AI overview

This tutorial explains how Swift's map can replace Objective-C's valueForKeyPath: for extracting properties from collections, including nested properties. It also compares Swift optional unwrapping with the more crash-resistant behavior of Foundation APIs when data is unpredictable.

### Source excerpt

tl;dr; Download the Value For Key Path Playground I was incredibly disappointed in Swift when I started to look into how key value coding might be preserved in the transition from Objective-C. Of course, Apple would preserve that, right? And I don't mean by resorting to using Foundation classes-you know all type-casty and everything (yeah, [...]

## Protocols in Swift With Core Data

DevFeed: [Protocols in Swift With Core Data](<https://devfeed.tech/articles/protocols-in-swift-with-core-data-37500.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/10/29/protocols-in-swift-with-core-data/>)

Author: Matt Long

Published: 2014-10-29T16:52:07Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [classes](<https://devfeed.tech/topics/classes.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [classes](<https://devfeed.tech/tags/classes.md>), [code](<https://devfeed.tech/tags/code.md>), [core-data](<https://devfeed.tech/tags/core-data.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [intermediate](<https://devfeed.tech/tags/intermediate.md>), [protocols](<https://devfeed.tech/tags/protocols.md>), [swift](<https://devfeed.tech/tags/swift.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A screencast demonstrates how to use Swift protocols with Core Data to display different managed object types generically in a table view controller.

### Source excerpt

Sometimes you have a set of objects you want to display in the same form-say, for example, in a table view controller. What if those objects have, by design, nothing in common and nothing to do with each other? This is a case where you can create and conform to a protocol-known in some languages [...]

## The Core Data stack in Swift

DevFeed: [The Core Data stack in Swift](<https://devfeed.tech/articles/the-core-data-stack-in-swift-37499.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/06/08/the-core-data-stack-in-swift/>)

Author: Marcus Zarra

Published: 2014-06-08T20:47:22Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [application](<https://devfeed.tech/tags/application.md>), [code](<https://devfeed.tech/tags/code.md>), [core-data](<https://devfeed.tech/tags/core-data.md>), [post](<https://devfeed.tech/tags/post.md>), [swift](<https://devfeed.tech/tags/swift.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A developer presents a Swift implementation of the Core Data stack, focusing on simplifying save logic, reducing unnecessary variables, and using a lazily loaded variable for initialization.

### Source excerpt

Whenever Apple releases a new version of Xcode one of the first things that I do is look at the default templates and see if there are any new or interesting things. This year, with the release of Swift, there are some pretty radical changes. Yet the Core Data stack initialization code is still the [...]

## Deleting Objects in Core Data

DevFeed: [Deleting Objects in Core Data](<https://devfeed.tech/articles/deleting-objects-in-core-data-37498.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/02/25/deleting-objects-in-core-data/>)

Author: Marcus Zarra

Published: 2014-02-25T21:11:07Z

Content type: opinion

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [notifications](<https://devfeed.tech/topics/notifications.md>)

Tags: [core-data](<https://devfeed.tech/tags/core-data.md>), [crash](<https://devfeed.tech/tags/crash.md>), [exception](<https://devfeed.tech/tags/exception.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [framework](<https://devfeed.tech/tags/framework.md>), [ios](<https://devfeed.tech/tags/ios.md>), [know](<https://devfeed.tech/tags/know.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [rants](<https://devfeed.tech/tags/rants.md>)

### AI overview

The article argues against avoiding deletion of Core Data managed objects or restricting deletion to application startup. It recommends planning for deletion, using Core Data's built-in change notifications or a custom observer, and avoiding access to objects after they have been deleted because behavior differs across iOS versions and can cause exceptions or crashes.

### Source excerpt

I very rarely speak out against another blog post. I find the resulting argument back and forth draining. However, there are exceptions and one occurred over the weekend. Brent Simmons has been blogging about his conversion of Vesper to a Core Data application. A recent post of his titled Core Data and Deleting Objects set [...]

## Using Core Data Fetched Properties Across Separate Persistent Stores

DevFeed: [Using Core Data Fetched Properties Across Separate Persistent Stores](<https://devfeed.tech/articles/fetched-properties-useful-37497.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2014/01/01/fetched-properties-useful/>)

Author: Marcus Zarra

Published: 2014-01-01T22:32:42Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [core-data](<https://devfeed.tech/tags/core-data.md>), [properties](<https://devfeed.tech/tags/properties.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains a Core Data use case for fetched properties: retrieving related metadata from a separate persistent store when relationships cannot span physically separate stores. It also describes how fetched properties are configured and notes that sorting them requires code because the Xcode editor does not provide sort criteria.

### Source excerpt

Core Data has a number of features and abilities that are not commonly used. Chief among those are fetched properties. In discussing them with a number of developers, most have never heard of them and those who have heard of them couldn't come up with a viable use case for them. To be honest, I [...]

## Automating OS X app test build distribution across multiple OS versions

DevFeed: [Automating OS X app test build distribution across multiple OS versions](<https://devfeed.tech/articles/automating-os-x-app-test-build-distribution-across-multiple-os-versions-37496.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2013/12/17/automating-os-x-app-test-build-distribution-across-multiple-os-versions/>)

Author: Fraser Hess

Published: 2013-12-17T18:21:08Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Mac Mini](<https://devfeed.tech/topics/mac-mini.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [app-distribution](<https://devfeed.tech/tags/app-distribution.md>), [apple](<https://devfeed.tech/tags/apple.md>), [build](<https://devfeed.tech/tags/build.md>), [developers](<https://devfeed.tech/tags/developers.md>), [development-environment](<https://devfeed.tech/tags/development-environment.md>), [local](<https://devfeed.tech/tags/local.md>), [mac](<https://devfeed.tech/tags/mac.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [sync](<https://devfeed.tech/tags/sync.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article describes a Mac-based setup for testing OS X applications across multiple OS X versions. It uses a Mac mini running VMware Fusion virtual machines, an SSD to improve performance, and scripted Xcode build distribution synchronized across the test environments.

### Source excerpt

With Apple now shipping OS X upgrades every 12-15 months, Mac developers are very quickly finding themselves supporting their apps on multiple OS X versions. Until recently, my approach to testing on multiple OS X versions involved partitioning an external USB drive and installing the OS X versions onto it and booting off the partitions [...]

## Using GIT In Xcode

DevFeed: [Using GIT In Xcode](<https://devfeed.tech/articles/using-git-in-xcode-37495.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2013/12/10/using-git-in-xcode/>)

Author: Joe Keeley

Published: 2013-12-10T06:50:31Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [version-control](<https://devfeed.tech/topics/version-control.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [bitbucket](<https://devfeed.tech/tags/bitbucket.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [commit](<https://devfeed.tech/tags/commit.md>), [development-environment](<https://devfeed.tech/tags/development-environment.md>), [git](<https://devfeed.tech/tags/git.md>), [github](<https://devfeed.tech/tags/github.md>), [ios](<https://devfeed.tech/tags/ios.md>), [merge](<https://devfeed.tech/tags/merge.md>), [undocumented](<https://devfeed.tech/tags/undocumented.md>), [version-control](<https://devfeed.tech/tags/version-control.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

This tutorial explains how to use Xcode 4.6.2 for Git workflows in iOS and Mac development. It covers creating local repositories, making an initial commit, and connecting projects to remote repositories such as GitHub or Bitbucket.

### Source excerpt

Git has become a very popular version control system in iOS and Mac development. Git comes with a set of command line tools to check status, commit changes, view logs, make and merge branches, and coordinate commits with a remote repository. There are a number of desktop apps that can perform these functions, including Xcode. [...]

## Creating A Happy Appy Song

DevFeed: [Creating A Happy Appy Song](<https://devfeed.tech/articles/creating-a-happy-appy-song-37494.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2013/05/20/creating-a-happy-appy-song/>)

Author: Matt Long

Published: 2013-05-20T17:52:43Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [apps](<https://devfeed.tech/tags/apps.md>), [audio](<https://devfeed.tech/tags/audio.md>), [content](<https://devfeed.tech/tags/content.md>), [creative](<https://devfeed.tech/tags/creative.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ios](<https://devfeed.tech/tags/ios.md>), [major](<https://devfeed.tech/tags/major.md>), [media](<https://devfeed.tech/tags/media.md>), [promotion](<https://devfeed.tech/tags/promotion.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The article explains how app developers can create promotional audio and video content in-house. It presents a simple "Happy Appy Song" formula using a major-key chord progression, a simple drumbeat, and a glockenspiel sound.

### Source excerpt

App developers need ways to promote their apps and audio and video provide a way to do that. At a recent iOS developer camp in Colorado I gave a talk in which I demonstrated some ways developers can create their own creative content like audio and video in-house. In one segment I demonstrated a technique [...]

## iOS Crash Logs On iCloud Synced Devices

DevFeed: [iOS Crash Logs On iCloud Synced Devices](<https://devfeed.tech/articles/ios-crash-logs-on-icloud-synced-devices-37493.md>)

Original publisher: [Read original article](<https://www.cimgf.com/2013/04/26/ios-crash-logs-on-icloud-synced-devices/>)

Author: Matt Long

Published: 2013-04-26T18:54:44Z

Content type: tutorial

Language: en

Sources: [Cocoa Is My Girlfriend](<https://devfeed.tech/sources/cocoa-is-my-girlfriend.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [beginner](<https://devfeed.tech/tags/beginner.md>), [crash](<https://devfeed.tech/tags/crash.md>), [email](<https://devfeed.tech/tags/email.md>), [ios](<https://devfeed.tech/tags/ios.md>), [logs](<https://devfeed.tech/tags/logs.md>)

### AI overview

The article explains how to retrieve crash logs from an already-shipped iOS app on a device that syncs with iCloud. The suggested method is to copy the crash log from the Settings app and email it to a specified address.

### Source excerpt

I tweeted a call for help today to figure out how to get crash logs from a device that syncs with iCloud rather than with iTunes and a cable. The issue is that you can only sync with one and not both and switching between them willy nilly can be perilous unless you enjoy losing [...]