Skip to content

Instantly share code, notes, and snippets.

@dodikk
dodikk / build_commands.sh
Created February 4, 2015 16:21
xcodebuild do-s and don't-s
xcodebuild -workspace XYZ -target xyzApp
## это - хрень. Не делай так
xcodebuild -project XYZ.xcodeproj -scheme abcApp
## это - тоже хрень.
xcodebuild -workspace XYZ -scheme abcApp
## так - нормально, но нужна shared scheme
xcodebuild -project XYZ.xcodeproj -target xyzApp
@dodikk
dodikk / RunXcodebuild.sh
Created February 10, 2015 09:15
Xctool "not configured for the build action"
dodikk$ xcodebuild -workspace HealthJoy_iPhone_UnitTests.xcworkspace -scheme "HealthJoyAuthentication-UnitTest-CI" -sdk iphonesimulator test | tee xcodebuild.log
Build settings from command line:
SDKROOT = iphonesimulator8.1
=== BUILD TARGET HealthJoyAuthentication OF PROJECT HealthJoyAuthentication WITH CONFIGURATION Debug ===
Check dependencies
@dodikk
dodikk / import.mm
Last active August 29, 2015 14:15
Import protocol to coredata
-(void)importMessageFromWebSocket:(id<HJMessage>)singleMessage
{
NSPredicate* findExistingMessage =
[NSPredicate predicateWithFormat: @"(identifier == %@) && (conversation.identifier == %@)",
singleMessage.messageId,
singleMessage.roomId];
NSManagedObjectContext* context = [NSManagedObjectContext MR_contextForCurrentThread];
@dodikk
dodikk / BuildAndAnalyze.sh
Created February 26, 2015 09:01
Scan-build error
#!/bin/bash
LAUNCH_DIR=$PWD
cd ..
REPOSITORY_ROOT=$PWD
@dodikk
dodikk / test-log.txt
Created March 4, 2015 14:44
Double negation test
2015-03-04 16:43:36.566 [7773:1208001] Non Zero 1
2015-03-04 16:43:36.567 [7773:1208001] Non Zero 2
@dodikk
dodikk / BoolFromCast.mm
Created March 5, 2015 10:33
Implicit casting int ==> BOOL
int x;
BOOL* px = reinterpret_cast<BOOL*>(&x);
BOOL castedAndTruncated = *px;
// так - точно “обрежет”. Но чтобы compiler такое сам творил…
@dodikk
dodikk / 1-CompleteLoginVC.mm
Created March 31, 2015 08:51
[bug] UINavigationController Zombie
-(void)navigateToMainMenu:(UINavigationController *)mainMenuViewController
{
id<HJDateOfBirthSurveyLogger> logger = self.dobSurveyLogger;
dispatch_async(dispatch_get_main_queue(), ^void()
{
[logger logNavigatingToMainMenu];
UIWindow *window = [UIApplication sharedApplication].keyWindow;
@dodikk
dodikk / LocalizeName.mm
Created April 3, 2015 16:01
Name localization from WWDC
NSString *firstName = ...
NSString *lastName = ...
ABRecordRef record = ABPersonCreate();
ABRecordSetValue(record, kABPersonFirstNameProperty,
(CFStringRef)firstName, NULL);
ABRecordSetValue(record, kABPersonLastNameProperty,
(CFStringRef)lastName, NULL);
NSString *displayName = (NSString *)ABRecordCopyCompositeName(record);
CFRelease(record);
Ну условно говоря:
Модеь: АААА! Давление 1960 на 1230!!!
Viewmodel : состояние лампочки: красное
View; Окей, отобразим ! красным
# и в обратную сторону
(Пользователь жмет педальку)
View : -> ViewModel
Слушай, тут пользователь жмякнул педальку.
@dodikk
dodikk / warnings.txt
Created May 19, 2015 09:47
Strict xcode warnings for my projects
//:configuration = Debug
GCC_WARN_PEDANTIC = YES
GCC_TREAT_WARNINGS_AS_ERRORS = YES
CLANG_WARN_EMPTY_BODY = YES
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_INT_CONVERSION = YES