From eb8ef69ea1fe62c6de08ffd301337dd3a28d351d Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 11:25:16 +1100 Subject: [PATCH 01/20] Cleaning up ignore file --- .gitignore | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index ab77023..7c4f3e6 100644 --- a/.gitignore +++ b/.gitignore @@ -6,19 +6,11 @@ *.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 From 5d42f8e3ae7a58930ea046e43909ff7b069a02ab Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 11:25:40 +1100 Subject: [PATCH 02/20] Remove DCIntrospect source files from demo project --- .../project.pbxproj | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj index 771f774..1828c2c 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj @@ -17,10 +17,6 @@ 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 */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -39,15 +35,6 @@ 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 = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -96,7 +83,6 @@ AB0D01DA136A778000962171 /* DCIntrospectDemo */ = { isa = PBXGroup; children = ( - AB0D01F7136A79A800962171 /* DCIntrospect */, AB0D01E3136A778000962171 /* DCIntrospectDemoAppDelegate.h */, AB0D01E4136A778000962171 /* DCIntrospectDemoAppDelegate.m */, AB0D01E6136A778000962171 /* MainWindow.xib */, @@ -119,22 +105,6 @@ name = "Supporting Files"; sourceTree = ""; }; - AB0D01F7136A79A800962171 /* DCIntrospect */ = { - 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 */, - ); - name = DCIntrospect; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -201,10 +171,6 @@ 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; }; From 8cc4ea7b49548722886290e78629c6595c2a85a1 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 11:25:57 +1100 Subject: [PATCH 03/20] Added workspace with demo project --- DCIntrospect.xcworkspace/contents.xcworkspacedata | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 DCIntrospect.xcworkspace/contents.xcworkspacedata diff --git a/DCIntrospect.xcworkspace/contents.xcworkspacedata b/DCIntrospect.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..8eb797f --- /dev/null +++ b/DCIntrospect.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + From e1f8e7f42e2638f8a921afed69104a85220d44b2 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 11:57:24 +1100 Subject: [PATCH 04/20] Added empty static library --- DCIntrospect/DCIntrospect-Prefix.pch | 7 + .../DCIntrospect.xcodeproj/project.pbxproj | 222 ++++++++++++++++++ 2 files changed, 229 insertions(+) create mode 100644 DCIntrospect/DCIntrospect-Prefix.pch create mode 100644 DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj diff --git a/DCIntrospect/DCIntrospect-Prefix.pch b/DCIntrospect/DCIntrospect-Prefix.pch new file mode 100644 index 0000000..e00d33b --- /dev/null +++ b/DCIntrospect/DCIntrospect-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'DCIntrospect' target in the 'DCIntrospect' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj new file mode 100644 index 0000000..a9459ef --- /dev/null +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -0,0 +1,222 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* 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 */; }; +/* 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; name = "DCIntrospect-Prefix.pch"; path = "../DCIntrospect-Prefix.pch"; sourceTree = ""; }; + C918392C145A353E008BF5C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + C9183915145A3463008BF5C0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C918392D145A353E008BF5C0 /* QuartzCore.framework in Frameworks */, + C918391C145A3463008BF5C0 /* Foundation.framework in Frameworks */, + ); + 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 */, + ); + name = Products; + sourceTree = ""; + }; + C918391A145A3463008BF5C0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C918392C145A353E008BF5C0 /* QuartzCore.framework */, + C918391B145A3463008BF5C0 /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + C918391D145A3463008BF5C0 /* DCIntrospect */ = { + isa = PBXGroup; + children = ( + C918391F145A3463008BF5C0 /* DCIntrospect-Prefix.pch */, + ); + path = DCIntrospect; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + C9183916145A3463008BF5C0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + C9183917145A3463008BF5C0 /* DCIntrospect */ = { + isa = PBXNativeTarget; + buildConfigurationList = C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospect" */; + buildPhases = ( + C9183914145A3463008BF5C0 /* Sources */, + C9183915145A3463008BF5C0 /* Frameworks */, + C9183916145A3463008BF5C0 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DCIntrospect; + productName = DCIntrospect; + productReference = C9183918145A3463008BF5C0 /* libDCIntrospect.a */; + productType = "com.apple.product-type.library.static"; + }; +/* 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 /* DCIntrospect */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + C9183914145A3463008BF5C0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + 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/DCIntrospect-Prefix.pch"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + C9183927145A3463008BF5C0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DSTROOT = /tmp/DCIntrospect.dst; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "DCIntrospect/DCIntrospect-Prefix.pch"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + 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 "DCIntrospect" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C9183926145A3463008BF5C0 /* Debug */, + C9183927145A3463008BF5C0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = C918390F145A3462008BF5C0 /* Project object */; +} From 0ea5cbecaaa42ff1132858549efd0026050ceb43 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 12:03:17 +1100 Subject: [PATCH 05/20] Added DCIntrospect files to static lib project --- DCIntrospect/DCIntrospect-Prefix.pch | 2 + .../DCIntrospect.xcodeproj/project.pbxproj | 46 ++++++++++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/DCIntrospect/DCIntrospect-Prefix.pch b/DCIntrospect/DCIntrospect-Prefix.pch index e00d33b..331ee95 100644 --- a/DCIntrospect/DCIntrospect-Prefix.pch +++ b/DCIntrospect/DCIntrospect-Prefix.pch @@ -4,4 +4,6 @@ #ifdef __OBJC__ #import + #import + #import #endif diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index a9459ef..fc1d8a7 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -9,6 +9,16 @@ /* 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 = (); }; }; + C9183938145A3594008BF5C0 /* DCCrossHairView.m in Sources */ = {isa = PBXBuildFile; fileRef = C918392F145A3590008BF5C0 /* DCCrossHairView.m */; }; + C9183939145A3594008BF5C0 /* DCFrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183930145A3590008BF5C0 /* DCFrameView.h */; }; + 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 */; }; + C918393E145A3594008BF5C0 /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; }; + C918393F145A3594008BF5C0 /* DCStatusBarOverlay.m in Sources */ = {isa = PBXBuildFile; fileRef = C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */; }; + C9183941145A35A5008BF5C0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9183940145A35A5008BF5C0 /* UIKit.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -16,6 +26,16 @@ 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; name = "DCIntrospect-Prefix.pch"; 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; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -23,6 +43,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C9183941145A35A5008BF5C0 /* UIKit.framework in Frameworks */, C918392D145A353E008BF5C0 /* QuartzCore.framework in Frameworks */, C918391C145A3463008BF5C0 /* Foundation.framework in Frameworks */, ); @@ -51,6 +72,7 @@ C918391A145A3463008BF5C0 /* Frameworks */ = { isa = PBXGroup; children = ( + C9183940145A35A5008BF5C0 /* UIKit.framework */, C918392C145A353E008BF5C0 /* QuartzCore.framework */, C918391B145A3463008BF5C0 /* Foundation.framework */, ); @@ -60,6 +82,15 @@ 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 */, ); path = DCIntrospect; @@ -72,6 +103,11 @@ 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; }; @@ -125,6 +161,10 @@ 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 */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -176,9 +216,10 @@ buildSettings = { DSTROOT = /tmp/DCIntrospect.dst; GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "DCIntrospect/DCIntrospect-Prefix.pch"; + GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SKIP_INSTALL = YES; }; name = Debug; @@ -188,9 +229,10 @@ buildSettings = { DSTROOT = /tmp/DCIntrospect.dst; GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "DCIntrospect/DCIntrospect-Prefix.pch"; + GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; + PUBLIC_HEADERS_FOLDER_PATH = ""; SKIP_INSTALL = YES; }; name = Release; From 5d4a3cbe1ab0c1e58b682985652de2add7f14355 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 12:16:09 +1100 Subject: [PATCH 06/20] Fixed incorrect reference to prefix header file --- DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index fc1d8a7..09093b9 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -24,7 +24,7 @@ /* 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; name = "DCIntrospect-Prefix.pch"; path = "../DCIntrospect-Prefix.pch"; sourceTree = ""; }; + 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; }; From 7a29f3d9bd73fcf699cb3a380593203753f69ba0 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 12:16:26 +1100 Subject: [PATCH 07/20] Added lib dependency to example workspace --- DCIntrospect.xcworkspace/contents.xcworkspacedata | 3 +++ .../DCIntrospectDemo.xcodeproj/project.pbxproj | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/DCIntrospect.xcworkspace/contents.xcworkspacedata b/DCIntrospect.xcworkspace/contents.xcworkspacedata index 8eb797f..b002c5e 100644 --- a/DCIntrospect.xcworkspace/contents.xcworkspacedata +++ b/DCIntrospect.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj index 1828c2c..e0ea0e4 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj @@ -17,6 +17,7 @@ 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 */; }; + C918394A145A377B008BF5C0 /* libDCIntrospect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C9183949145A377B008BF5C0 /* libDCIntrospect.a */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -35,6 +36,7 @@ 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 = ""; }; + C9183949145A377B008BF5C0 /* libDCIntrospect.a */ = {isa = PBXFileReference; lastKnownFileType = file; name = libDCIntrospect.a; path = "../DCIntrospect/build/Release-iphoneos/libDCIntrospect.a"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -42,6 +44,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C918394A145A377B008BF5C0 /* libDCIntrospect.a in Frameworks */, 625780B2138A0EBD004DA77B /* QuartzCore.framework in Frameworks */, AB0D01D5136A778000962171 /* UIKit.framework in Frameworks */, AB0D01D7136A778000962171 /* Foundation.framework in Frameworks */, @@ -72,6 +75,7 @@ AB0D01D3136A778000962171 /* Frameworks */ = { isa = PBXGroup; children = ( + C9183949145A377B008BF5C0 /* libDCIntrospect.a */, 625780B1138A0EBC004DA77B /* QuartzCore.framework */, AB0D01D4136A778000962171 /* UIKit.framework */, AB0D01D6136A778000962171 /* Foundation.framework */, @@ -245,7 +249,9 @@ GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch"; GCC_WARN_SHADOW = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; + HEADER_SEARCH_PATHS = ../DCIntrospect; INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist"; + LIBRARY_SEARCH_PATHS = "../DCIntrospect/build/Debug-iphonesimulator"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -260,7 +266,9 @@ GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch"; GCC_WARN_SHADOW = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; + HEADER_SEARCH_PATHS = ../DCIntrospect; INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist"; + LIBRARY_SEARCH_PATHS = "../DCIntrospect/build/Debug-iphonesimulator"; PRODUCT_NAME = "$(TARGET_NAME)"; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; From 2dfe8902b57da5112912d4cff194a01490993532 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 14:42:10 +1100 Subject: [PATCH 08/20] Created universal framework target --- .../DCIntrospect.xcodeproj/project.pbxproj | 195 ++++++++++++++++++ DCIntrospect/DCIntrospectFramework-Info.plist | 46 +++++ 2 files changed, 241 insertions(+) create mode 100644 DCIntrospect/DCIntrospectFramework-Info.plist diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index 09093b9..25a6e5a 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -6,6 +6,20 @@ objectVersion = 46; objects = { +/* Begin PBXAggregateTarget section */ + C9E26F04145A5A89007C072D /* UniversalFramework */ = { + isa = PBXAggregateTarget; + buildConfigurationList = C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "UniversalFramework" */; + buildPhases = ( + C9E26F08145A5AAA007C072D /* ShellScript */, + ); + dependencies = ( + ); + name = UniversalFramework; + 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 */; }; @@ -19,6 +33,16 @@ C918393E145A3594008BF5C0 /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; }; 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 = (); }; }; + C9E26EFF145A58C9007C072D /* DCFrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183930145A3590008BF5C0 /* DCFrameView.h */; settings = {ATTRIBUTES = (); }; }; + C9E26F00145A58DD007C072D /* DCIntrospectSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183934145A3592008BF5C0 /* DCIntrospectSettings.h */; settings = {ATTRIBUTES = (); }; }; + C9E26F01145A58DF007C072D /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; settings = {ATTRIBUTES = (); }; }; + C9E26F03145A59CB007C072D /* DCIntrospectFramework-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -36,6 +60,9 @@ 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 /* DCIntrospectFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DCIntrospectFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C9E26EE9145A5165007C072D /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DCIntrospectFramework-Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +76,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C9E26EE5145A5165007C072D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -56,6 +90,7 @@ isa = PBXGroup; children = ( C918391D145A3463008BF5C0 /* DCIntrospect */, + C9E26EEB145A5165007C072D /* DCIntrospectFramework */, C918391A145A3463008BF5C0 /* Frameworks */, C9183919145A3463008BF5C0 /* Products */, ); @@ -65,6 +100,7 @@ isa = PBXGroup; children = ( C9183918145A3463008BF5C0 /* libDCIntrospect.a */, + C9E26EE8145A5165007C072D /* DCIntrospectFramework.framework */, ); name = Products; sourceTree = ""; @@ -75,6 +111,7 @@ C9183940145A35A5008BF5C0 /* UIKit.framework */, C918392C145A353E008BF5C0 /* QuartzCore.framework */, C918391B145A3463008BF5C0 /* Foundation.framework */, + C9E26EE9145A5165007C072D /* CoreFoundation.framework */, ); name = Frameworks; sourceTree = ""; @@ -92,10 +129,26 @@ C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */, C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */, C918391F145A3463008BF5C0 /* DCIntrospect-Prefix.pch */, + C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */, ); path = DCIntrospect; sourceTree = ""; }; + C9E26EEB145A5165007C072D /* DCIntrospectFramework */ = { + isa = PBXGroup; + children = ( + C9E26EEC145A5165007C072D /* Supporting Files */, + ); + path = DCIntrospectFramework; + sourceTree = ""; + }; + C9E26EEC145A5165007C072D /* Supporting Files */ = { + isa = PBXGroup; + children = ( + ); + name = "Supporting Files"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -111,6 +164,18 @@ ); 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 */ @@ -131,6 +196,24 @@ 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 /* DCIntrospectFramework.framework */; + productType = "com.apple.product-type.bundle"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -152,10 +235,39 @@ projectRoot = ""; targets = ( C9183917145A3463008BF5C0 /* DCIntrospect */, + C9E26EE7145A5165007C072D /* DCIntrospectFramework */, + C9E26F04145A5A89007C072D /* UniversalFramework */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + C9E26EE6145A5165007C072D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C9E26F03145A59CB007C072D /* DCIntrospectFramework-Info.plist in Resources */, + ); + 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.\nFMK_NAME=DCIntrospectFramework\nFMK_VERSION=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\n\n# Working dir will be deleted after the framework creation.\nWRK_DIR=build\nDEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework\nSIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework\n\n# Building both architectures.\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphoneos\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphonesimulator\n\n# Cleaning the oldest.\nif [ -d \"${INSTALL_DIR}\" ]\nthen\nrm -rf \"${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\"\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/\"\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\n#rm -r \"${WRK_DIR}\""; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ C9183914145A3463008BF5C0 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -168,6 +280,17 @@ ); 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 */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ @@ -237,6 +360,62 @@ }; 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; + INFOPLIST_FILE = "DCIntrospectFramework-Info.plist"; + 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 = "$(TARGET_NAME)"; + 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; + INFOPLIST_FILE = "DCIntrospectFramework-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + LINK_WITH_STANDARD_LIBRARIES = NO; + MACH_O_TYPE = mh_object; + MACOSX_DEPLOYMENT_TARGET = 10.7; + PRODUCT_NAME = "$(TARGET_NAME)"; + 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 */ @@ -258,6 +437,22 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C9E26EF4145A5165007C072D /* Build configuration list for PBXNativeTarget "DCIntrospectFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C9E26EF2145A5165007C072D /* Debug */, + C9E26EF3145A5165007C072D /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "UniversalFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C9E26F06145A5A89007C072D /* Debug */, + C9E26F07145A5A89007C072D /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; /* End XCConfigurationList section */ }; rootObject = C918390F145A3462008BF5C0 /* Project object */; diff --git a/DCIntrospect/DCIntrospectFramework-Info.plist b/DCIntrospect/DCIntrospectFramework-Info.plist new file mode 100644 index 0000000..c956008 --- /dev/null +++ b/DCIntrospect/DCIntrospectFramework-Info.plist @@ -0,0 +1,46 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.domesticcatsoftware.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + CFPlugInDynamicRegisterFunction + + CFPlugInDynamicRegistration + NO + CFPlugInFactories + + 00000000-0000-0000-0000-000000000000 + MyFactoryFunction + + CFPlugInTypes + + 00000000-0000-0000-0000-000000000000 + + 00000000-0000-0000-0000-000000000000 + + + CFPlugInUnloadFunction + + NSHumanReadableCopyright + Copyright © 2011 __MyCompanyName__. All rights reserved. + + From 677c9e80d95c66577fcbed7bfd127460021411c6 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 14:48:13 +1100 Subject: [PATCH 09/20] Not cleaning after every build --- .../DCIntrospect.xcodeproj/project.pbxproj | 20 +------------------ 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index 25a6e5a..f2bd261 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -61,7 +61,6 @@ 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 /* DCIntrospectFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DCIntrospectFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C9E26EE9145A5165007C072D /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DCIntrospectFramework-Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ @@ -90,7 +89,6 @@ isa = PBXGroup; children = ( C918391D145A3463008BF5C0 /* DCIntrospect */, - C9E26EEB145A5165007C072D /* DCIntrospectFramework */, C918391A145A3463008BF5C0 /* Frameworks */, C9183919145A3463008BF5C0 /* Products */, ); @@ -111,7 +109,6 @@ C9183940145A35A5008BF5C0 /* UIKit.framework */, C918392C145A353E008BF5C0 /* QuartzCore.framework */, C918391B145A3463008BF5C0 /* Foundation.framework */, - C9E26EE9145A5165007C072D /* CoreFoundation.framework */, ); name = Frameworks; sourceTree = ""; @@ -134,21 +131,6 @@ path = DCIntrospect; sourceTree = ""; }; - C9E26EEB145A5165007C072D /* DCIntrospectFramework */ = { - isa = PBXGroup; - children = ( - C9E26EEC145A5165007C072D /* Supporting Files */, - ); - path = DCIntrospectFramework; - sourceTree = ""; - }; - C9E26EEC145A5165007C072D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - ); - name = "Supporting Files"; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -264,7 +246,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Sets the target folders and the final framework product.\nFMK_NAME=DCIntrospectFramework\nFMK_VERSION=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\n\n# Working dir will be deleted after the framework creation.\nWRK_DIR=build\nDEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework\nSIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework\n\n# Building both architectures.\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphoneos\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphonesimulator\n\n# Cleaning the oldest.\nif [ -d \"${INSTALL_DIR}\" ]\nthen\nrm -rf \"${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\"\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/\"\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\n#rm -r \"${WRK_DIR}\""; + shellScript = "# Sets the target folders and the final framework product.\nFMK_NAME=DCIntrospectFramework\nFMK_VERSION=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\n\n# Working dir will be deleted after the framework creation.\nWRK_DIR=build\nDEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework\nSIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework\n\n# Building both architectures.\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphoneos\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphonesimulator\n\n# Cleaning the oldest.\nif [ -d \"${INSTALL_DIR}\" ]\nthen\nrm -rf \"${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\"\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/\"\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\n#rm -r \"${WRK_DIR}\""; }; /* End PBXShellScriptBuildPhase section */ From 815aab9856ded111c32256f23a1d02024c857e92 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 14:48:39 +1100 Subject: [PATCH 10/20] Ignoring products output directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7c4f3e6..2f0d4d7 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ tags docs/*.html docs/referencia .DS_Store +Products From d2b8ca9d45227dc198b1583b371dc6b7793af409 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 16:11:47 +1100 Subject: [PATCH 11/20] Added targets and output for universal library and framework --- .../DCIntrospect.xcodeproj/project.pbxproj | 56 +++---- .../project.pbxproj | 142 ++++++++++++++++-- 2 files changed, 157 insertions(+), 41 deletions(-) diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index f2bd261..270b0d6 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXAggregateTarget section */ - C9E26F04145A5A89007C072D /* UniversalFramework */ = { + C9E26F04145A5A89007C072D /* BundleProducts */ = { isa = PBXAggregateTarget; - buildConfigurationList = C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "UniversalFramework" */; + buildConfigurationList = C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "BundleProducts" */; buildPhases = ( C9E26F08145A5AAA007C072D /* ShellScript */, ); dependencies = ( ); - name = UniversalFramework; + name = BundleProducts; productName = UniversalFramework; }; /* End PBXAggregateTarget section */ @@ -23,14 +23,14 @@ /* 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 = (); }; }; + 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 */; }; + 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 */; }; - C918393E145A3594008BF5C0 /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; }; + 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 */; }; @@ -38,10 +38,10 @@ 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 = (); }; }; - C9E26EFF145A58C9007C072D /* DCFrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183930145A3590008BF5C0 /* DCFrameView.h */; settings = {ATTRIBUTES = (); }; }; - C9E26F00145A58DD007C072D /* DCIntrospectSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183934145A3592008BF5C0 /* DCIntrospectSettings.h */; settings = {ATTRIBUTES = (); }; }; - C9E26F01145A58DF007C072D /* DCStatusBarOverlay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */; settings = {ATTRIBUTES = (); }; }; + 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, ); }; }; C9E26F03145A59CB007C072D /* DCIntrospectFramework-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */; }; /* End PBXBuildFile section */ @@ -60,7 +60,7 @@ 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 /* DCIntrospectFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DCIntrospectFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C9E26EE8145A5165007C072D /* DCIntrospect.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DCIntrospect.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DCIntrospectFramework-Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ @@ -98,7 +98,7 @@ isa = PBXGroup; children = ( C9183918145A3463008BF5C0 /* libDCIntrospect.a */, - C9E26EE8145A5165007C072D /* DCIntrospectFramework.framework */, + C9E26EE8145A5165007C072D /* DCIntrospect.framework */, ); name = Products; sourceTree = ""; @@ -161,9 +161,9 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - C9183917145A3463008BF5C0 /* DCIntrospect */ = { + C9183917145A3463008BF5C0 /* DCIntrospectStaticLib */ = { isa = PBXNativeTarget; - buildConfigurationList = C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospect" */; + buildConfigurationList = C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospectStaticLib" */; buildPhases = ( C9183914145A3463008BF5C0 /* Sources */, C9183915145A3463008BF5C0 /* Frameworks */, @@ -173,7 +173,7 @@ ); dependencies = ( ); - name = DCIntrospect; + name = DCIntrospectStaticLib; productName = DCIntrospect; productReference = C9183918145A3463008BF5C0 /* libDCIntrospect.a */; productType = "com.apple.product-type.library.static"; @@ -193,7 +193,7 @@ ); name = DCIntrospectFramework; productName = DCIntrospectFramework; - productReference = C9E26EE8145A5165007C072D /* DCIntrospectFramework.framework */; + productReference = C9E26EE8145A5165007C072D /* DCIntrospect.framework */; productType = "com.apple.product-type.bundle"; }; /* End PBXNativeTarget section */ @@ -216,9 +216,9 @@ projectDirPath = ""; projectRoot = ""; targets = ( - C9183917145A3463008BF5C0 /* DCIntrospect */, + C9183917145A3463008BF5C0 /* DCIntrospectStaticLib */, C9E26EE7145A5165007C072D /* DCIntrospectFramework */, - C9E26F04145A5A89007C072D /* UniversalFramework */, + C9E26F04145A5A89007C072D /* BundleProducts */, ); }; /* End PBXProject section */ @@ -246,7 +246,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Sets the target folders and the final framework product.\nFMK_NAME=DCIntrospectFramework\nFMK_VERSION=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\n\n# Working dir will be deleted after the framework creation.\nWRK_DIR=build\nDEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework\nSIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework\n\n# Building both architectures.\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphoneos\nxcodebuild -configuration \"Release\" -target \"${FMK_NAME}\" -sdk iphonesimulator\n\n# Cleaning the oldest.\nif [ -d \"${INSTALL_DIR}\" ]\nthen\nrm -rf \"${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\"\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/\"\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\n#rm -r \"${WRK_DIR}\""; + 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 */ @@ -323,8 +323,8 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch"; OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PRODUCT_NAME = DCIntrospect; + PUBLIC_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME)"; SKIP_INSTALL = YES; }; name = Debug; @@ -336,8 +336,8 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch"; OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PRODUCT_NAME = DCIntrospect; + PUBLIC_HEADERS_FOLDER_PATH = "$(PRODUCT_NAME)"; SKIP_INSTALL = YES; }; name = Release; @@ -357,7 +357,7 @@ MACH_O_TYPE = mh_object; MACOSX_DEPLOYMENT_TARGET = 10.7; ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = DCIntrospect; SDKROOT = iphoneos; WRAPPER_EXTENSION = framework; }; @@ -378,7 +378,7 @@ LINK_WITH_STANDARD_LIBRARIES = NO; MACH_O_TYPE = mh_object; MACOSX_DEPLOYMENT_TARGET = 10.7; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = DCIntrospect; SDKROOT = iphoneos; WRAPPER_EXTENSION = framework; }; @@ -410,7 +410,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospect" */ = { + C9183925145A3463008BF5C0 /* Build configuration list for PBXNativeTarget "DCIntrospectStaticLib" */ = { isa = XCConfigurationList; buildConfigurations = ( C9183926145A3463008BF5C0 /* Debug */, @@ -427,7 +427,7 @@ ); defaultConfigurationIsVisible = 0; }; - C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "UniversalFramework" */ = { + C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "BundleProducts" */ = { isa = XCConfigurationList; buildConfigurations = ( C9E26F06145A5A89007C072D /* Debug */, diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj index e0ea0e4..095a5fa 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj @@ -17,7 +17,18 @@ 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 */; }; - C918394A145A377B008BF5C0 /* libDCIntrospect.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C9183949145A377B008BF5C0 /* libDCIntrospect.a */; }; + 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 PBXFileReference section */ @@ -36,7 +47,9 @@ 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 = ""; }; - C9183949145A377B008BF5C0 /* libDCIntrospect.a */ = {isa = PBXFileReference; lastKnownFileType = file; name = libDCIntrospect.a; path = "../DCIntrospect/build/Release-iphoneos/libDCIntrospect.a"; 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 = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -44,11 +57,23 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C918394A145A377B008BF5C0 /* libDCIntrospect.a in Frameworks */, 625780B2138A0EBD004DA77B /* QuartzCore.framework in Frameworks */, 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; }; @@ -68,6 +93,7 @@ isa = PBXGroup; children = ( AB0D01D0136A778000962171 /* DCIntrospectDemo.app */, + C9E26F1F145A679D007C072D /* DemoUsingFramework.app */, ); name = Products; sourceTree = ""; @@ -75,7 +101,8 @@ AB0D01D3136A778000962171 /* Frameworks */ = { isa = PBXGroup; children = ( - C9183949145A377B008BF5C0 /* libDCIntrospect.a */, + C9E26F0B145A6472007C072D /* libDCIntrospect.a */, + C9E26F22145A6E46007C072D /* DCIntrospect.framework */, 625780B1138A0EBC004DA77B /* QuartzCore.framework */, AB0D01D4136A778000962171 /* UIKit.framework */, AB0D01D6136A778000962171 /* Foundation.framework */, @@ -112,9 +139,9 @@ /* 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 */, @@ -124,11 +151,28 @@ ); dependencies = ( ); - name = DCIntrospectDemo; + name = DemoUsingStaticLib; productName = DCIntrospectDemo; productReference = AB0D01D0136A778000962171 /* DCIntrospectDemo.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 = ( + ); + name = DemoUsingFramework; + productName = DCIntrospectDemo; + productReference = C9E26F1F145A679D007C072D /* DemoUsingFramework.app */; + productType = "com.apple.product-type.application"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -149,7 +193,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - AB0D01CF136A778000962171 /* DCIntrospectDemo */, + AB0D01CF136A778000962171 /* DemoUsingStaticLib */, + C9E26F0D145A679D007C072D /* DemoUsingFramework */, ); }; /* End PBXProject section */ @@ -165,6 +210,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 */ @@ -178,6 +233,16 @@ ); 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 PBXVariantGroup section */ @@ -249,9 +314,9 @@ GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch"; GCC_WARN_SHADOW = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; - HEADER_SEARCH_PATHS = ../DCIntrospect; + HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\""; INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist"; - LIBRARY_SEARCH_PATHS = "../DCIntrospect/build/Debug-iphonesimulator"; + LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\""; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -266,15 +331,57 @@ GCC_PREFIX_HEADER = "DCIntrospectDemo/DCIntrospectDemo-Prefix.pch"; GCC_WARN_SHADOW = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; - HEADER_SEARCH_PATHS = ../DCIntrospect; + HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../Products/lib\""; INFOPLIST_FILE = "DCIntrospectDemo/DCIntrospectDemo-Info.plist"; - LIBRARY_SEARCH_PATHS = "../DCIntrospect/build/Debug-iphonesimulator"; + 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 */ @@ -287,7 +394,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AB0D01F1136A778000962171 /* Build configuration list for PBXNativeTarget "DCIntrospectDemo" */ = { + AB0D01F1136A778000962171 /* Build configuration list for PBXNativeTarget "DemoUsingStaticLib" */ = { isa = XCConfigurationList; buildConfigurations = ( AB0D01F2136A778000962171 /* Debug */, @@ -296,6 +403,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 */; From 07c3728714169f85823edc793372fa91b135f74e Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 16:12:04 +1100 Subject: [PATCH 12/20] Using static library or framework with same import style --- DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m | 2 +- .../DCIntrospectDemo/DCIntrospectDemoViewController.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m index b70ee52..e2fa029 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 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; From 4da07eebb3ea5ec88ed3285294c4035cbaa0a0ff Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 16:12:21 +1100 Subject: [PATCH 13/20] Added schemes for building all libs and demos --- .../xcschemes/BundleProducts.xcscheme | 57 +++++++++++++ .../xcschemes/DCIntrospectFramework.xcscheme | 57 +++++++++++++ .../xcschemes/DCIntrospectStaticLib.xcscheme | 57 +++++++++++++ .../xcschemes/DemoUsingFramework.xcscheme | 84 +++++++++++++++++++ .../xcschemes/DemoUsingStaticLib.xcscheme | 84 +++++++++++++++++++ 5 files changed, 339 insertions(+) create mode 100644 DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme create mode 100644 DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme create mode 100644 DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectStaticLib.xcscheme create mode 100644 DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme create mode 100644 DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingStaticLib.xcscheme diff --git a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme new file mode 100644 index 0000000..d31b619 --- /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..f057fc1 --- /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/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme new file mode 100644 index 0000000..a206c0f --- /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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 8138a6924afbcadda440c3131b6777a68d1fed30 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 16:27:50 +1100 Subject: [PATCH 14/20] Added explicit project dependency on BundleProducts --- .../project.pbxproj | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj index 095a5fa..ec32a7f 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj @@ -31,6 +31,37 @@ 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; }; @@ -50,6 +81,7 @@ 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 */ @@ -101,6 +133,7 @@ AB0D01D3136A778000962171 /* Frameworks */ = { isa = PBXGroup; children = ( + C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */, C9E26F0B145A6472007C072D /* libDCIntrospect.a */, C9E26F22145A6E46007C072D /* DCIntrospect.framework */, 625780B1138A0EBC004DA77B /* QuartzCore.framework */, @@ -136,6 +169,15 @@ name = "Supporting Files"; sourceTree = ""; }; + C9E26F25145A73B6007C072D /* Products */ = { + isa = PBXGroup; + children = ( + C9E26F2B145A73B6007C072D /* libDCIntrospect.a */, + C9E26F2D145A73B6007C072D /* DCIntrospect.framework */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -150,6 +192,7 @@ buildRules = ( ); dependencies = ( + C9E26F2F145A73D8007C072D /* PBXTargetDependency */, ); name = DemoUsingStaticLib; productName = DCIntrospectDemo; @@ -167,6 +210,7 @@ buildRules = ( ); dependencies = ( + C9E26F31145A73EB007C072D /* PBXTargetDependency */, ); name = DemoUsingFramework; productName = DCIntrospectDemo; @@ -191,6 +235,12 @@ mainGroup = AB0D01C5136A778000962171; productRefGroup = AB0D01D1136A778000962171 /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = C9E26F25145A73B6007C072D /* Products */; + ProjectRef = C9E26F24145A73B6007C072D /* DCIntrospect.xcodeproj */; + }, + ); projectRoot = ""; targets = ( AB0D01CF136A778000962171 /* DemoUsingStaticLib */, @@ -199,6 +249,23 @@ }; /* 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; @@ -245,6 +312,19 @@ }; /* 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; From f457bfa7f7fe1ac35dabe095813a2aaab2665876 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 16:46:48 +1100 Subject: [PATCH 15/20] Tweaking scheme names --- .../xcshareddata/xcschemes/BundleProducts.xcscheme | 2 +- .../xcshareddata/xcschemes/DCIntrospectFramework.xcscheme | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme index d31b619..a08b95f 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme +++ b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/BundleProducts.xcscheme @@ -14,7 +14,7 @@ diff --git a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme index f057fc1..f120d70 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme +++ b/DCIntrospect/DCIntrospect.xcodeproj/xcshareddata/xcschemes/DCIntrospectFramework.xcscheme @@ -14,7 +14,7 @@ From 018e07a7220c1e416c8ed1ad19dc4c988a0e9503 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 16:46:59 +1100 Subject: [PATCH 16/20] Removing unused plist file --- .../DCIntrospect.xcodeproj/project.pbxproj | 8 +--- DCIntrospect/DCIntrospectFramework-Info.plist | 46 ------------------- 2 files changed, 2 insertions(+), 52 deletions(-) delete mode 100644 DCIntrospect/DCIntrospectFramework-Info.plist diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index 270b0d6..4f1af77 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -42,7 +42,6 @@ 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, ); }; }; - C9E26F03145A59CB007C072D /* DCIntrospectFramework-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -61,7 +60,6 @@ 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; }; - C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DCIntrospectFramework-Info.plist"; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -126,7 +124,6 @@ C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */, C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */, C918391F145A3463008BF5C0 /* DCIntrospect-Prefix.pch */, - C9E26EED145A5165007C072D /* DCIntrospectFramework-Info.plist */, ); path = DCIntrospect; sourceTree = ""; @@ -228,7 +225,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - C9E26F03145A59CB007C072D /* DCIntrospectFramework-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -351,7 +347,6 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - INFOPLIST_FILE = "DCIntrospectFramework-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; LINK_WITH_STANDARD_LIBRARIES = NO; MACH_O_TYPE = mh_object; @@ -373,7 +368,6 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DCIntrospect-Prefix.pch"; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - INFOPLIST_FILE = "DCIntrospectFramework-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; LINK_WITH_STANDARD_LIBRARIES = NO; MACH_O_TYPE = mh_object; @@ -426,6 +420,7 @@ C9E26EF3145A5165007C072D /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; C9E26F05145A5A89007C072D /* Build configuration list for PBXAggregateTarget "BundleProducts" */ = { isa = XCConfigurationList; @@ -434,6 +429,7 @@ C9E26F07145A5A89007C072D /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/DCIntrospect/DCIntrospectFramework-Info.plist b/DCIntrospect/DCIntrospectFramework-Info.plist deleted file mode 100644 index c956008..0000000 --- a/DCIntrospect/DCIntrospectFramework-Info.plist +++ /dev/null @@ -1,46 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.domesticcatsoftware.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - CFPlugInDynamicRegisterFunction - - CFPlugInDynamicRegistration - NO - CFPlugInFactories - - 00000000-0000-0000-0000-000000000000 - MyFactoryFunction - - CFPlugInTypes - - 00000000-0000-0000-0000-000000000000 - - 00000000-0000-0000-0000-000000000000 - - - CFPlugInUnloadFunction - - NSHumanReadableCopyright - Copyright © 2011 __MyCompanyName__. All rights reserved. - - From bd0ab7a88b170eac3c685fb07f8f3939a04103ea Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 17:15:31 +1100 Subject: [PATCH 17/20] Made DCIntrospect automatically start in debug mode --- .../DCIntrospect.xcodeproj/project.pbxproj | 6 +++ DCIntrospect/DCIntrospectLoader.m | 38 +++++++++++++++++++ .../project.pbxproj | 2 + .../DCIntrospectDemoAppDelegate.m | 3 -- 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 DCIntrospect/DCIntrospectLoader.m diff --git a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj index 4f1af77..621a325 100644 --- a/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj +++ b/DCIntrospect/DCIntrospect.xcodeproj/project.pbxproj @@ -42,6 +42,8 @@ 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 */ @@ -60,6 +62,7 @@ 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 */ @@ -124,6 +127,7 @@ C9183935145A3593008BF5C0 /* DCStatusBarOverlay.h */, C9183936145A3593008BF5C0 /* DCStatusBarOverlay.m */, C918391F145A3463008BF5C0 /* DCIntrospect-Prefix.pch */, + C9E26F3D145A7AE1007C072D /* DCIntrospectLoader.m */, ); path = DCIntrospect; sourceTree = ""; @@ -255,6 +259,7 @@ C918393A145A3594008BF5C0 /* DCFrameView.m in Sources */, C918393C145A3594008BF5C0 /* DCIntrospect.m in Sources */, C918393F145A3594008BF5C0 /* DCStatusBarOverlay.m in Sources */, + C9E26F40145A7AE1007C072D /* DCIntrospectLoader.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -266,6 +271,7 @@ C9E26EF7145A584A007C072D /* DCFrameView.m in Sources */, C9E26EF8145A584A007C072D /* DCIntrospect.m in Sources */, C9E26EF9145A584A007C072D /* DCStatusBarOverlay.m in Sources */, + C9E26F41145A7AE1007C072D /* DCIntrospectLoader.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/DCIntrospect/DCIntrospectLoader.m b/DCIntrospect/DCIntrospectLoader.m new file mode 100644 index 0000000..5f85bed --- /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 + +#ifdef DEBUG + +#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 +{ + NSLog(@"Injecting DCIntrospect loader"); + [[DCIntrospect sharedIntrospector] start]; +} + ++ (void)load +{ + NSLog(@"Injecting DCIntrospect loader"); + + [[NSNotificationCenter defaultCenter] addObserver:[self class] + selector:@selector(applicationDidBecomeActive:) + name:@"UIApplicationDidBecomeActiveNotification" + object:nil]; +} + +@end + +#endif diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj index ec32a7f..2fb1ad8 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj @@ -360,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; @@ -378,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; diff --git a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m index e2fa029..2cdf8c5 100644 --- a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m +++ b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m @@ -28,9 +28,6 @@ - (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; } From 9cc3ba753c95431de863db133eca5dec695ede81 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Fri, 28 Oct 2011 17:27:49 +1100 Subject: [PATCH 18/20] Removing empty methods from template --- .../DCIntrospectDemoAppDelegate.m | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m index 2cdf8c5..7f68226 100644 --- a/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m +++ b/DCIntrospectDemo/DCIntrospectDemo/DCIntrospectDemoAppDelegate.m @@ -31,26 +31,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( 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]; From fb1067bbb122c205b60b9496953b6906a272464b Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Sat, 29 Oct 2011 11:07:20 +1100 Subject: [PATCH 19/20] Using runtime check for simulator to guard auto-loading --- DCIntrospect/DCIntrospectLoader.m | 12 ++++++------ .../DCIntrospectDemo.xcodeproj/project.pbxproj | 6 +++--- .../xcschemes/DemoUsingFramework.xcscheme | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/DCIntrospect/DCIntrospectLoader.m b/DCIntrospect/DCIntrospectLoader.m index 5f85bed..e05378b 100644 --- a/DCIntrospect/DCIntrospectLoader.m +++ b/DCIntrospect/DCIntrospectLoader.m @@ -6,8 +6,6 @@ // Based on an implementation by Pete Hodgson in Frank // https://github.com/moredip/Frank/blob/master/src/FrankLoader.m -#ifdef DEBUG - #import "DCIntrospect.h" @interface DCIntrospectLoader : NSObject @@ -19,8 +17,12 @@ @implementation DCIntrospectLoader // so the statusBarOrientation should be reported correctly + (void)applicationDidBecomeActive:(NSNotification *)notification { - NSLog(@"Injecting DCIntrospect loader"); - [[DCIntrospect sharedIntrospector] start]; + NSString *simulatorRoot = [[[NSProcessInfo processInfo] environment] objectForKey:@"IPHONE_SIMULATOR_ROOT"]; + if (simulatorRoot) + { + NSLog(@"Running in simulator, loading DCIntrospect"); + [[DCIntrospect sharedIntrospector] start]; + } } + (void)load @@ -34,5 +36,3 @@ + (void)load } @end - -#endif diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj index 2fb1ad8..4961776 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/project.pbxproj @@ -65,7 +65,7 @@ /* 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; }; @@ -124,7 +124,7 @@ AB0D01D1136A778000962171 /* Products */ = { isa = PBXGroup; children = ( - AB0D01D0136A778000962171 /* DCIntrospectDemo.app */, + AB0D01D0136A778000962171 /* DemoUsingStaticLib.app */, C9E26F1F145A679D007C072D /* DemoUsingFramework.app */, ); name = Products; @@ -196,7 +196,7 @@ ); name = DemoUsingStaticLib; productName = DCIntrospectDemo; - productReference = AB0D01D0136A778000962171 /* DCIntrospectDemo.app */; + productReference = AB0D01D0136A778000962171 /* DemoUsingStaticLib.app */; productType = "com.apple.product-type.application"; }; C9E26F0D145A679D007C072D /* DemoUsingFramework */ = { diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme index a206c0f..aaf806a 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ @@ -50,7 +50,7 @@ @@ -68,7 +68,7 @@ From db39e8e7e277be2ea96a9a002983b53fa6be4a44 Mon Sep 17 00:00:00 2001 From: Stewart Gleadow Date: Sat, 29 Oct 2011 11:08:41 +1100 Subject: [PATCH 20/20] Renaming target in scheme --- .../xcshareddata/xcschemes/DemoUsingFramework.xcscheme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme index a206c0f..aaf806a 100644 --- a/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme +++ b/DCIntrospectDemo/DCIntrospectDemo.xcodeproj/xcshareddata/xcschemes/DemoUsingFramework.xcscheme @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ @@ -50,7 +50,7 @@ @@ -68,7 +68,7 @@