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;