Skip to content

Instantly share code, notes, and snippets.

@CocoaBeans
CocoaBeans / 4CF.c
Created Jul 7, 2016 — forked from daurnimator/4CF.c
Use your own main loop on OSX
View 4CF.c
#include <mach/port.h> /* mach_port_t */
#include <mach/mach.h> /* mach_port_allocate(), mach_task_self(), mach_port_insert_member() */
#include <sys/event.h> /* kqueue(), kevent64(), struct kevent64_s, EVFILT_MACHPORT, EV_SET64, EV_ADD */
#include <sys/time.h> /* struct timespec */
//#include <dispatch/private.h>
extern mach_port_t _dispatch_get_main_queue_port_4CF(void);
extern void _dispatch_main_queue_callback_4CF(void);
#include <stdio.h>
View Crashlytics-10.7-fixup.h
// Crashlytics have defined these so that if we use a new SDK then build then we get errors. We'll define these macros to remove any typed collections.
#ifdef CLS_GENERIC_NSARRAY
#undef CLS_GENERIC_NSARRAY
#define CLS_GENERIC_NSARRAY(type) NSArray
#endif
#ifdef CLS_GENERIC_NSDICTIONARY
#undef CLS_GENERIC_NSDICTIONARY
#define CLS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary
View architecture.md

Architectural Questions

  • Are responsibilities well defined?
  • Are the collaborations well defined?
  • Is coupling minimized?
  • Can you identify potential duplication?
  • Are interface definitions and constraints acceptable?
  • Can modules access needed data—when needed?
View NSAppKitVersionNumberExample.c
NSInteger osxVersion;
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_6) {
//10.6.x or earlier systems
osxVersion = 106;
NSLog(@"Mac OSX Snow Leopard");
} else if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_7) {
/* On a 10.7.x or earlier system */
osxVersion = 107;
NSLog(@"Mac OSX Lion");
} else if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_8) {
View CurrentScriptPath.sh
#!/bin/bash
SCRIPT_PATH="${0}"
SCRIPT_DIR=`dirname "${SCRIPT_PATH}"`
SCRIPT_DIR=`cd "${SCRIPT_DIR}"; pwd`
echo "$SCRIPT_DIR"
View MOGenerator.sh
#!/bin/bash -x
############################################################################################################################
###
### MOGenerator.command
###
### Managed Object Generator Build Script.
### Implements generation gap codegen pattern for Core Data.
### http://rentzsch.github.com/mogenerator/
###
@CocoaBeans
CocoaBeans / set_bundle_version.sh
Created Apr 3, 2014
This script automatically sets the version and short version string of an Xcode project from the Git repository containing the project. To use this script in Xcode 4, add the contents to a "Run Script" build phase for your application target.
View set_bundle_version.sh
#!/bin/bash -x
# This script automatically sets the version and short version string of
# an Xcode project from the Git repository containing the project.
#
# To use this script in Xcode 4, add the contents to a "Run Script" build
# phase for your application target.
set -o errexit
set -o nounset
@CocoaBeans
CocoaBeans / git-delete-local-tags.sh
Created Mar 25, 2014
Delete all locate tags in a git repository and fetch the remote tags
View git-delete-local-tags.sh
git tag -l | xargs git tag -d
git fetch
@CocoaBeans
CocoaBeans / .gitignore
Last active Dec 28, 2015
Basic .gitignore
View .gitignore
# OS X Finder
.DS_Store
# Xcode per-user config
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser
View StringsLintCheck.sh
#!/bin/bash
# for LocalizableStringsIn in $(find "${PROJECT_DIR}"/Languages -name "Localizable.strings.in" -print)
# do
# LocalizableStrings="${LocalizableStringsIn/Localizable.strings.in/Localizable.strings}"
# iconv -f UTF-8 -t UTF-16BE < "${LocalizableStringsIn}" > "${LocalizableStrings}"
# done
# NEEDLE='\( -path "*.lproj/*.strings" \! \( -path "*/build/*" \) \)'
HAYSTACK="${PROJECT_DIR}"