Fix crash in RKCatalog. Suppress warning about symbol visibility during linking.

This commit is contained in:
Blake Watters
2011-06-11 18:21:41 -04:00
parent 8d30413717
commit 27ea307816
6 changed files with 16 additions and 60 deletions

View File

@@ -115,7 +115,7 @@
return [value stringValue];
}
RKLogWarning(@"Failed transformation of value at keyPath '%@'. No strategy for transforming from '%@' to '%@'", NSStringFromClass([value class]), NSStringFromClass(destinationType));
RKLogWarning(@"Failed transformation of value at keyPath '%@'. No strategy for transforming from '%@' to '%@'", keyPath, NSStringFromClass([value class]), NSStringFromClass(destinationType));
return nil;
}
@@ -204,7 +204,7 @@
if ([self.delegate respondsToSelector:@selector(objectMappingOperation:didNotFindMappingForKeyPath:)]) {
[self.delegate objectMappingOperation:self didNotFindMappingForKeyPath:attributeMapping.sourceKeyPath];
}
RKLogWarning(@"Did not find mappable attribute value keyPath '%@'", attributeMapping.sourceKeyPath);
RKLogTrace(@"Did not find mappable attribute value keyPath '%@'", attributeMapping.sourceKeyPath);
// Optionally set nil for missing values
if ([self.objectMapping setNilForMissingAttributes]) {

View File

@@ -1,12 +1,12 @@
//
// RKLog.c
// RKLog.m
// RestKit
//
// Created by Blake Watters on 6/10/11.
// Copyright 2011 Two Toasters. All rights reserved.
//
#include "RKLog.h"
#import "RKLog.h"
static BOOL loggingInitialized = NO;

View File

@@ -23,18 +23,19 @@
RKObjectMappingProvider* provider = [[RKObjectMappingProvider new] autorelease];
RKObjectMapping* taskMapping = [RKObjectMapping mappingForClass:[Task class]];
RKManagedObjectMapping* taskMapping = [RKManagedObjectMapping mappingForClass:[Task class]];
[taskMapping mapKeyPath:@"id" toAttribute:@"taskID"];
[taskMapping mapKeyPath:@"name" toAttribute:@"name"];
[taskMapping mapKeyPath:@"assigned_user_id" toAttribute:@"assignedUserID"];
[provider setMapping:taskMapping forKeyPath:@"task"];
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[User class]];
RKManagedObjectMapping* userMapping = [RKManagedObjectMapping mappingForClass:[User class]];
[userMapping mapAttributes:@"name", @"email", nil];
[userMapping mapKeyPath:@"id" toAttribute:@"userID"];
[userMapping mapRelationship:@"tasks" withObjectMapping:taskMapping];
[provider setMapping:userMapping forKeyPath:@"user"];
// NOTE - Project is not backed by Core Data
RKObjectMapping* projectMapping = [RKObjectMapping mappingForClass:[Project class]];
[projectMapping mapKeyPath:@"id" toAttribute:@"projectID"];
[projectMapping mapAttributes:@"name", @"description", nil];

View File

@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 45;
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
@@ -360,8 +360,11 @@
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "RKTwitterCoreData" */;
compatibilityVersion = "Xcode 3.1";
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
@@ -619,9 +622,9 @@
BUILD_STYLE = Debug;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
SDKROOT = iphoneos;
};
name = Debug;
@@ -633,10 +636,10 @@
BUILD_STYLE = Release;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
PREBINDING = NO;
SDKROOT = iphoneos;
};
name = Release;

View File

@@ -1769,6 +1769,7 @@
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
ORGANIZATIONNAME = "Two Toasters";
};
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "RestKit" */;
@@ -2181,7 +2182,6 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx";
@@ -2202,7 +2202,6 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx";
@@ -2219,7 +2218,6 @@
BUILD_STYLE = Debug;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
HEADER_SEARCH_PATHS = (
@@ -2232,7 +2230,6 @@
"-framework",
AppKit,
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Three20/Private;
PRODUCT_NAME = RestKitThree20;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Three20;
@@ -2250,7 +2247,6 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
HEADER_SEARCH_PATHS = (
../three20/Build/Products/three20,
@@ -2262,7 +2258,6 @@
"-framework",
AppKit,
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Three20/Private;
PRODUCT_NAME = RestKitThree20;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Three20;
@@ -2284,7 +2279,6 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 3.0;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx";
@@ -2300,9 +2294,7 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Network/Private;
PRODUCT_NAME = RestKitNetwork;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Network;
@@ -2317,9 +2309,7 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/ObjectMapping/Private;
PRODUCT_NAME = RestKitObjectMapping;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/ObjectMapping;
@@ -2334,9 +2324,7 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/Private;
PRODUCT_NAME = RestKitSupport;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support;
@@ -2352,14 +2340,12 @@
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
HEADER_SEARCH_PATHS = "Vendor/YAJL/yajl-1.0.9/src/api";
OTHER_CFLAGS = "$(YAJL_GENERAL_OTHER_CFLAGS)";
OTHER_LDFLAGS = (
"-all_load",
"-ObjC",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/YAJL/Private;
PRODUCT_NAME = RestKitJSONParserYAJL;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/YAJL;
@@ -2375,12 +2361,10 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = (
"-ObjC",
"-all_load",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/SBJSON/Private;
PRODUCT_NAME = RestKitJSONParserSBJSON;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/SBJSON;
@@ -2394,12 +2378,10 @@
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = (
"-ObjC",
"-all_load",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/JSONKit/Private;
PRODUCT_NAME = RestKitJSONParserJSONKit;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/JSONKit;
@@ -2414,8 +2396,6 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/CoreData/Private;
PRODUCT_NAME = RestKitCoreData;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/CoreData;
@@ -2431,7 +2411,6 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
HEADER_SEARCH_PATHS = (
../three20/Build/Products/three20,
@@ -2443,7 +2422,6 @@
"-framework",
AppKit,
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Three20/Private;
PRODUCT_NAME = RestKitThree20;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Three20;
@@ -2466,7 +2444,6 @@
"\"$(SRCROOT)/Specs/Runner\"",
"${DEVELOPER_LIBRARY_DIR}/Frameworks",
);
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/UIKit.framework/Headers/UIKit.h";
GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
@@ -2493,7 +2470,6 @@
SenTestingKit,
"-lgcov",
);
PREBINDING = NO;
PRODUCT_NAME = UISpec;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -2510,7 +2486,6 @@
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Network/Private;
PRODUCT_NAME = RestKitNetwork;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Network;
@@ -2524,9 +2499,7 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Network/Private;
PRODUCT_NAME = RestKitNetwork;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Network;
@@ -2543,7 +2516,6 @@
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/ObjectMapping/Private;
PRODUCT_NAME = RestKitObjectMapping;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/ObjectMapping;
@@ -2557,9 +2529,7 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/ObjectMapping/Private;
PRODUCT_NAME = RestKitObjectMapping;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/ObjectMapping;
@@ -2576,7 +2546,6 @@
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/Private;
PRODUCT_NAME = RestKitSupport;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support;
@@ -2590,9 +2559,7 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = "-ObjC";
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/Private;
PRODUCT_NAME = RestKitSupport;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support;
@@ -2608,7 +2575,6 @@
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/CoreData/Private;
PRODUCT_NAME = RestKitCoreData;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/CoreData;
@@ -2622,8 +2588,6 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/CoreData/Private;
PRODUCT_NAME = RestKitCoreData;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/CoreData;
@@ -2673,7 +2637,6 @@
"-all_load",
"-ObjC",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/YAJL/Private;
PRODUCT_NAME = RestKitJSONParserYAJL;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/YAJL;
@@ -2689,14 +2652,12 @@
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
HEADER_SEARCH_PATHS = "Vendor/YAJL/yajl-1.0.9/src/api";
OTHER_CFLAGS = "$(YAJL_GENERAL_OTHER_CFLAGS)";
OTHER_LDFLAGS = (
"-all_load",
"-ObjC",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/YAJL/Private;
PRODUCT_NAME = RestKitJSONParserYAJL;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/YAJL;
@@ -2717,7 +2678,6 @@
"-ObjC",
"-all_load",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/SBJSON/Private;
PRODUCT_NAME = RestKitJSONParserSBJSON;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/SBJSON;
@@ -2731,12 +2691,10 @@
BUILD_STYLE = Release;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = (
"-ObjC",
"-all_load",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/SBJSON/Private;
PRODUCT_NAME = RestKitJSONParserSBJSON;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/SBJSON;
@@ -2834,7 +2792,6 @@
SenTestingKit,
"-lgcov",
);
PREBINDING = NO;
PRODUCT_NAME = UISpec;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -2855,7 +2812,6 @@
"\"$(SRCROOT)/Specs/Runner\"",
"${DEVELOPER_LIBRARY_DIR}/Frameworks",
);
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/UIKit.framework/Headers/UIKit.h";
GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
@@ -2882,7 +2838,6 @@
SenTestingKit,
"-lgcov",
);
PREBINDING = NO;
PRODUCT_NAME = UISpec;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -2901,7 +2856,6 @@
"-ObjC",
"-all_load",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/JSONKit/Private;
PRODUCT_NAME = RestKitJSONParserJSONKit;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/JSONKit;
@@ -2914,12 +2868,10 @@
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
OTHER_LDFLAGS = (
"-ObjC",
"-all_load",
);
PREBINDING = NO;
PRIVATE_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/JSONKit/Private;
PRODUCT_NAME = RestKitJSONParserJSONKit;
PUBLIC_HEADERS_FOLDER_PATH = include/RestKit/Support/JSON/JSONKit;

View File

@@ -221,7 +221,7 @@ uint32_t lcl_configure_by_name(const char *name, _lcl_level_t level);
// Active log levels, indexed by log component.
_lcl_level_narrow_t _lcl_component_level[_lcl_component_t_count];
__attribute__((visibility("default"))) _lcl_level_narrow_t _lcl_component_level[_lcl_component_t_count];
// Log component identifiers, indexed by log component.
extern const char * const _lcl_component_identifier[_lcl_component_t_count];