diff --git a/Aspects.m b/Aspects.m index c907066..612fd36 100644 --- a/Aspects.m +++ b/Aspects.m @@ -45,7 +45,7 @@ - (id)initWithInstance:(__unsafe_unretained id)instance invocation:(NSInvocation @end // Tracks a single aspect. -@interface AspectIdentifier : NSObject +@interface AspectIdentifier : NSObject + (instancetype)identifierWithSelector:(SEL)selector object:(id)object options:(AspectOptions)options block:(id)block error:(NSError **)error; - (BOOL)invokeWithInfo:(id)info; @property (nonatomic, assign) SEL selector; diff --git a/AspectsDemo/AspectsDemo.xcodeproj/project.pbxproj b/AspectsDemo/AspectsDemo.xcodeproj/project.pbxproj index ecec2b8..acb3d0b 100644 --- a/AspectsDemo/AspectsDemo.xcodeproj/project.pbxproj +++ b/AspectsDemo/AspectsDemo.xcodeproj/project.pbxproj @@ -202,7 +202,7 @@ isa = PBXProject; attributes = { CLASSPREFIX = Aspects; - LastUpgradeCheck = 0510; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "PSPDFKit GmbH"; TargetAttributes = { 78573F0B19155A2E000D3B00 = { @@ -307,18 +307,30 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -331,7 +343,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -363,25 +375,36 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -413,6 +436,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "AspectsDemo/AspectsDemo-Prefix.pch"; INFOPLIST_FILE = "AspectsDemo/AspectsDemo-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.pspdfkit.aspects.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -426,6 +450,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "AspectsDemo/AspectsDemo-Prefix.pch"; INFOPLIST_FILE = "AspectsDemo/AspectsDemo-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.pspdfkit.aspects.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -447,6 +472,7 @@ "$(inherited)", ); INFOPLIST_FILE = "AspectsDemoTests/AspectsDemoTests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.pspdfkit.aspects.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; @@ -465,6 +491,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "AspectsDemo/AspectsDemo-Prefix.pch"; INFOPLIST_FILE = "AspectsDemoTests/AspectsDemoTests-Info.plist"; + PRODUCT_BUNDLE_IDENTIFIER = "com.pspdfkit.aspects.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; WRAPPER_EXTENSION = xctest; diff --git a/AspectsDemo/AspectsDemo.xcodeproj/xcshareddata/xcschemes/AspectsDemo.xcscheme b/AspectsDemo/AspectsDemo.xcodeproj/xcshareddata/xcschemes/AspectsDemo.xcscheme index 1b0cf72..9cdc51f 100644 --- a/AspectsDemo/AspectsDemo.xcodeproj/xcshareddata/xcschemes/AspectsDemo.xcscheme +++ b/AspectsDemo/AspectsDemo.xcodeproj/xcshareddata/xcschemes/AspectsDemo.xcscheme @@ -1,6 +1,6 @@ + language = "" + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -48,17 +49,22 @@ ReferencedContainer = "container:AspectsDemo.xcodeproj"> + + - + - + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.pspdfkit.aspects.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/AspectsDemo/AspectsDemo/AspectsViewController.xib b/AspectsDemo/AspectsDemo/AspectsViewController.xib index 2e4af86..f962150 100644 --- a/AspectsDemo/AspectsDemo/AspectsViewController.xib +++ b/AspectsDemo/AspectsDemo/AspectsViewController.xib @@ -1,8 +1,12 @@ - - + + + + + - - + + + @@ -12,29 +16,26 @@ - + - + - - diff --git a/AspectsDemo/AspectsDemoTests/AspectsDemoTests-Info.plist b/AspectsDemo/AspectsDemoTests/AspectsDemoTests-Info.plist index e4881ad..169b6f7 100644 --- a/AspectsDemo/AspectsDemoTests/AspectsDemoTests-Info.plist +++ b/AspectsDemo/AspectsDemoTests/AspectsDemoTests-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - com.pspdfkit.aspects.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType