Skip to content

Instantly share code, notes, and snippets.

@qubblr
qubblr / gist:f5d94dd0311d72dac5f1e75639b25f7b
Last active February 17, 2022 12:22
Method to get an index path for UICollectionView supplementary view
extension UICollectionView {
func indexPath(for supplementaryView: UICollectionReusableView?, ofKind kind: String = UICollectionView.elementKindSectionHeader) -> IndexPath? {
let elements = visibleSupplementaryViews(ofKind: kind)
let indexPaths = indexPathsForVisibleSupplementaryElements(ofKind: kind)
for (element, indexPath) in zip(elements, indexPaths) {
if element === supplementaryView {
return indexPath
}
}
@qubblr
qubblr / TAMHidingBarsViewController.h
Created December 2, 2016 19:12
Container controller that hides both tab and navigation bars when scrolling.
//
// TAMHidingBarsViewController.h
//
// Created by Vladislav Kartashov on 13/07/15.
// Copyright (c) 2015 Vladislav Kartashov. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface TAMHidingBarsViewController : UIViewController <UINavigationControllerDelegate>
@qubblr
qubblr / CoreDataStack
Last active October 27, 2016 09:49
CoreData Stack (2 MOC setup)
import CoreData
class CoreDataStack {
static let instance = CoreDataStack(storeName: "STORE_NAME")
public let privateContext: NSManagedObjectContext
public let mainContext: NSManagedObjectContext
let objectModel: NSManagedObjectModel
let storeCoordinator: NSPersistentStoreCoordinator
@qubblr
qubblr / xcode-version-bump.sh
Created May 12, 2015 16:04
# xcode-version-bump.sh Auto-increment the version number (only) when a project is archived for export. Usage # 1. Select: your Target in Xcode # 2. Select: Build Phases Tab # 3. Select: Add Build Phase -> Add Run Script # 4. Paste code below in to new "Run Script" section # 5. Check the checkbox "Run script only when installing" # 6. Drag the "…
VERSIONNUM=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
NEWSUBVERSION=`echo $VERSIONNUM | awk -F "." '{print $3}'`
NEWSUBVERSION=$(($NEWSUBVERSION + 1))
NEWVERSIONSTRING=`echo $VERSIONNUM | awk -F "." '{print $1 "." $2 ".'$NEWSUBVERSION'" }'`
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $NEWVERSIONSTRING" "${PROJECT_DIR}/${INFOPLIST_FILE}"
@qubblr
qubblr / xcode-build-bump.sh
Last active January 30, 2016 12:50
# xcode-build-bump.sh Auto-increment the build number every time the project is run. Usage # 1. Select: your Target in Xcode # 2. Select: Build Phases Tab # 3. Select: Add Build Phase -> Add Run Script # 4. Paste code below in to new "Run Script" section # 5. Drag the "Run Script" below "Link Binaries With Libraries" # 6. Insure that your starti…
BUILD_NUM=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
VERSION_NUM=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
BUILD_NUM=$(($BUILD_NUM + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $BUILD_NUM" "${PROJECT_DIR}/${INFOPLIST_FILE}"
cd "${SRCROOT}";/usr/bin/git add "${PROJECT_DIR}/${INFOPLIST_FILE}"
cd "${SRCROOT}";/usr/bin/git commit -m "Bump build number to ${BUILD_NUM}"
cd "${SRCROOT}";/usr/bin/git tag -f -a "v${VERSION_NUM}b${BUILD_NUM}" -m "Version ${VERSION_NUM}, Build ${BUILD_NUM}"
@qubblr
qubblr / AddressBookViewController.h
Last active August 29, 2015 14:17
Abstract. Loads address book contents. Subclass, implement cellForRow.. and you're good to go. required: pod 'APAddressBook' (https://github.com/Alterplay/APAddressBook)
//
// AddressBookViewController.h
//
// Created by Vladislav Kartashov on 28/03/15.
// Copyright (c) 2015 Vladislav Kartashov. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "APAddressBook.h"
// call reloadContacts in subclass