diff --git a/.gitignore b/.gitignore
index ab77023..2f0d4d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,19 +6,12 @@
*.perspectivev3
*.swp
.DS_Store
+*.xcuserdatad
build/
dist/
project.xcworkspace/
tags
-xcuserdata/
docs/*.html
docs/referencia
.DS_Store
-DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.xcworkspace/xcuserdata/aircat.xcuserdatad/UserInterfaceState.xcuserstate
-DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.xcworkspace/xcuserdata/domesticcat.xcuserdatad/UserInterfaceState.xcuserstate
-DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcuserdata/aircat.xcuserdatad/xcschemes/xcschememanagement.plist
-DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcuserdata/domesticcat.xcuserdatad/xcschemes/DCIntrospectDemo.xcscheme
-DCIntrospectDemo/DCIntrospectDemo/.DS_Store
-DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoViewController (Air-Cat's conflicted copy 2011-07-27).h
-DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoViewController (Air-Cat's conflicted copy 2011-07-27).m
-DCIntrospectDemo/DCIntrospectDemo/en.lproj/MainWindow (Air-Cat's conflicted copy 2011-07-27).xib
\ No newline at end of file
+Products
diff --git a/DCIntrospect.xcworkspace/contents.xcworkspacedata b/DCIntrospect.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..b002c5e
--- /dev/null
+++ b/DCIntrospect.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/DCIntrospect/DCIntrospect-Prefix.pch b/DCIntrospect/DCIntrospect-Prefix.pch
new file mode 100644
index 0000000..331ee95
--- /dev/null
+++ b/DCIntrospect/DCIntrospect-Prefix.pch
@@ -0,0 +1,9 @@
+//
+// Prefix header for all source files of the 'DCIntrospect' target in the 'DCIntrospect' project
+//
+
+#ifdef __OBJC__
+ #import
+ #import
+ #import
+#endif
diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..621a325
--- /dev/null
+++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj
@@ -0,0 +1,443 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXAggregateTarget section */
+ C9E26F04145A5A89007C072D /* BundleProducts */ = {
+ isa = PBXAggregateTarget;
+ buildConfigurationList = C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "BundleProducts" */;
+ buildPhases = (
+ C9E26F08145A5AAA007C072D /* ShellScript */,
+ );
+ dependencies = (
+ );
+ name = BundleProducts;
+ productName = UniversalFramework;
+ };
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+ C918391C145A3463008BF5C0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C918391B145A3463008BF5C0 /* Foundation.framework */; };
+ C918392D145A353E008BF5C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C918392C145A353E008BF5C0 /* QuartzCore.framework */; };
+ C9183937145A3594008BF5C0 /* DCCrossHairView.h in Headers */ = {isa = PBXBuildFile; fileRef = C918392E145A3590008BF5C0 /* DCCrossHairView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C9183938145A3594008BF5C0 /* DCCrossHairView.m in Sources */ = {isa = PBXBuildFile; fileRef = C918392F145A3590008BF5C0 /* DCCrossHairView.m */; };
+ C9183939145A3594008BF5C0 /* DCFrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183930145A3590008BF5C0 /* DCFrameView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C918393A145A3594008BF5C0 /* DCFrameView.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183931145A3591008BF5C0 /* DCFrameView.m */; };
+ C918393B145A3594008BF5C0 /* DCIntrospect.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183932145A3591008BF5C0 /* DCIntrospect.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C918393C145A3594008BF5C0 /* DCIntrospect.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183933145A3591008BF5C0 /* DCIntrospect.m */; };
+ C918393D145A3594008BF5C0 /* DCIntrospectSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183934145A3592008BF5C0 /* DCIntrospectSettings.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C918393E145A3594008BF5C0 /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C918393F145A3594008BF5C0 /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */; };
+ C9183941145A35A5008BF5C0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9183940145A35A5008BF5C0 /* UIKit.framework */; };
+ C9E26EF6145A584A007C072D /* DCCrossHairView.m in Sources */ = {isa = PBXBuildFile; fileRef = C918392F145A3590008BF5C0 /* DCCrossHairView.m */; };
+ C9E26EF7145A584A007C072D /* DCFrameView.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183931145A3591008BF5C0 /* DCFrameView.m */; };
+ C9E26EF8145A584A007C072D /* DCIntrospect.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183933145A3591008BF5C0 /* DCIntrospect.m */; };
+ C9E26EF9145A584A007C072D /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */; };
+ C9E26EFD145A58B2007C072D /* DCIntrospect.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183932145A3591008BF5C0 /* DCIntrospect.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C9E26EFE145A58C6007C072D /* DCCrossHairView.h in Headers */ = {isa = PBXBuildFile; fileRef = C918392E145A3590008BF5C0 /* DCCrossHairView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C9E26EFF145A58C9007C072D /* DCFrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183930145A3590008BF5C0 /* DCFrameView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C9E26F00145A58DD007C072D /* DCIntrospectSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183934145A3592008BF5C0 /* DCIntrospectSettings.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C9E26F01145A58DF007C072D /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C9E26F40145A7AE1007C072D /* DCIntrospectLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = C9E26F3D145A7AE1007C072D /* DCIntrospectLoader.m */; };
+ C9E26F41145A7AE1007C072D /* DCIntrospectLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = C9E26F3D145A7AE1007C072D /* DCIntrospectLoader.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ C9183918145A3463008BF5C0 /* libDCIntrospect.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDCIntrospect.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ C918391B145A3463008BF5C0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ C918391F145A3463008BF5C0 /* DCIntrospect-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DCIntrospect-Prefix.pch"; sourceTree = ""; };
+ C918392C145A353E008BF5C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ C918392E145A3590008BF5C0 /* DCCrossHairView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCCrossHairView.h; sourceTree = SOURCE_ROOT; };
+ C918392F145A3590008BF5C0 /* DCCrossHairView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCCrossHairView.m; sourceTree = SOURCE_ROOT; };
+ C9183930145A3590008BF5C0 /* DCFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCFrameView.h; sourceTree = SOURCE_ROOT; };
+ C9183931145A3591008BF5C0 /* DCFrameView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCFrameView.m; sourceTree = SOURCE_ROOT; };
+ C9183932145A3591008BF5C0 /* DCIntrospect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospect.h; sourceTree = SOURCE_ROOT; };
+ C9183933145A3591008BF5C0 /* DCIntrospect.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCIntrospect.m; sourceTree = SOURCE_ROOT; };
+ C9183934145A3592008BF5C0 /* DCIntrospectSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCIntrospectSettings.h; sourceTree = SOURCE_ROOT; };
+ C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCStatusBarOverlay.h; sourceTree = SOURCE_ROOT; };
+ C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCStatusBarOverlay.m; sourceTree = SOURCE_ROOT; };
+ C9183940145A35A5008BF5C0 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ C9E26EE8145A5165007C072D /* DCIntrospect.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DCIntrospect.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ C9E26F3D145A7AE1007C072D /* DCIntrospectLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCIntrospectLoader.m; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ C9183915145A3463008BF5C0 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9183941145A35A5008BF5C0 /* UIKit.framework in Frameworks */,
+ C918392D145A353E008BF5C0 /* QuartzCore.framework in Frameworks */,
+ C918391C145A3463008BF5C0 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ C9E26EE5145A5165007C072D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ C918390D145A3462008BF5C0 = {
+ isa = PBXGroup;
+ children = (
+ C918391D145A3463008BF5C0 /* DCIntrospect */,
+ C918391A145A3463008BF5C0 /* Frameworks */,
+ C9183919145A3463008BF5C0 /* Products */,
+ );
+ sourceTree = "";
+ };
+ C9183919145A3463008BF5C0 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ C9183918145A3463008BF5C0 /* libDCIntrospect.a */,
+ C9E26EE8145A5165007C072D /* DCIntrospect.framework */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ C918391A145A3463008BF5C0 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ C9183940145A35A5008BF5C0 /* UIKit.framework */,
+ C918392C145A353E008BF5C0 /* QuartzCore.framework */,
+ C918391B145A3463008BF5C0 /* Foundation.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ C918391D145A3463008BF5C0 /* DCIntrospect */ = {
+ isa = PBXGroup;
+ children = (
+ C918392E145A3590008BF5C0 /* DCCrossHairView.h */,
+ C918392F145A3590008BF5C0 /* DCCrossHairView.m */,
+ C9183930145A3590008BF5C0 /* DCFrameView.h */,
+ C9183931145A3591008BF5C0 /* DCFrameView.m */,
+ C9183932145A3591008BF5C0 /* DCIntrospect.h */,
+ C9183933145A3591008BF5C0 /* DCIntrospect.m */,
+ C9183934145A3592008BF5C0 /* DCIntrospectSettings.h */,
+ C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */,
+ C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */,
+ C918391F145A3463008BF5C0 /* DCIntrospect-Prefix.pch */,
+ C9E26F3D145A7AE1007C072D /* DCIntrospectLoader.m */,
+ );
+ path = DCIntrospect;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ C9183916145A3463008BF5C0 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9183937145A3594008BF5C0 /* DCCrossHairView.h in Headers */,
+ C9183939145A3594008BF5C0 /* DCFrameView.h in Headers */,
+ C918393B145A3594008BF5C0 /* DCIntrospect.h in Headers */,
+ C918393D145A3594008BF5C0 /* DCIntrospectSettings.h in Headers */,
+ C918393E145A3594008BF5C0 /* DCStatusBarOverlay.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ C9E26EFC145A5899007C072D /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9E26EFD145A58B2007C072D /* DCIntrospect.h in Headers */,
+ C9E26F01145A58DF007C072D /* DCStatusBarOverlay.h in Headers */,
+ C9E26F00145A58DD007C072D /* DCIntrospectSettings.h in Headers */,
+ C9E26EFE145A58C6007C072D /* DCCrossHairView.h in Headers */,
+ C9E26EFF145A58C9007C072D /* DCFrameView.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ C9183917145A3463008BF5C0 /* DCIntrospectStaticLib */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospectStaticLib" */;
+ buildPhases = (
+ C9183914145A3463008BF5C0 /* Sources */,
+ C9183915145A3463008BF5C0 /* Frameworks */,
+ C9183916145A3463008BF5C0 /* Headers */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = DCIntrospectStaticLib;
+ productName = DCIntrospect;
+ productReference = C9183918145A3463008BF5C0 /* libDCIntrospect.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+ C9E26EE7145A5165007C072D /* DCIntrospectFramework */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C9E26EF4145A5165007C072D /* Build configuration list for PBXNativeTarget "DCIntrospectFramework" */;
+ buildPhases = (
+ C9E26EE4145A5165007C072D /* Sources */,
+ C9E26EE5145A5165007C072D /* Frameworks */,
+ C9E26EE6145A5165007C072D /* Resources */,
+ C9E26EFC145A5899007C072D /* Headers */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = DCIntrospectFramework;
+ productName = DCIntrospectFramework;
+ productReference = C9E26EE8145A5165007C072D /* DCIntrospect.framework */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ C918390F145A3462008BF5C0 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0420;
+ };
+ buildConfigurationList = C9183912145A3462008BF5C0 /* Build configuration list for PBXProject "DCIntrospect" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = C918390D145A3462008BF5C0;
+ productRefGroup = C9183919145A3463008BF5C0 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ C9183917145A3463008BF5C0 /* DCIntrospectStaticLib */,
+ C9E26EE7145A5165007C072D /* DCIntrospectFramework */,
+ C9E26F04145A5A89007C072D /* BundleProducts */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ C9E26EE6145A5165007C072D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ C9E26F08145A5AAA007C072D /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "# Sets the target folders and the final framework product.\nBUILD_CONFIGURATION=Debug\nLIB_NAME=DCIntrospect\nFMK_NAME=DCIntrospect\nFMK_VERSION=A\n\nLIB_FILE=\"lib${LIB_NAME}.a\"\n\n# Install dir will be the final output to the framework.\n# The following line create it in the root folder of the current project.\nINSTALL_DIR=${SRCROOT}/../Products/${FMK_NAME}.framework\nLIB_INSTALL_DIR=${SRCROOT}/../Products/lib\n\n# Working dir will be deleted after the framework creation.\nWRK_DIR=build\nDEVICE_DIR=${WRK_DIR}/${BUILD_CONFIGURATION}-iphoneos/${FMK_NAME}.framework\nSIMULATOR_DIR=${WRK_DIR}/${BUILD_CONFIGURATION}-iphonesimulator/${FMK_NAME}.framework\nLIB_DEVICE_DIR=${WRK_DIR}/${BUILD_CONFIGURATION}-iphoneos\nLIB_SIMULATOR_DIR=${WRK_DIR}/${BUILD_CONFIGURATION}-iphonesimulator\n\n# Clean before starting compile\nrm -r \"${WRK_DIR}\"\n\n# Building both architectures.\nxcodebuild -configuration \"${BUILD_CONFIGURATION}\" -target \"${FMK_NAME}Framework\" -sdk iphoneos\nxcodebuild -configuration \"${BUILD_CONFIGURATION}\" -target \"${FMK_NAME}Framework\" -sdk iphonesimulator\nxcodebuild -configuration \"${BUILD_CONFIGURATION}\" -target \"${LIB_NAME}StaticLib\" -sdk iphoneos\nxcodebuild -configuration \"${BUILD_CONFIGURATION}\" -target \"${LIB_NAME}StaticLib\" -sdk iphonesimulator\n\n# Cleaning the oldest.\nif [ -d \"${INSTALL_DIR}\" ]\nthen\nrm -rf \"${INSTALL_DIR}\"\nfi\n\nif [ -d \"${LIB_INSTALL_DIR}\" ]\nthen\nrm -rf \"${LIB_INSTALL_DIR}\"\nfi\n\n# Creates and renews the final product folder.\nmkdir -p \"${INSTALL_DIR}\"\nmkdir -p \"${INSTALL_DIR}/Versions\"\nmkdir -p \"${INSTALL_DIR}/Versions/${FMK_VERSION}\"\nmkdir -p \"${INSTALL_DIR}/Versions/${FMK_VERSION}/Resources\"\nmkdir -p \"${INSTALL_DIR}/Versions/${FMK_VERSION}/Headers\"\nmkdir -p \"${LIB_INSTALL_DIR}\"\nmkdir -p \"${LIB_INSTALL_DIR}/${LIB_NAME}\"\n\n# Creates the internal links.\n# It MUST uses relative path, otherwise will not work when the folder is copied/moved.\nln -s \"${FMK_VERSION}\" \"${INSTALL_DIR}/Versions/Current\"\nln -s \"Versions/Current/Headers\" \"${INSTALL_DIR}/Headers\"\nln -s \"Versions/Current/Resources\" \"${INSTALL_DIR}/Resources\"\nln -s \"Versions/Current/${FMK_NAME}\" \"${INSTALL_DIR}/${FMK_NAME}\"\n\n# Copies the headers and resources files to the final product folder.\ncp -R \"${DEVICE_DIR}/Headers/\" \"${INSTALL_DIR}/Versions/${FMK_VERSION}/Headers/\"\ncp -R \"${DEVICE_DIR}/\" \"${INSTALL_DIR}/Versions/${FMK_VERSION}/Resources/\"\ncp -R \"${LIB_DEVICE_DIR}/${LIB_NAME}/\"*.h \"${LIB_INSTALL_DIR}/${LIB_NAME}\"\n\n# Removes the binary and header from the resources folder.\nrm -r \"${INSTALL_DIR}/Versions/${FMK_VERSION}/Resources/Headers\" \"${INSTALL_DIR}/Versions/${FMK_VERSION}/Resources/${FMK_NAME}\"\n\n# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.\nlipo -create \"${DEVICE_DIR}/${FMK_NAME}\" \"${SIMULATOR_DIR}/${FMK_NAME}\" -output \"${INSTALL_DIR}/Versions/${FMK_VERSION}/${FMK_NAME}\"\n\nlipo -create \"${LIB_DEVICE_DIR}/${LIB_FILE}\" \"${LIB_SIMULATOR_DIR}/${LIB_FILE}\" -output \"${LIB_INSTALL_DIR}/${LIB_FILE}\"\n\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ C9183914145A3463008BF5C0 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9183938145A3594008BF5C0 /* DCCrossHairView.m in Sources */,
+ C918393A145A3594008BF5C0 /* DCFrameView.m in Sources */,
+ C918393C145A3594008BF5C0 /* DCIntrospect.m in Sources */,
+ C918393F145A3594008BF5C0 /* DCStatusBarOverlay.m in Sources */,
+ C9E26F40145A7AE1007C072D /* DCIntrospectLoader.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ C9E26EE4145A5165007C072D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9E26EF6145A584A007C072D /* DCCrossHairView.m in Sources */,
+ C9E26EF7145A584A007C072D /* DCFrameView.m in Sources */,
+ C9E26EF8145A584A007C072D /* DCIntrospect.m in Sources */,
+ C9E26EF9145A584A007C072D /* DCStatusBarOverlay.m in Sources */,
+ C9E26F41145A7AE1007C072D /* DCIntrospectLoader.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ C9183923145A3463008BF5C0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ C9183924145A3463008BF5C0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ C9183926145A3463008BF5C0 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DSTROOT = /tmp/DCIntrospect.dst;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch";
+ OTHER_LDFLAGS = "-ObjC";
+ PRODUCT_NAME = DCIntrospect;
+ PUBLIC_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME)";
+ SKIP_INSTALL = YES;
+ };
+ name = Debug;
+ };
+ C9183927145A3463008BF5C0 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DSTROOT = /tmp/DCIntrospect.dst;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch";
+ OTHER_LDFLAGS = "-ObjC";
+ PRODUCT_NAME = DCIntrospect;
+ PUBLIC_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME)";
+ SKIP_INSTALL = YES;
+ };
+ name = Release;
+ };
+ C9E26EF2145A5165007C072D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ DEAD_CODE_STRIPPING = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch";
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
+ LINK_WITH_STANDARD_LIBRARIES = NO;
+ MACH_O_TYPE = mh_object;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = DCIntrospect;
+ SDKROOT = iphoneos;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ C9E26EF3145A5165007C072D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ DEAD_CODE_STRIPPING = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch";
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
+ LINK_WITH_STANDARD_LIBRARIES = NO;
+ MACH_O_TYPE = mh_object;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = DCIntrospect;
+ SDKROOT = iphoneos;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
+ C9E26F06145A5A89007C072D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ C9E26F07145A5A89007C072D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ C9183912145A3462008BF5C0 /* Build configuration list for PBXProject "DCIntrospect" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C9183923145A3463008BF5C0 /* Debug */,
+ C9183924145A3463008BF5C0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospectStaticLib" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C9183926145A3463008BF5C0 /* Debug */,
+ C9183927145A3463008BF5C0 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C9E26EF4145A5165007C072D /* Build configuration list for PBXNativeTarget "DCIntrospectFramework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C9E26EF2145A5165007C072D /* Debug */,
+ C9E26EF3145A5165007C072D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "BundleProducts" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C9E26F06145A5A89007C072D /* Debug */,
+ C9E26F07145A5A89007C072D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = C918390F145A3462008BF5C0 /* Project object */;
+}
diff --git a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme
new file mode 100644
index 0000000..a08b95f
--- /dev/null
+++ b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme
new file mode 100644
index 0000000..f120d70
--- /dev/null
+++ b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectStaticLib.xcscheme b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectStaticLib.xcscheme
new file mode 100644
index 0000000..8723d81
--- /dev/null
+++ b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectStaticLib.xcscheme
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DCIntrospect/DCIntrospectLoader.m b/DCIntrospect/DCIntrospectLoader.m
new file mode 100644
index 0000000..e05378b
--- /dev/null
+++ b/DCIntrospect/DCIntrospectLoader.m
@@ -0,0 +1,38 @@
+//
+// DCIntrospectLoader.h
+//
+// Created by Stewart Gleadow on 28/10/11.
+//
+// Based on an implementation by Pete Hodgson in Frank
+// https://github.com/moredip/Frank/blob/master/src/FrankLoader.m
+
+#import "DCIntrospect.h"
+
+@interface DCIntrospectLoader : NSObject
+@end
+
+@implementation DCIntrospectLoader
+
+// This is called after application:didFinishLaunchingWithOptions:
+// so the statusBarOrientation should be reported correctly
++ (void)applicationDidBecomeActive:(NSNotification *)notification
+{
+ NSString *simulatorRoot = [[[NSProcessInfo processInfo] environment] objectForKey:@"IPHONE_SIMULATOR_ROOT"];
+ if (simulatorRoot)
+ {
+ NSLog(@"Running in simulator, loading DCIntrospect");
+ [[DCIntrospect sharedIntrospector] start];
+ }
+}
+
++ (void)load
+{
+ NSLog(@"Injecting DCIntrospect loader");
+
+ [[NSNotificationCenter defaultCenter] addObserver:[self class]
+ selector:@selector(applicationDidBecomeActive:)
+ name:@"UIApplicationDidBecomeActiveNotification"
+ object:nil];
+}
+
+@end
diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj
index 771f774..4961776 100644
--- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj
+++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj
@@ -17,16 +17,55 @@
AB0D01E5136A778000962171 /* DCIntrospectDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D01E4136A778000962171 /* DCIntrospectDemoAppDelegate.m */; };
AB0D01E8136A778000962171 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = AB0D01E6136A778000962171 /* MainWindow.xib */; };
AB0D01EB136A778000962171 /* DCIntrospectDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D01EA136A778000962171 /* DCIntrospectDemoViewController.m */; };
- AB0D0214136A9E8D00962171 /* DCIntrospect.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D0213136A9E8D00962171 /* DCIntrospect.m */; };
- AB0D021F136A9FE000962171 /* DCFrameView.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D021E136A9FE000962171 /* DCFrameView.m */; };
- ABDA505A136E0FDD00339835 /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = ABDA5059136E0FDD00339835 /* DCStatusBarOverlay.m */; };
- ABDA50A0136FDD9400339835 /* DCCrossHairView.m in Sources */ = {isa = PBXBuildFile; fileRef = ABDA509F136FDD9300339835 /* DCCrossHairView.m */; };
+ C9E26F0C145A6472007C072D /* libDCIntrospect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C9E26F0B145A6472007C072D /* libDCIntrospect.a */; };
+ C9E26F0F145A679D007C072D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D01E1136A778000962171 /* main.m */; };
+ C9E26F10145A679D007C072D /* DCIntrospectDemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D01E4136A778000962171 /* DCIntrospectDemoAppDelegate.m */; };
+ C9E26F11145A679D007C072D /* DCIntrospectDemoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AB0D01EA136A778000962171 /* DCIntrospectDemoViewController.m */; };
+ C9E26F13145A679D007C072D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 625780B1138A0EBC004DA77B /* QuartzCore.framework */; };
+ C9E26F14145A679D007C072D /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0D01D4136A778000962171 /* UIKit.framework */; };
+ C9E26F15145A679D007C072D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0D01D6136A778000962171 /* Foundation.framework */; };
+ C9E26F16145A679D007C072D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB0D01D8136A778000962171 /* CoreGraphics.framework */; };
+ C9E26F19145A679D007C072D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = AB0D01DD136A778000962171 /* InfoPlist.strings */; };
+ C9E26F1A145A679D007C072D /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = AB0D01E6136A778000962171 /* MainWindow.xib */; };
+ C9E26F1B145A679D007C072D /* circle.png in Resources */ = {isa = PBXBuildFile; fileRef = 625780AF138A052F004DA77B /* circle.png */; };
+ C9E26F23145A6E46007C072D /* DCIntrospect.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9E26F22145A6E46007C072D /* DCIntrospect.framework */; };
/* End PBXBuildFile section */
+/* Begin PBXContainerItemProxy section */
+ C9E26F2A145A73B6007C072D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = C9183918145A3463008BF5C0;
+ remoteInfo = DCIntrospectStaticLib;
+ };
+ C9E26F2C145A73B6007C072D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = C9E26EE8145A5165007C072D;
+ remoteInfo = DCIntrospectFramework;
+ };
+ C9E26F2E145A73D8007C072D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = C9E26F04145A5A89007C072D;
+ remoteInfo = BundleProducts;
+ };
+ C9E26F30145A73EB007C072D /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = C9E26F04145A5A89007C072D;
+ remoteInfo = BundleProducts;
+ };
+/* End PBXContainerItemProxy section */
+
/* Begin PBXFileReference section */
625780AF138A052F004DA77B /* circle.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = circle.png; sourceTree = ""; };
625780B1138A0EBC004DA77B /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
- AB0D01D0136A778000962171 /* DCIntrospectDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DCIntrospectDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ AB0D01D0136A778000962171 /* DemoUsingStaticLib.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DemoUsingStaticLib.app; sourceTree = BUILT_PRODUCTS_DIR; };
AB0D01D4136A778000962171 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
AB0D01D6136A778000962171 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
AB0D01D8136A778000962171 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
@@ -39,15 +78,10 @@
AB0D01E7136A778000962171 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainWindow.xib; sourceTree = ""; };
AB0D01E9136A778000962171 /* DCIntrospectDemoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DCIntrospectDemoViewController.h; sourceTree = ""; };
AB0D01EA136A778000962171 /* DCIntrospectDemoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DCIntrospectDemoViewController.m; sourceTree = ""; };
- AB0D0212136A9E8D00962171 /* DCIntrospect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DCIntrospect.h; path = ../../DCIntrospect/DCIntrospect.h; sourceTree = ""; };
- AB0D0213136A9E8D00962171 /* DCIntrospect.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DCIntrospect.m; path = ../../DCIntrospect/DCIntrospect.m; sourceTree = ""; };
- AB0D021D136A9FE000962171 /* DCFrameView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DCFrameView.h; path = ../../DCIntrospect/DCFrameView.h; sourceTree = ""; };
- AB0D021E136A9FE000962171 /* DCFrameView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DCFrameView.m; path = ../../DCIntrospect/DCFrameView.m; sourceTree = ""; };
- ABDA5058136E0FDD00339835 /* DCStatusBarOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DCStatusBarOverlay.h; path = ../../DCIntrospect/DCStatusBarOverlay.h; sourceTree = ""; };
- ABDA5059136E0FDD00339835 /* DCStatusBarOverlay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DCStatusBarOverlay.m; path = ../../DCIntrospect/DCStatusBarOverlay.m; sourceTree = ""; };
- ABDA509E136FDD9300339835 /* DCCrossHairView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DCCrossHairView.h; path = ../../DCIntrospect/DCCrossHairView.h; sourceTree = ""; };
- ABDA509F136FDD9300339835 /* DCCrossHairView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DCCrossHairView.m; path = ../../DCIntrospect/DCCrossHairView.m; sourceTree = ""; };
- ABDA51091370E79100339835 /* DCIntrospectSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DCIntrospectSettings.h; path = ../../DCIntrospect/DCIntrospectSettings.h; sourceTree = ""; };
+ C9E26F0B145A6472007C072D /* libDCIntrospect.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libDCIntrospect.a; path = ../Products/lib/libDCIntrospect.a; sourceTree = ""; };
+ C9E26F1F145A679D007C072D /* DemoUsingFramework.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DemoUsingFramework.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ C9E26F22145A6E46007C072D /* DCIntrospect.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DCIntrospect.framework; path = ../Products/DCIntrospect.framework; sourceTree = ""; };
+ C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = DCIntrospect.xcodeproj; path = ../DCIntrospect/DCIntrospect.xcodeproj; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -59,6 +93,19 @@
AB0D01D5136A778000962171 /* UIKit.framework in Frameworks */,
AB0D01D7136A778000962171 /* Foundation.framework in Frameworks */,
AB0D01D9136A778000962171 /* CoreGraphics.framework in Frameworks */,
+ C9E26F0C145A6472007C072D /* libDCIntrospect.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ C9E26F12145A679D007C072D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9E26F13145A679D007C072D /* QuartzCore.framework in Frameworks */,
+ C9E26F14145A679D007C072D /* UIKit.framework in Frameworks */,
+ C9E26F15145A679D007C072D /* Foundation.framework in Frameworks */,
+ C9E26F16145A679D007C072D /* CoreGraphics.framework in Frameworks */,
+ C9E26F23145A6E46007C072D /* DCIntrospect.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -77,7 +124,8 @@
AB0D01D1136A778000962171 /* Products */ = {
isa = PBXGroup;
children = (
- AB0D01D0136A778000962171 /* DCIntrospectDemo.app */,
+ AB0D01D0136A778000962171 /* DemoUsingStaticLib.app */,
+ C9E26F1F145A679D007C072D /* DemoUsingFramework.app */,
);
name = Products;
sourceTree = "";
@@ -85,6 +133,9 @@
AB0D01D3136A778000962171 /* Frameworks */ = {
isa = PBXGroup;
children = (
+ C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */,
+ C9E26F0B145A6472007C072D /* libDCIntrospect.a */,
+ C9E26F22145A6E46007C072D /* DCIntrospect.framework */,
625780B1138A0EBC004DA77B /* QuartzCore.framework */,
AB0D01D4136A778000962171 /* UIKit.framework */,
AB0D01D6136A778000962171 /* Foundation.framework */,
@@ -96,7 +147,6 @@
AB0D01DA136A778000962171 /* DCIntrospectDemo */ = {
isa = PBXGroup;
children = (
- AB0D01F7136A79A800962171 /* DCIntrospect */,
AB0D01E3136A778000962171 /* DCIntrospectDemoAppDelegate.h */,
AB0D01E4136A778000962171 /* DCIntrospectDemoAppDelegate.m */,
AB0D01E6136A778000962171 /* MainWindow.xib */,
@@ -119,28 +169,21 @@
name = "Supporting Files";
sourceTree = "";
};
- AB0D01F7136A79A800962171 /* DCIntrospect */ = {
+ C9E26F25145A73B6007C072D /* Products */ = {
isa = PBXGroup;
children = (
- ABDA51091370E79100339835 /* DCIntrospectSettings.h */,
- AB0D0212136A9E8D00962171 /* DCIntrospect.h */,
- AB0D0213136A9E8D00962171 /* DCIntrospect.m */,
- ABDA5058136E0FDD00339835 /* DCStatusBarOverlay.h */,
- ABDA5059136E0FDD00339835 /* DCStatusBarOverlay.m */,
- AB0D021D136A9FE000962171 /* DCFrameView.h */,
- AB0D021E136A9FE000962171 /* DCFrameView.m */,
- ABDA509E136FDD9300339835 /* DCCrossHairView.h */,
- ABDA509F136FDD9300339835 /* DCCrossHairView.m */,
+ C9E26F2B145A73B6007C072D /* libDCIntrospect.a */,
+ C9E26F2D145A73B6007C072D /* DCIntrospect.framework */,
);
- name = DCIntrospect;
+ name = Products;
sourceTree = "";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- AB0D01CF136A778000962171 /* DCIntrospectDemo */ = {
+ AB0D01CF136A778000962171 /* DemoUsingStaticLib */ = {
isa = PBXNativeTarget;
- buildConfigurationList = AB0D01F1136A778000962171 /* Build configuration list for PBXNativeTarget "DCIntrospectDemo" */;
+ buildConfigurationList = AB0D01F1136A778000962171 /* Build configuration list for PBXNativeTarget "DemoUsingStaticLib" */;
buildPhases = (
AB0D01CC136A778000962171 /* Sources */,
AB0D01CD136A778000962171 /* Frameworks */,
@@ -149,10 +192,29 @@
buildRules = (
);
dependencies = (
+ C9E26F2F145A73D8007C072D /* PBXTargetDependency */,
+ );
+ name = DemoUsingStaticLib;
+ productName = DCIntrospectDemo;
+ productReference = AB0D01D0136A778000962171 /* DemoUsingStaticLib.app */;
+ productType = "com.apple.product-type.application";
+ };
+ C9E26F0D145A679D007C072D /* DemoUsingFramework */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C9E26F1C145A679D007C072D /* Build configuration list for PBXNativeTarget "DemoUsingFramework" */;
+ buildPhases = (
+ C9E26F0E145A679D007C072D /* Sources */,
+ C9E26F12145A679D007C072D /* Frameworks */,
+ C9E26F18145A679D007C072D /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ C9E26F31145A73EB007C072D /* PBXTargetDependency */,
);
- name = DCIntrospectDemo;
+ name = DemoUsingFramework;
productName = DCIntrospectDemo;
- productReference = AB0D01D0136A778000962171 /* DCIntrospectDemo.app */;
+ productReference = C9E26F1F145A679D007C072D /* DemoUsingFramework.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -173,13 +235,37 @@
mainGroup = AB0D01C5136A778000962171;
productRefGroup = AB0D01D1136A778000962171 /* Products */;
projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = C9E26F25145A73B6007C072D /* Products */;
+ ProjectRef = C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */;
+ },
+ );
projectRoot = "";
targets = (
- AB0D01CF136A778000962171 /* DCIntrospectDemo */,
+ AB0D01CF136A778000962171 /* DemoUsingStaticLib */,
+ C9E26F0D145A679D007C072D /* DemoUsingFramework */,
);
};
/* End PBXProject section */
+/* Begin PBXReferenceProxy section */
+ C9E26F2B145A73B6007C072D /* libDCIntrospect.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libDCIntrospect.a;
+ remoteRef = C9E26F2A145A73B6007C072D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ C9E26F2D145A73B6007C072D /* DCIntrospect.framework */ = {
+ isa = PBXReferenceProxy;
+ fileType = wrapper.cfbundle;
+ path = DCIntrospect.framework;
+ remoteRef = C9E26F2C145A73B6007C072D /* PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
/* Begin PBXResourcesBuildPhase section */
AB0D01CE136A778000962171 /* Resources */ = {
isa = PBXResourcesBuildPhase;
@@ -191,6 +277,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C9E26F18145A679D007C072D /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9E26F19145A679D007C072D /* InfoPlist.strings in Resources */,
+ C9E26F1A145A679D007C072D /* MainWindow.xib in Resources */,
+ C9E26F1B145A679D007C072D /* circle.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -201,15 +297,34 @@
AB0D01E2136A778000962171 /* main.m in Sources */,
AB0D01E5136A778000962171 /* DCIntrospectDemoAppDelegate.m in Sources */,
AB0D01EB136A778000962171 /* DCIntrospectDemoViewController.m in Sources */,
- AB0D0214136A9E8D00962171 /* DCIntrospect.m in Sources */,
- AB0D021F136A9FE000962171 /* DCFrameView.m in Sources */,
- ABDA505A136E0FDD00339835 /* DCStatusBarOverlay.m in Sources */,
- ABDA50A0136FDD9400339835 /* DCCrossHairView.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ C9E26F0E145A679D007C072D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C9E26F0F145A679D007C072D /* main.m in Sources */,
+ C9E26F10145A679D007C072D /* DCIntrospectDemoAppDelegate.m in Sources */,
+ C9E26F11145A679D007C072D /* DCIntrospectDemoViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
+/* Begin PBXTargetDependency section */
+ C9E26F2F145A73D8007C072D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = BundleProducts;
+ targetProxy = C9E26F2E145A73D8007C072D /* PBXContainerItemProxy */;
+ };
+ C9E26F31145A73EB007C072D /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = BundleProducts;
+ targetProxy = C9E26F30145A73EB007C072D /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin PBXVariantGroup section */
AB0D01DD136A778000962171 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
@@ -245,6 +360,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "-ObjC";
RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = 1;
@@ -263,6 +379,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 4.3;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ OTHER_LDFLAGS = "-ObjC";
RUN_CLANG_STATIC_ANALYZER = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = 1;
@@ -279,7 +396,9 @@
GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch";
GCC_WARN_SHADOW = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
+ HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\"";
INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist";
+ LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\"";
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
};
@@ -294,13 +413,57 @@
GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch";
GCC_WARN_SHADOW = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
+ HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\"";
INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist";
+ LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\"";
PRODUCT_NAME = "$(TARGET_NAME)";
VALIDATE_PRODUCT = YES;
WRAPPER_EXTENSION = app;
};
name = Release;
};
+ C9E26F1D145A679D007C072D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../Products\"",
+ );
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch";
+ GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ HEADER_SEARCH_PATHS = "";
+ INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist";
+ PRODUCT_NAME = DemoUsingFramework;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ C9E26F1E145A679D007C072D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../Products\"",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch";
+ GCC_WARN_SHADOW = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ HEADER_SEARCH_PATHS = "";
+ INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist";
+ PRODUCT_NAME = DemoUsingFramework;
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -313,7 +476,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- AB0D01F1136A778000962171 /* Build configuration list for PBXNativeTarget "DCIntrospectDemo" */ = {
+ AB0D01F1136A778000962171 /* Build configuration list for PBXNativeTarget "DemoUsingStaticLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
AB0D01F2136A778000962171 /* Debug */,
@@ -322,6 +485,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ C9E26F1C145A679D007C072D /* Build configuration list for PBXNativeTarget "DemoUsingFramework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C9E26F1D145A679D007C072D /* Debug */,
+ C9E26F1E145A679D007C072D /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = AB0D01C7136A778000962171 /* Project object */;
diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme
new file mode 100644
index 0000000..aaf806a
--- /dev/null
+++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingStaticLib.xcscheme b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingStaticLib.xcscheme
new file mode 100644
index 0000000..2f31456
--- /dev/null
+++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingStaticLib.xcscheme
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m
index b70ee52..7f68226 100644
--- a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m
+++ b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m
@@ -4,9 +4,9 @@
// Created by Domestic Cat on 29/04/11.
//
+#import
#import "DCIntrospectDemoAppDelegate.h"
#import "DCIntrospectDemoViewController.h"
-#import "DCIntrospect.h"
@implementation DCIntrospectDemoAppDelegate
@@ -28,32 +28,9 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
- // always insert this AFTER makeKeyAndVisible so statusBarOrientation is reported correctly.
- [[DCIntrospect sharedIntrospector] start];
-
return YES;
}
-- (void)applicationWillResignActive:(UIApplication *)application
-{
-}
-
-- (void)applicationDidEnterBackground:(UIApplication *)application
-{
-}
-
-- (void)applicationWillEnterForeground:(UIApplication *)application
-{
-}
-
-- (void)applicationDidBecomeActive:(UIApplication *)application
-{
-}
-
-- (void)applicationWillTerminate:(UIApplication *)application
-{
-}
-
- (void)dealloc
{
[window release];
diff --git a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoViewController.m b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoViewController.m
index 2706df3..f811d0b 100644
--- a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoViewController.m
+++ b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoViewController.m
@@ -6,8 +6,8 @@
// Copyright 2011 Domestic Cat Software. All rights reserved.
//
+#import
#import "DCIntrospectDemoViewController.h"
-#import "DCIntrospect.h"
@implementation DCIntrospectDemoViewController
@synthesize activityIndicator;