From 0d3d49707887c7f1bd8969587074da11943f9cce Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 30 Sep 2015 19:34:59 +0100 Subject: [PATCH 1/8] Added Framework target for Carthage compatibility. --- .gitignore | 1 - RMStore.xcodeproj/project.pbxproj | 191 +++++++++++++++++- .../contents.xcworkspacedata | 7 + .../xcshareddata/xcschemes/RMStore.xcscheme | 22 +- .../xcschemes/RMStoreDemo.xcscheme | 19 +- .../RMStoreExcludeKeychainTests.xcscheme | 22 +- .../xcschemes/RMStoreFramework.xcscheme | 80 ++++++++ RMStoreDemo/RMStoreDemo-Info.plist | 2 +- RMStoreFramework/Info.plist | 26 +++ RMStoreFramework/RMStoreFramework.h | 19 ++ RMStoreTests/RMStoreTests-Info.plist | 2 +- 11 files changed, 369 insertions(+), 22 deletions(-) create mode 100644 RMStore.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 RMStore.xcodeproj/xcshareddata/xcschemes/RMStoreFramework.xcscheme create mode 100644 RMStoreFramework/Info.plist create mode 100644 RMStoreFramework/RMStoreFramework.h diff --git a/.gitignore b/.gitignore index 89c499e4..4c8c4435 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ build/ !default.mode2v3 *.perspectivev3 !default.perspectivev3 -*.xcworkspace !default.xcworkspace xcuserdata profile diff --git a/RMStore.xcodeproj/project.pbxproj b/RMStore.xcodeproj/project.pbxproj index c78a867d..b5f2bc41 100644 --- a/RMStore.xcodeproj/project.pbxproj +++ b/RMStore.xcodeproj/project.pbxproj @@ -7,6 +7,17 @@ objects = { /* Begin PBXBuildFile section */ + 4C44620E1BBB2369003C0D7D /* RMStoreFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C44620D1BBB2369003C0D7D /* RMStoreFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4C4462131BBB2391003C0D7D /* RMStore.m in Sources */ = {isa = PBXBuildFile; fileRef = A0AF3D1217A802F300D2E836 /* RMStore.m */; settings = {ASSET_TAGS = (); }; }; + 4C4462141BBB2396003C0D7D /* RMStore.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AF3D1017A802F300D2E836 /* RMStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4C4462151BBB2403003C0D7D /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0AF3D3317A8059900D2E836 /* StoreKit.framework */; }; + 4C4462161BBB241E003C0D7D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0AF3D0B17A802F300D2E836 /* Foundation.framework */; }; + 4CBA895B1BBC5A8400913336 /* RMStoreKeychainPersistence.h in Headers */ = {isa = PBXBuildFile; fileRef = 876046471812FB7500C9B78C /* RMStoreKeychainPersistence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4CBA895C1BBC5A8B00913336 /* RMStoreKeychainPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 876046481812FB7500C9B78C /* RMStoreKeychainPersistence.m */; settings = {ASSET_TAGS = (); }; }; + 4CBA895D1BBC5AB200913336 /* RMStoreTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 876631F8180EEBF40049B368 /* RMStoreTransaction.m */; settings = {ASSET_TAGS = (); }; }; + 4CBA895E1BBC5ABF00913336 /* RMStoreTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 876631F7180EEBF40049B368 /* RMStoreTransaction.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 4CBA89601BBC5AE400913336 /* RMStoreUserDefaultsPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 87A2A3A8180E82BB00376773 /* RMStoreUserDefaultsPersistence.m */; settings = {ASSET_TAGS = (); }; }; + 4CBA89611BBC5AE800913336 /* RMStoreUserDefaultsPersistence.h in Headers */ = {isa = PBXBuildFile; fileRef = 87A2A3A7180E82BB00376773 /* RMStoreUserDefaultsPersistence.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8700D1C117DCA548005C8F5D /* NSNotification+RMStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8700D1C017DCA548005C8F5D /* NSNotification+RMStoreTests.m */; }; 8700D1D717DCB011005C8F5D /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8700D1D617DCB011005C8F5D /* libOCMock.a */; }; 876046491812FB7500C9B78C /* RMStoreKeychainPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 876046481812FB7500C9B78C /* RMStoreKeychainPersistence.m */; }; @@ -86,6 +97,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 4C44620B1BBB2369003C0D7D /* RMStore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RMStore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4C44620D1BBB2369003C0D7D /* RMStoreFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RMStoreFramework.h; sourceTree = ""; }; + 4C44620F1BBB2369003C0D7D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 8700D1C017DCA548005C8F5D /* NSNotification+RMStoreTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSNotification+RMStoreTests.m"; sourceTree = ""; }; 8700D1CF17DCB011005C8F5D /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; 8700D1D017DCB011005C8F5D /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; @@ -152,6 +166,15 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 4C4462071BBB2369003C0D7D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4C4462161BBB241E003C0D7D /* Foundation.framework in Frameworks */, + 4C4462151BBB2403003C0D7D /* StoreKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; A0AF3D0517A802F300D2E836 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -194,6 +217,15 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 4C44620C1BBB2369003C0D7D /* RMStoreFramework */ = { + isa = PBXGroup; + children = ( + 4C44620D1BBB2369003C0D7D /* RMStoreFramework.h */, + 4C44620F1BBB2369003C0D7D /* Info.plist */, + ); + path = RMStoreFramework; + sourceTree = ""; + }; 8700D1CC17DCB011005C8F5D /* usr */ = { isa = PBXGroup; children = ( @@ -258,6 +290,7 @@ A0AF3D0D17A802F300D2E836 /* RMStore */, A0AF3D2217A802F300D2E836 /* RMStoreTests */, A0AF3D7617A8085900D2E836 /* RMStoreDemo */, + 4C44620C1BBB2369003C0D7D /* RMStoreFramework */, A0AF3D0A17A802F300D2E836 /* Frameworks */, A0AF3D0917A802F300D2E836 /* Products */, ); @@ -269,6 +302,7 @@ A0AF3D0817A802F300D2E836 /* libRMStore.a */, A0AF3D1917A802F300D2E836 /* RMStoreTests.xctest */, A0AF3D7217A8085900D2E836 /* RMStoreDemo.app */, + 4C44620B1BBB2369003C0D7D /* RMStore.framework */, ); name = Products; sourceTree = ""; @@ -369,7 +403,40 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 4C4462081BBB2369003C0D7D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 4CBA89611BBC5AE800913336 /* RMStoreUserDefaultsPersistence.h in Headers */, + 4CBA895B1BBC5A8400913336 /* RMStoreKeychainPersistence.h in Headers */, + 4C44620E1BBB2369003C0D7D /* RMStoreFramework.h in Headers */, + 4CBA895E1BBC5ABF00913336 /* RMStoreTransaction.h in Headers */, + 4C4462141BBB2396003C0D7D /* RMStore.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ + 4C44620A1BBB2369003C0D7D /* RMStoreFramework */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4C4462101BBB2369003C0D7D /* Build configuration list for PBXNativeTarget "RMStoreFramework" */; + buildPhases = ( + 4C4462061BBB2369003C0D7D /* Sources */, + 4C4462071BBB2369003C0D7D /* Frameworks */, + 4C4462081BBB2369003C0D7D /* Headers */, + 4C4462091BBB2369003C0D7D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RMStoreFramework; + productName = RMStoreFramework; + productReference = 4C44620B1BBB2369003C0D7D /* RMStore.framework */; + productType = "com.apple.product-type.framework"; + }; A0AF3D0717A802F300D2E836 /* RMStore */ = { isa = PBXNativeTarget; buildConfigurationList = A0AF3D2D17A802F300D2E836 /* Build configuration list for PBXNativeTarget "RMStore" */; @@ -403,7 +470,7 @@ name = RMStoreTests; productName = RMStoreTests; productReference = A0AF3D1917A802F300D2E836 /* RMStoreTests.xctest */; - productType = "com.apple.product-type.bundle"; + productType = "com.apple.product-type.bundle.unit-test"; }; A0AF3D7117A8085900D2E836 /* RMStoreDemo */ = { isa = PBXNativeTarget; @@ -428,8 +495,13 @@ A0AF3D0017A802F300D2E836 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0510; + LastUpgradeCheck = 0700; ORGANIZATIONNAME = "Robot Media"; + TargetAttributes = { + 4C44620A1BBB2369003C0D7D = { + CreatedOnToolsVersion = 7.0; + }; + }; }; buildConfigurationList = A0AF3D0317A802F300D2E836 /* Build configuration list for PBXProject "RMStore" */; compatibilityVersion = "Xcode 3.2"; @@ -446,11 +518,19 @@ A0AF3D0717A802F300D2E836 /* RMStore */, A0AF3D1817A802F300D2E836 /* RMStoreTests */, A0AF3D7117A8085900D2E836 /* RMStoreDemo */, + 4C44620A1BBB2369003C0D7D /* RMStoreFramework */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 4C4462091BBB2369003C0D7D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; A0AF3D1617A802F300D2E836 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -474,6 +554,17 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 4C4462061BBB2369003C0D7D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4CBA895D1BBC5AB200913336 /* RMStoreTransaction.m in Sources */, + 4CBA895C1BBC5A8B00913336 /* RMStoreKeychainPersistence.m in Sources */, + 4C4462131BBB2391003C0D7D /* RMStore.m in Sources */, + 4CBA89601BBC5AE400913336 /* RMStoreUserDefaultsPersistence.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; A0AF3D0417A802F300D2E836 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -553,6 +644,88 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 4C4462111BBB2369003C0D7D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + 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; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = RMStoreFramework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ""; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_BUNDLE_IDENTIFIER = net.robotmedia.RMStoreFramework; + PRODUCT_NAME = RMStore; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 4C4462121BBB2369003C0D7D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + 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; + HEADER_SEARCH_PATHS = ""; + INFOPLIST_FILE = RMStoreFramework/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ""; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_BUNDLE_IDENTIFIER = net.robotmedia.RMStoreFramework; + PRODUCT_NAME = RMStore; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; A0AF3D2B17A802F300D2E836 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -566,6 +739,7 @@ CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; @@ -677,6 +851,7 @@ "\"$(SRCROOT)/RMStoreTests/usr/lib\"", ); OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = "net.robotmedia.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = xctest; }; @@ -702,6 +877,7 @@ "\"$(SRCROOT)/RMStoreTests/usr/lib\"", ); OTHER_LDFLAGS = "-ObjC"; + PRODUCT_BUNDLE_IDENTIFIER = "net.robotmedia.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = xctest; }; @@ -727,6 +903,7 @@ "$(inherited)", "RMStore/Optional/openssl-1.0.1e/lib", ); + PRODUCT_BUNDLE_IDENTIFIER = net.robotmedia.test; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -753,6 +930,7 @@ "RMStore/Optional/openssl-1.0.1e/lib", ); OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; + PRODUCT_BUNDLE_IDENTIFIER = net.robotmedia.test; PRODUCT_NAME = "$(TARGET_NAME)"; WRAPPER_EXTENSION = app; }; @@ -761,6 +939,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 4C4462101BBB2369003C0D7D /* Build configuration list for PBXNativeTarget "RMStoreFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4C4462111BBB2369003C0D7D /* Debug */, + 4C4462121BBB2369003C0D7D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; A0AF3D0317A802F300D2E836 /* Build configuration list for PBXProject "RMStore" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/RMStore.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/RMStore.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/RMStore.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/RMStore.xcodeproj/xcshareddata/xcschemes/RMStore.xcscheme b/RMStore.xcodeproj/xcshareddata/xcschemes/RMStore.xcscheme index eac20e95..4206c70b 100644 --- a/RMStore.xcodeproj/xcshareddata/xcschemes/RMStore.xcscheme +++ b/RMStore.xcodeproj/xcshareddata/xcschemes/RMStore.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -48,24 +48,36 @@ + + + + + + + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -38,17 +38,21 @@ ReferencedContainer = "container:RMStore.xcodeproj"> + + - + - + + shouldUseLaunchSchemeArgsEnv = "YES"> @@ -44,24 +44,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RMStoreDemo/RMStoreDemo-Info.plist b/RMStoreDemo/RMStoreDemo-Info.plist index 5829e27f..b7bc4ba1 100644 --- a/RMStoreDemo/RMStoreDemo-Info.plist +++ b/RMStoreDemo/RMStoreDemo-Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - net.robotmedia.test + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/RMStoreFramework/Info.plist b/RMStoreFramework/Info.plist new file mode 100644 index 00000000..d3de8eef --- /dev/null +++ b/RMStoreFramework/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + NSPrincipalClass + + + diff --git a/RMStoreFramework/RMStoreFramework.h b/RMStoreFramework/RMStoreFramework.h new file mode 100644 index 00000000..37aa59bc --- /dev/null +++ b/RMStoreFramework/RMStoreFramework.h @@ -0,0 +1,19 @@ +// +// RMStoreFramework.h +// RMStoreFramework +// +// Created by Michael Brown on 29/09/2015. +// Copyright © 2015 Robot Media. All rights reserved. +// + +#import + +//! Project version number for RMStoreFramework. +FOUNDATION_EXPORT double RMStoreFrameworkVersionNumber; + +//! Project version string for RMStoreFramework. +FOUNDATION_EXPORT const unsigned char RMStoreFrameworkVersionString[]; + +#import "RMStore.h" +#import "RMStoreKeychainPersistence.h" +#import "RMSToreUserDefaultsPersistence.h" diff --git a/RMStoreTests/RMStoreTests-Info.plist b/RMStoreTests/RMStoreTests-Info.plist index 7dc88e37..169b6f71 100644 --- a/RMStoreTests/RMStoreTests-Info.plist +++ b/RMStoreTests/RMStoreTests-Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIdentifier - net.robotmedia.${PRODUCT_NAME:rfc1034identifier} + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType From bb32c7864cb9cbbe20dc7b038a4510528ed5a563 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 30 Sep 2015 19:46:44 +0100 Subject: [PATCH 2/8] Update README.md to add Carthage info. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 8e9a1d6e..f4e387c3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ #RMStore [![Version](https://cocoapod-badges.herokuapp.com/v/RMStore/badge.png)](http://cocoadocs.org/docsets/RMStore) [![Platform](https://cocoapod-badges.herokuapp.com/p/RMStore/badge.png)](http://cocoadocs.org/docsets/RMStore) [![Build Status](https://travis-ci.org/robotmedia/RMStore.png)](https://travis-ci.org/robotmedia/RMStore) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) A lightweight iOS library for In-App Purchases. @@ -26,6 +27,13 @@ Or add the files from the [RMStore](https://github.com/robotmedia/RMStore/tree/m Check out the [wiki](https://github.com/robotmedia/RMStore/wiki/Installation) for more options. +Using [Carthage](https://github.com/Carthage/Carthage) +- add this repo to your [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile) +- `@import RMStore;` (Objective-C) +- `import RMStore` (Swift) + +Note that the Carthage framework target does not include [Receipt Verification](https://github.com/robotmedia/RMStore/wiki/Receipt-verification) code as this code should always be linked directly into your application and not be in a dynamic framework for security reasons. + ##StoreKit with blocks RMStore adds blocks to all asynchronous StoreKit operations. From 3f826ea1c8bcd354e9f69d1595cf6ce87cec82b3 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 30 Sep 2015 19:47:13 +0100 Subject: [PATCH 3/8] Typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f4e387c3..2278e63f 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Or add the files from the [RMStore](https://github.com/robotmedia/RMStore/tree/m Check out the [wiki](https://github.com/robotmedia/RMStore/wiki/Installation) for more options. -Using [Carthage](https://github.com/Carthage/Carthage) +Using [Carthage](https://github.com/Carthage/Carthage): - add this repo to your [Cartfile](https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile) - `@import RMStore;` (Objective-C) - `import RMStore` (Swift) From 16160644115407c7efda7cff2181e97aae79b2d3 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 30 Sep 2015 23:41:21 +0100 Subject: [PATCH 4/8] Fixed typo in header name --- RMStoreFramework/RMStoreFramework.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RMStoreFramework/RMStoreFramework.h b/RMStoreFramework/RMStoreFramework.h index 37aa59bc..1421dd67 100644 --- a/RMStoreFramework/RMStoreFramework.h +++ b/RMStoreFramework/RMStoreFramework.h @@ -16,4 +16,4 @@ FOUNDATION_EXPORT const unsigned char RMStoreFrameworkVersionString[]; #import "RMStore.h" #import "RMStoreKeychainPersistence.h" -#import "RMSToreUserDefaultsPersistence.h" +#import "RMStoreUserDefaultsPersistence.h" From 795228aebfc74f813c61a7d8a3e8e58f2c75e571 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 1 Oct 2015 00:20:45 +0100 Subject: [PATCH 5/8] Added Module Map File to fix exports --- RMStoreFramework/RMStore.modulemap | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 RMStoreFramework/RMStore.modulemap diff --git a/RMStoreFramework/RMStore.modulemap b/RMStoreFramework/RMStore.modulemap new file mode 100644 index 00000000..45f3f392 --- /dev/null +++ b/RMStoreFramework/RMStore.modulemap @@ -0,0 +1,6 @@ +framework module RMStore { + umbrella header "RMStoreFramework.h" + + export * + module * { export * } +} \ No newline at end of file From 98e5192a4c52b52e843b189d2c7cafbf38b6ea2b Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 1 Oct 2015 00:27:43 +0100 Subject: [PATCH 6/8] Fixed the name of the module map file. --- RMStore.xcodeproj/project.pbxproj | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RMStore.xcodeproj/project.pbxproj b/RMStore.xcodeproj/project.pbxproj index b5f2bc41..e54c5520 100644 --- a/RMStore.xcodeproj/project.pbxproj +++ b/RMStore.xcodeproj/project.pbxproj @@ -100,6 +100,7 @@ 4C44620B1BBB2369003C0D7D /* RMStore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RMStore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4C44620D1BBB2369003C0D7D /* RMStoreFramework.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RMStoreFramework.h; sourceTree = ""; }; 4C44620F1BBB2369003C0D7D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 4CBA896A1BBCA48100913336 /* RMStore.modulemap */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = RMStore.modulemap; sourceTree = ""; }; 8700D1C017DCA548005C8F5D /* NSNotification+RMStoreTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSNotification+RMStoreTests.m"; sourceTree = ""; }; 8700D1CF17DCB011005C8F5D /* NSNotificationCenter+OCMAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNotificationCenter+OCMAdditions.h"; sourceTree = ""; }; 8700D1D017DCB011005C8F5D /* OCMArg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCMArg.h; sourceTree = ""; }; @@ -222,6 +223,7 @@ children = ( 4C44620D1BBB2369003C0D7D /* RMStoreFramework.h */, 4C44620F1BBB2369003C0D7D /* Info.plist */, + 4CBA896A1BBCA48100913336 /* RMStore.modulemap */, ); path = RMStoreFramework; sourceTree = ""; @@ -676,6 +678,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ""; + MODULEMAP_FILE = RMStoreFramework/RMStore.modulemap; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = net.robotmedia.RMStoreFramework; PRODUCT_NAME = RMStore; @@ -716,6 +719,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ""; + MODULEMAP_FILE = RMStoreFramework/RMStore.modulemap; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = net.robotmedia.RMStoreFramework; PRODUCT_NAME = RMStore; From b5eac6a94bf6c0496360418c6ed64ef5ad88e61f Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 9 Oct 2015 21:35:40 +0100 Subject: [PATCH 7/8] Added bitcode support as defined in https://github.com/Carthage/Carthage/issues/535 --- RMStore.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RMStore.xcodeproj/project.pbxproj b/RMStore.xcodeproj/project.pbxproj index e54c5520..27d04bcf 100644 --- a/RMStore.xcodeproj/project.pbxproj +++ b/RMStore.xcodeproj/project.pbxproj @@ -649,6 +649,7 @@ 4C4462111BBB2369003C0D7D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + BITCODE_GENERATION_MODE = marker; CLANG_ENABLE_MODULES = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; @@ -692,6 +693,7 @@ 4C4462121BBB2369003C0D7D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + BITCODE_GENERATION_MODE = bitcode; CLANG_ENABLE_MODULES = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; From 9f5a865a1fb3d1a01259fd1d14a5b7cd6698117c Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 4 Nov 2015 11:56:41 +0000 Subject: [PATCH 8/8] Change Framework deployment target to iOS 8.0 --- RMStore.xcodeproj/project.pbxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/RMStore.xcodeproj/project.pbxproj b/RMStore.xcodeproj/project.pbxproj index 27d04bcf..b4883576 100644 --- a/RMStore.xcodeproj/project.pbxproj +++ b/RMStore.xcodeproj/project.pbxproj @@ -8,15 +8,15 @@ /* Begin PBXBuildFile section */ 4C44620E1BBB2369003C0D7D /* RMStoreFramework.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C44620D1BBB2369003C0D7D /* RMStoreFramework.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4C4462131BBB2391003C0D7D /* RMStore.m in Sources */ = {isa = PBXBuildFile; fileRef = A0AF3D1217A802F300D2E836 /* RMStore.m */; settings = {ASSET_TAGS = (); }; }; + 4C4462131BBB2391003C0D7D /* RMStore.m in Sources */ = {isa = PBXBuildFile; fileRef = A0AF3D1217A802F300D2E836 /* RMStore.m */; }; 4C4462141BBB2396003C0D7D /* RMStore.h in Headers */ = {isa = PBXBuildFile; fileRef = A0AF3D1017A802F300D2E836 /* RMStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4C4462151BBB2403003C0D7D /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0AF3D3317A8059900D2E836 /* StoreKit.framework */; }; 4C4462161BBB241E003C0D7D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A0AF3D0B17A802F300D2E836 /* Foundation.framework */; }; 4CBA895B1BBC5A8400913336 /* RMStoreKeychainPersistence.h in Headers */ = {isa = PBXBuildFile; fileRef = 876046471812FB7500C9B78C /* RMStoreKeychainPersistence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4CBA895C1BBC5A8B00913336 /* RMStoreKeychainPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 876046481812FB7500C9B78C /* RMStoreKeychainPersistence.m */; settings = {ASSET_TAGS = (); }; }; - 4CBA895D1BBC5AB200913336 /* RMStoreTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 876631F8180EEBF40049B368 /* RMStoreTransaction.m */; settings = {ASSET_TAGS = (); }; }; + 4CBA895C1BBC5A8B00913336 /* RMStoreKeychainPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 876046481812FB7500C9B78C /* RMStoreKeychainPersistence.m */; }; + 4CBA895D1BBC5AB200913336 /* RMStoreTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 876631F8180EEBF40049B368 /* RMStoreTransaction.m */; }; 4CBA895E1BBC5ABF00913336 /* RMStoreTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 876631F7180EEBF40049B368 /* RMStoreTransaction.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 4CBA89601BBC5AE400913336 /* RMStoreUserDefaultsPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 87A2A3A8180E82BB00376773 /* RMStoreUserDefaultsPersistence.m */; settings = {ASSET_TAGS = (); }; }; + 4CBA89601BBC5AE400913336 /* RMStoreUserDefaultsPersistence.m in Sources */ = {isa = PBXBuildFile; fileRef = 87A2A3A8180E82BB00376773 /* RMStoreUserDefaultsPersistence.m */; }; 4CBA89611BBC5AE800913336 /* RMStoreUserDefaultsPersistence.h in Headers */ = {isa = PBXBuildFile; fileRef = 87A2A3A7180E82BB00376773 /* RMStoreUserDefaultsPersistence.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8700D1C117DCA548005C8F5D /* NSNotification+RMStoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8700D1C017DCA548005C8F5D /* NSNotification+RMStoreTests.m */; }; 8700D1D717DCB011005C8F5D /* libOCMock.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8700D1D617DCB011005C8F5D /* libOCMock.a */; }; @@ -676,7 +676,7 @@ HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = RMStoreFramework/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ""; MODULEMAP_FILE = RMStoreFramework/RMStore.modulemap; @@ -718,7 +718,7 @@ HEADER_SEARCH_PATHS = ""; INFOPLIST_FILE = RMStoreFramework/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; LIBRARY_SEARCH_PATHS = ""; MODULEMAP_FILE = RMStoreFramework/RMStore.modulemap;