diff --git a/.cocoadocs.yml b/.cocoadocs.yml deleted file mode 100644 index c9da4401..00000000 --- a/.cocoadocs.yml +++ /dev/null @@ -1,12 +0,0 @@ -highlight-font: '"AvenirNext-Medium", "GT Walsheim", "gt_walsheim_regular", "Avant Garde Gothic ITCW01Dm", "Avant Garde", "Helvetica Neue", "Arial"' - -body: '"AvenirNext-Regular", "Helvetica Neue", "Arial", san-serif' -code: '"Menlo", "Monaco", "Courier New", monospace' - -highlight-color: "#016FC4" -highlight-dark-color: "#385581" -darker-color: "#C7C7C7" -darker-dark-color: "#4A4A4A" -background-color: "#F2F2F2" -alt-link-color: "#53E3C2" -warning-color: "#D6AD88" diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6cdf68ff..00000000 --- a/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ -language: objective-c - -osx_image: xcode8.1 - -branches: - only: - - master - -before_install: - - bundle - - pod install --project-directory=Tests - -env: - global: - - WORKSPACE="Tests/Tests.xcworkspace" - - SCHEME="Tests" - - DESTINATION="Tests" - - SDK="iphonesimulator10.1" - - DESTINATION="name=iPhone 6,OS=10.1" - -script: - - set -o pipefail - - xcodebuild build-for-testing test-without-building -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" ONLY_ACTIVE_ARCH=YES | xcpretty -c diff --git a/Button.bundle/BTNAlertView~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNAlertView~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 77986f16..00000000 Binary files a/Button.bundle/BTNAlertView~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNAlertView~ipad.nib/runtime.nib b/Button.bundle/BTNAlertView~ipad.nib/runtime.nib deleted file mode 100644 index cdba6f7f..00000000 Binary files a/Button.bundle/BTNAlertView~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNAlertView~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNAlertView~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 765c36c3..00000000 Binary files a/Button.bundle/BTNAlertView~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNAlertView~iphone.nib/runtime.nib b/Button.bundle/BTNAlertView~iphone.nib/runtime.nib deleted file mode 100644 index 2c750295..00000000 Binary files a/Button.bundle/BTNAlertView~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNAuthViewController.nib b/Button.bundle/BTNAuthViewController.nib index b5680dc1..5ed92c4e 100644 Binary files a/Button.bundle/BTNAuthViewController.nib and b/Button.bundle/BTNAuthViewController.nib differ diff --git a/Button.bundle/BTNBaseModalController.nib b/Button.bundle/BTNBaseModalController.nib index fc65c26c..2e527af5 100644 Binary files a/Button.bundle/BTNBaseModalController.nib and b/Button.bundle/BTNBaseModalController.nib differ diff --git a/Button.bundle/BTNDefaultItemButton.nib b/Button.bundle/BTNDefaultItemButton.nib index 75486b8e..ce7059b9 100644 Binary files a/Button.bundle/BTNDefaultItemButton.nib and b/Button.bundle/BTNDefaultItemButton.nib differ diff --git a/Button.bundle/BTNDefaultItemButton~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNDefaultItemButton~ipad.nib/objects-8.0+.nib deleted file mode 100644 index a586f96b..00000000 Binary files a/Button.bundle/BTNDefaultItemButton~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNDefaultItemButton~ipad.nib/runtime.nib b/Button.bundle/BTNDefaultItemButton~ipad.nib/runtime.nib deleted file mode 100644 index 0d1646a6..00000000 Binary files a/Button.bundle/BTNDefaultItemButton~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNDefaultItemButton~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNDefaultItemButton~iphone.nib/objects-8.0+.nib deleted file mode 100644 index b17b21c5..00000000 Binary files a/Button.bundle/BTNDefaultItemButton~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNDefaultItemButton~iphone.nib/runtime.nib b/Button.bundle/BTNDefaultItemButton~iphone.nib/runtime.nib deleted file mode 100644 index f071efb3..00000000 Binary files a/Button.bundle/BTNDefaultItemButton~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNGroupNameCell.nib b/Button.bundle/BTNGroupNameCell.nib index 001d017d..f3488663 100644 Binary files a/Button.bundle/BTNGroupNameCell.nib and b/Button.bundle/BTNGroupNameCell.nib differ diff --git a/Button.bundle/BTNGroupNameCell~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNGroupNameCell~ipad.nib/objects-8.0+.nib deleted file mode 100644 index f56d6963..00000000 Binary files a/Button.bundle/BTNGroupNameCell~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNGroupNameCell~ipad.nib/runtime.nib b/Button.bundle/BTNGroupNameCell~ipad.nib/runtime.nib deleted file mode 100644 index fe90612a..00000000 Binary files a/Button.bundle/BTNGroupNameCell~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNGroupNameCell~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNGroupNameCell~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 06d098df..00000000 Binary files a/Button.bundle/BTNGroupNameCell~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNGroupNameCell~iphone.nib/runtime.nib b/Button.bundle/BTNGroupNameCell~iphone.nib/runtime.nib deleted file mode 100644 index 4cf53f07..00000000 Binary files a/Button.bundle/BTNGroupNameCell~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInstallBannerView.nib b/Button.bundle/BTNInstallBannerView.nib index c40225dd..e5a62eda 100644 Binary files a/Button.bundle/BTNInstallBannerView.nib and b/Button.bundle/BTNInstallBannerView.nib differ diff --git a/Button.bundle/BTNInstallBannerView~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInstallBannerView~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 577e36be..00000000 Binary files a/Button.bundle/BTNInstallBannerView~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInstallBannerView~ipad.nib/runtime.nib b/Button.bundle/BTNInstallBannerView~ipad.nib/runtime.nib deleted file mode 100644 index 279f7edf..00000000 Binary files a/Button.bundle/BTNInstallBannerView~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInstallBannerView~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInstallBannerView~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 22972ec0..00000000 Binary files a/Button.bundle/BTNInstallBannerView~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInstallBannerView~iphone.nib/runtime.nib b/Button.bundle/BTNInstallBannerView~iphone.nib/runtime.nib deleted file mode 100644 index 28bf01ae..00000000 Binary files a/Button.bundle/BTNInstallBannerView~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonContentView.nib b/Button.bundle/BTNInteractiveButtonContentView.nib index 39813d92..8440aec5 100644 Binary files a/Button.bundle/BTNInteractiveButtonContentView.nib and b/Button.bundle/BTNInteractiveButtonContentView.nib differ diff --git a/Button.bundle/BTNInteractiveButtonContentView~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInteractiveButtonContentView~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 4f55bf56..00000000 Binary files a/Button.bundle/BTNInteractiveButtonContentView~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonContentView~ipad.nib/runtime.nib b/Button.bundle/BTNInteractiveButtonContentView~ipad.nib/runtime.nib deleted file mode 100644 index e18f456d..00000000 Binary files a/Button.bundle/BTNInteractiveButtonContentView~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonContentView~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInteractiveButtonContentView~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 10a507a4..00000000 Binary files a/Button.bundle/BTNInteractiveButtonContentView~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonContentView~iphone.nib/runtime.nib b/Button.bundle/BTNInteractiveButtonContentView~iphone.nib/runtime.nib deleted file mode 100644 index 3a966c9b..00000000 Binary files a/Button.bundle/BTNInteractiveButtonContentView~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonInventoryCell.nib b/Button.bundle/BTNInteractiveButtonInventoryCell.nib index 4fd1ff54..5d6031c8 100644 Binary files a/Button.bundle/BTNInteractiveButtonInventoryCell.nib and b/Button.bundle/BTNInteractiveButtonInventoryCell.nib differ diff --git a/Button.bundle/BTNInteractiveButtonInventoryCell~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInteractiveButtonInventoryCell~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 095f47d8..00000000 Binary files a/Button.bundle/BTNInteractiveButtonInventoryCell~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonInventoryCell~ipad.nib/runtime.nib b/Button.bundle/BTNInteractiveButtonInventoryCell~ipad.nib/runtime.nib deleted file mode 100644 index 22cde297..00000000 Binary files a/Button.bundle/BTNInteractiveButtonInventoryCell~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonInventoryCell~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInteractiveButtonInventoryCell~iphone.nib/objects-8.0+.nib deleted file mode 100644 index c3e98039..00000000 Binary files a/Button.bundle/BTNInteractiveButtonInventoryCell~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInteractiveButtonInventoryCell~iphone.nib/runtime.nib b/Button.bundle/BTNInteractiveButtonInventoryCell~iphone.nib/runtime.nib deleted file mode 100644 index e9b0dbde..00000000 Binary files a/Button.bundle/BTNInteractiveButtonInventoryCell~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryItemCell.nib b/Button.bundle/BTNInventoryItemCell.nib index 20f1ece1..9a248341 100644 Binary files a/Button.bundle/BTNInventoryItemCell.nib and b/Button.bundle/BTNInventoryItemCell.nib differ diff --git a/Button.bundle/BTNInventoryItemCell~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryItemCell~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 42be3295..00000000 Binary files a/Button.bundle/BTNInventoryItemCell~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryItemCell~ipad.nib/runtime.nib b/Button.bundle/BTNInventoryItemCell~ipad.nib/runtime.nib deleted file mode 100644 index 279f6f6a..00000000 Binary files a/Button.bundle/BTNInventoryItemCell~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryItemCell~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryItemCell~iphone.nib/objects-8.0+.nib deleted file mode 100644 index c40c4003..00000000 Binary files a/Button.bundle/BTNInventoryItemCell~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryItemCell~iphone.nib/runtime.nib b/Button.bundle/BTNInventoryItemCell~iphone.nib/runtime.nib deleted file mode 100644 index 39d96999..00000000 Binary files a/Button.bundle/BTNInventoryItemCell~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryListCell.nib b/Button.bundle/BTNInventoryListCell.nib index 8400d38e..265218c5 100644 Binary files a/Button.bundle/BTNInventoryListCell.nib and b/Button.bundle/BTNInventoryListCell.nib differ diff --git a/Button.bundle/BTNInventoryListCell~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryListCell~ipad.nib/objects-8.0+.nib deleted file mode 100644 index e4c552d7..00000000 Binary files a/Button.bundle/BTNInventoryListCell~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryListCell~ipad.nib/runtime.nib b/Button.bundle/BTNInventoryListCell~ipad.nib/runtime.nib deleted file mode 100644 index e1f70f38..00000000 Binary files a/Button.bundle/BTNInventoryListCell~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryListCell~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryListCell~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 21926eaf..00000000 Binary files a/Button.bundle/BTNInventoryListCell~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryListCell~iphone.nib/runtime.nib b/Button.bundle/BTNInventoryListCell~iphone.nib/runtime.nib deleted file mode 100644 index aba861b3..00000000 Binary files a/Button.bundle/BTNInventoryListCell~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryPreviewView.nib b/Button.bundle/BTNInventoryPreviewView.nib index cd8a106d..363dbe7c 100644 Binary files a/Button.bundle/BTNInventoryPreviewView.nib and b/Button.bundle/BTNInventoryPreviewView.nib differ diff --git a/Button.bundle/BTNInventoryPreviewView~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryPreviewView~ipad.nib/objects-8.0+.nib deleted file mode 100644 index d1ebc7a3..00000000 Binary files a/Button.bundle/BTNInventoryPreviewView~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryPreviewView~ipad.nib/runtime.nib b/Button.bundle/BTNInventoryPreviewView~ipad.nib/runtime.nib deleted file mode 100644 index 82750098..00000000 Binary files a/Button.bundle/BTNInventoryPreviewView~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryPreviewView~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryPreviewView~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 5d2a374e..00000000 Binary files a/Button.bundle/BTNInventoryPreviewView~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryPreviewView~iphone.nib/runtime.nib b/Button.bundle/BTNInventoryPreviewView~iphone.nib/runtime.nib deleted file mode 100644 index d53dcebd..00000000 Binary files a/Button.bundle/BTNInventoryPreviewView~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryView.nib b/Button.bundle/BTNInventoryView.nib index e2bb82c8..38f72c17 100644 Binary files a/Button.bundle/BTNInventoryView.nib and b/Button.bundle/BTNInventoryView.nib differ diff --git a/Button.bundle/BTNInventoryView~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryView~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 79f0b4b1..00000000 Binary files a/Button.bundle/BTNInventoryView~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryView~ipad.nib/runtime.nib b/Button.bundle/BTNInventoryView~ipad.nib/runtime.nib deleted file mode 100644 index d6b44b59..00000000 Binary files a/Button.bundle/BTNInventoryView~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryView~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNInventoryView~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 2a28fdbf..00000000 Binary files a/Button.bundle/BTNInventoryView~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNInventoryView~iphone.nib/runtime.nib b/Button.bundle/BTNInventoryView~iphone.nib/runtime.nib deleted file mode 100644 index b10607da..00000000 Binary files a/Button.bundle/BTNInventoryView~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNLoadingSheetController.nib/objects-11.0+.nib b/Button.bundle/BTNLoadingSheetController.nib/objects-11.0+.nib deleted file mode 100644 index 0d349363..00000000 Binary files a/Button.bundle/BTNLoadingSheetController.nib/objects-11.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNLoadingSheetController.nib/runtime.nib b/Button.bundle/BTNLoadingSheetController.nib/runtime.nib deleted file mode 100644 index a821492a..00000000 Binary files a/Button.bundle/BTNLoadingSheetController.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNLocationRequestView.nib b/Button.bundle/BTNLocationRequestView.nib deleted file mode 100644 index a3777f02..00000000 Binary files a/Button.bundle/BTNLocationRequestView.nib and /dev/null differ diff --git a/Button.bundle/BTNLocationRequestView~ipad.nib/objects-8.0+.nib b/Button.bundle/BTNLocationRequestView~ipad.nib/objects-8.0+.nib deleted file mode 100644 index 01a8d826..00000000 Binary files a/Button.bundle/BTNLocationRequestView~ipad.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNLocationRequestView~ipad.nib/runtime.nib b/Button.bundle/BTNLocationRequestView~ipad.nib/runtime.nib deleted file mode 100644 index e59c99fe..00000000 Binary files a/Button.bundle/BTNLocationRequestView~ipad.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNLocationRequestView~iphone.nib/objects-8.0+.nib b/Button.bundle/BTNLocationRequestView~iphone.nib/objects-8.0+.nib deleted file mode 100644 index 54ee16ea..00000000 Binary files a/Button.bundle/BTNLocationRequestView~iphone.nib/objects-8.0+.nib and /dev/null differ diff --git a/Button.bundle/BTNLocationRequestView~iphone.nib/runtime.nib b/Button.bundle/BTNLocationRequestView~iphone.nib/runtime.nib deleted file mode 100644 index cbf89245..00000000 Binary files a/Button.bundle/BTNLocationRequestView~iphone.nib/runtime.nib and /dev/null differ diff --git a/Button.bundle/BTNNavigationHeaderView.nib b/Button.bundle/BTNNavigationHeaderView.nib index 9d9a55f3..a192acc9 100644 Binary files a/Button.bundle/BTNNavigationHeaderView.nib and b/Button.bundle/BTNNavigationHeaderView.nib differ diff --git a/Button.bundle/BTNSandboxAppStoreController.nib b/Button.bundle/BTNSandboxAppStoreController.nib index 1feb6195..9c34aa3c 100644 Binary files a/Button.bundle/BTNSandboxAppStoreController.nib and b/Button.bundle/BTNSandboxAppStoreController.nib differ diff --git a/Button.bundle/BTNSimulatorInstallView.nib b/Button.bundle/BTNSimulatorInstallView.nib index 516548fe..1629034e 100644 Binary files a/Button.bundle/BTNSimulatorInstallView.nib and b/Button.bundle/BTNSimulatorInstallView.nib differ diff --git a/Button.bundle/BTNSimulatorStoreController.nib b/Button.bundle/BTNSimulatorStoreController.nib deleted file mode 100644 index 32a108af..00000000 Binary files a/Button.bundle/BTNSimulatorStoreController.nib and /dev/null differ diff --git a/Button.bundle/BTNTextBannerView.nib b/Button.bundle/BTNTextBannerView.nib index 3aaf9ee1..816ee0ee 100644 Binary files a/Button.bundle/BTNTextBannerView.nib and b/Button.bundle/BTNTextBannerView.nib differ diff --git a/Button.bundle/BTNTextCardView.nib b/Button.bundle/BTNTextCardView.nib index 1def4373..928eb770 100644 Binary files a/Button.bundle/BTNTextCardView.nib and b/Button.bundle/BTNTextCardView.nib differ diff --git a/Button.bundle/BTNWebViewInstallAppController.nib b/Button.bundle/BTNWebViewInstallAppController.nib deleted file mode 100644 index f1dca498..00000000 Binary files a/Button.bundle/BTNWebViewInstallAppController.nib and /dev/null differ diff --git a/Button.bundle/BTNWebViewInstallSheetController.nib b/Button.bundle/BTNWebViewInstallSheetController.nib deleted file mode 100644 index b581227d..00000000 Binary files a/Button.bundle/BTNWebViewInstallSheetController.nib and /dev/null differ diff --git a/Button.bundle/BTNWebViewSheetController.nib b/Button.bundle/BTNWebViewSheetController.nib index f9e22dc0..5c4c4bc9 100644 Binary files a/Button.bundle/BTNWebViewSheetController.nib and b/Button.bundle/BTNWebViewSheetController.nib differ diff --git a/Button.bundle/Button-Info.plist b/Button.bundle/Button-Info.plist deleted file mode 100644 index 7a40ea18..00000000 --- a/Button.bundle/Button-Info.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - CFBundleDisplayName - Button - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleShortVersionString - 5.30.0 - CFBundleVersion - 5.30.0 - - diff --git a/Button.bundle/Info.plist b/Button.bundle/Info.plist index eb81d0bd..ba7731dc 100644 --- a/Button.bundle/Info.plist +++ b/Button.bundle/Info.plist @@ -9,29 +9,29 @@ CFBundleIdentifier com.usebutton.sdk CFBundleShortVersionString - 5.31.0 + 6.0.0 CFBundleSupportedPlatforms iPhoneOS CFBundleVersion - 5.31.0 + 6.0.0 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 15C107 + 15F79 DTPlatformName iphoneos DTPlatformVersion - 11.2 + 11.4 DTSDKBuild - 15C107 + 15F79 DTSDKName - iphoneos11.2 + iphoneos11.4 DTXcode - 0920 + 0940 DTXcodeBuild - 9C40b + 9F1027a MinimumOSVersion 8.0 UIAppFonts diff --git a/Button.bundle/ic_deeplink.png b/Button.bundle/ic_deeplink.png deleted file mode 100644 index a6f5c8fb..00000000 Binary files a/Button.bundle/ic_deeplink.png and /dev/null differ diff --git a/Button.bundle/ic_deeplink@2x.png b/Button.bundle/ic_deeplink@2x.png deleted file mode 100644 index 10250686..00000000 Binary files a/Button.bundle/ic_deeplink@2x.png and /dev/null differ diff --git a/Button.bundle/ic_deeplink@3x.png b/Button.bundle/ic_deeplink@3x.png deleted file mode 100644 index 01442e2e..00000000 Binary files a/Button.bundle/ic_deeplink@3x.png and /dev/null differ diff --git a/Button.framework/Versions/A/Button b/Button.framework/Versions/A/Button index 046160d5..0b00a1b7 100644 Binary files a/Button.framework/Versions/A/Button and b/Button.framework/Versions/A/Button differ diff --git a/Button.framework/Versions/A/Headers/BTNAction.h b/Button.framework/Versions/A/Headers/BTNAction.h new file mode 100644 index 00000000..2b5b0390 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNAction.h @@ -0,0 +1,25 @@ +@import Foundation; + +NS_ASSUME_NONNULL_BEGIN + +NS_SWIFT_NAME(ButtonAction) +@interface BTNAction : NSObject + + +/** + The attribution token associated with the Purchase Path. + */ +@property (nonatomic, copy, readonly) NSString *attributionToken; + + +/** + Presents the user with the merchant product or category matching the query used to fetch the Button Action. + + @discussion + The Button Action may display merchant inventory, take the user to an embedded web view, or the installed merchant app. + */ +- (void)start; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNContext.h b/Button.framework/Versions/A/Headers/BTNActionQuery.h similarity index 55% rename from Button.framework/Versions/A/Headers/BTNContext.h rename to Button.framework/Versions/A/Headers/BTNActionQuery.h index fdc1ce95..3a61432d 100644 --- a/Button.framework/Versions/A/Headers/BTNContext.h +++ b/Button.framework/Versions/A/Headers/BTNActionQuery.h @@ -3,92 +3,92 @@ #import "BTNMusicArtist.h" #import "BTNJourney.h" #import "BTNEvent.h" -#import "BTNJourney.h" #import "BTNItem.h" /** All fields are optional and should be populated only if known. @see `BTNBaseEntity` for inherited configuration options. - @warning Using the same context instance for multiple fetches is not recommended and unexpected results may occur. Please use a new instance for each fetch. + @warning Using the same query instance for multiple fetches is not recommended and unexpected results may occur. Please use a new instance for each fetch. */ NS_ASSUME_NONNULL_BEGIN -@interface BTNContext : BTNBaseEntity +NS_SWIFT_NAME(ActionQuery) +@interface BTNActionQuery : BTNBaseEntity ///-------------------- /// @name Initilization ///-------------------- /** - Returns a newly instantiated context object. + Returns a newly instantiated query object. */ -+ (instancetype)context; ++ (instancetype)query; /** - Returns a newly instantiated context object with a userLocation. + Returns a newly instantiated query object with a userLocation. @param userLocation the current location of the user. @see -setUserLocation for more info. */ -+ (instancetype)contextWithUserLocation:(BTNLocation *)userLocation; ++ (instancetype)queryWithUserLocation:(BTNLocation *)userLocation; /** - Returns a newly instantiated context object with a subject location. - @param subjectLocation a location subject for the current activity or content. + Returns a newly instantiated query object with a subject location. + @param subjectLocation a location subject for the current user context. @see -setSubjectLocation: for more info. */ -+ (instancetype)contextWithSubjectLocation:(BTNLocation *)subjectLocation; ++ (instancetype)queryWithSubjectLocation:(BTNLocation *)subjectLocation; /** - Returns a newly instantiated context object with an artist. - @param artist a music artist associated with the current context. + Returns a newly instantiated query object with an artist. + @param artist a music artist associated with the current user context. @see -setArtist: for more info. */ -+ (instancetype)contextWithArtist:(BTNMusicArtist *)artist; ++ (instancetype)queryWithArtist:(BTNMusicArtist *)artist; /** - Returns a newly instantiated context object with a journey. + Returns a newly instantiated query object with a journey. @param journey a journey object which is relevant to the current user context. @see -setJourney: for more info. */ -+ (instancetype)contextWithJourney:(BTNJourney *)journey; ++ (instancetype)queryWithJourney:(BTNJourney *)journey; /** - Returns a newly instantiated context object with an event. + Returns a newly instantiated query object with an event. @param event an event object which is relevant to the current user context. @see -setEvent: for more info. */ -+ (instancetype)contextWithEvent:(BTNEvent *)event; ++ (instancetype)queryWithEvent:(BTNEvent *)event; /** - Returns a newly instantiated context object with a single item. + Returns a newly instantiated query object with a single item. @param item An item that is the subject of the page. @see -addItems: for more info. */ -+ (instancetype)contextWithItem:(BTNItem *)item; ++ (instancetype)queryWithItem:(BTNItem *)item; /** - Returns a newly instantiated context object with an array of items. + Returns a newly instantiated query object with an array of items. @param items one or more items that are the subject of the page. @see -addItems: for more info. */ -+ (instancetype)contextWithItems:(NSArray *)items; ++ (instancetype)queryWithItems:(NSArray *)items; /** - Returns a newly instantiated context object with a URL. - @param URL a URL that specifies the current context. + Returns a newly instantiated query object with a URL. + @param URL a URL that specifies the current user context. @see -setURL: for more info. */ -+ (instancetype)contextWithURL:(NSURL *)URL; ++ (instancetype)queryWithURL:(NSURL *)URL; @@ -113,7 +113,7 @@ NS_ASSUME_NONNULL_BEGIN /** - Sets a relevant date for the user’s context. + Sets a relevant date for the user’s query. Example: The time of a reservation, date of a hotel reservation etc.. @note If date is not relevant, do not provide it. */ @@ -121,29 +121,29 @@ NS_ASSUME_NONNULL_BEGIN /** - Sets a date range when the current context represents a discrete period of time with a beginning and an end. + Sets a date range when the current query represents a discrete period of time with a beginning and an end. Example: a return flight, movie showing, sporting event etc.. */ - (void)setDateRangeWithStartDate:(NSDate *)startDate endDate:(NSDate *)endDate; /** - Sets a music artist associated with the current context. - @see `BTNMusicArtist` context object for details. + Sets a music artist associated with the current query. + @see `BTNMusicArtist` query object for details. */ - (void)setArtist:(BTNMusicArtist *)artist; /** - Sets a journey object which is relevant to the current user context. - @note Specify a `BTNJourney` only when the current context represents a journey. + Sets a journey object which is relevant to the current user query. + @note Specify a `BTNJourney` only when the current query represents a journey. Example: itinerary for a flight, bus, train, interstellar travel etc.. */ - (void)setJourney:(BTNJourney *)journey; /** - Sets an event object which is relevant to the current user context. + Sets an event object which is relevant to the current user query. Example: A concert, art show, conference etc.. */ - (void)setEvent:(BTNEvent *)event; @@ -158,22 +158,22 @@ NS_ASSUME_NONNULL_BEGIN /** - Sets a URL that specifies the current context. + Sets a URL that specifies the current user context. This can either be a Universal Links representation of the page or URL of the canonical crawlable web page. */ - (void)setURL:(NSURL *)URL; -///--------------------- -/// @name Custom Context -///--------------------- +///-------------------- +/// @name Custom Values +///-------------------- /** - Add custom key-value pairs to further define your users context. + Add custom key-value pairs to further define the current user query. @note you can also use object subscripting (e.g. object[key] = value) @see BTNSubscriptable */ -- (void)addCustomValue:(id)obj forContextKey:(NSString *)key; +- (void)addCustomValue:(id)obj forKey:(NSString *)key; @end diff --git a/Button.framework/Versions/A/Headers/BTNActionRequest.h b/Button.framework/Versions/A/Headers/BTNActionRequest.h new file mode 100644 index 00000000..51c92566 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNActionRequest.h @@ -0,0 +1,48 @@ +@import Foundation; + +NS_ASSUME_NONNULL_BEGIN + +@class BTNActionQuery; + +/** + A Button Action request defines the parameters for fetching an action. + + @see ButtonActionsInterface + */ +NS_SWIFT_NAME(ActionRequest) +@interface BTNActionRequest : NSObject + +/** + The identifier for your button (e.g. btn-xxxxxxxxxxxx). + + @note + Get or create button Ids from from the [Button Dashboard](https://app.usebutton.com) + */ +@property (nonatomic, copy, readonly) NSString *buttonId; + + +/** + An action query object providing context about your user's current activity. + */ +@property (nonatomic, copy, readonly) BTNActionQuery *query; + + +/** + An optional token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) + */ +@property (nonatomic, copy) NSString *pubRef; + + +/** + Initializes a Button Actions request for a given button Id and action query. + + @param buttonId The identifier for your button (e.g. btn-xxxxxxxxxxxx). + @param query An action query object providing context about your user's current activity. + @return A new Button Action request. + */ ++ (instancetype)requestWithButtonId:(NSString *)buttonId + query:(BTNActionQuery *)query NS_SWIFT_NAME(init(buttonId:query:)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNAppAction.h b/Button.framework/Versions/A/Headers/BTNAppAction.h deleted file mode 100644 index 9296e8ea..00000000 --- a/Button.framework/Versions/A/Headers/BTNAppAction.h +++ /dev/null @@ -1,150 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNAppActionMeta.h" -#import "BTNPreview.h" -#import "BTNHeader.h" -#import "BTNGroup.h" -#import "BTNProductCardData.h" -#import "BTNFooter.h" - -@protocol BTNCheckoutExtension; - -/// Enum represening result of `-appInstallState`. -typedef NS_ENUM(NSUInteger, BTNAppInstallState) { - BTNAppInstallStateUnknown = 0, - BTNAppInstallStateInstalled, - BTNAppInstallStateNotInstalled, - BTNAppInstallStateNotQueryable -}; - -/** - An App Action represents a button (i.e. “preview”) and inventory typically rendered as a “commerce card”. - */ - -@interface BTNAppAction : BTNModelObject - -/// App action metadata (id, source token, expiry, etc). -@property (nullable, nonatomic, copy, readonly) BTNAppActionMeta *meta; - - -/// The button preview data. -@property (nullable, nonatomic, copy, readonly) BTNPreview *preview; - - -/// Heading information for the inventory. -@property (nullable, nonatomic, strong, readonly) BTNHeader *header; - - -/// Grouped inventory (note: one of `groups` or `product` will be non-nil). -@property (nullable, nonatomic, strong, readonly) NSArray *groups; - - -/// A single product representation (note: one of `groups` or `product` will be non-nil). -@property (nullable, nonatomic, strong, readonly) BTNProductCardData *product; - - -/// Footer information for the inventory and default action. -@property (nullable, nonatomic, strong, readonly) BTNFooter *footer; - - - -///----------------------- -/// @name Invoking Actions -///----------------------- - - -/** - Invokes the Button commerce card flow or a preview action if one exists. - @warning Deprecated. Use `-invokeAction` instead. - */ -- (void)invokePreviewAction DEPRECATED_MSG_ATTRIBUTE("Use 'invokeAction' instead."); - - -/** - Invokes the default action associated with this AppAction instance. - @discussion Call this method when you're ready to invoke this action. - - @see @c -invokeActionForListItem: If you've built out your own custom inventory UI. - @see @c -invokeActionWithCheckoutExtension: If you're extending In-App Checkout (e.g. Button's embedded browser). - */ -- (void)invokeAction; - - -/** - Invokes the default action associated with this AppAction instance. - @warning Deprecated. Set your checkout extension via -[Button setCheckoutExtension:]. - Passing a checkout extension to this method will set/replace the checkout extension on Button. - @discussion Call this method when you're ready to invoke this action. - - @param checkoutExtension Your object conforming to the checkout extension protocol. - */ -- (void)invokeActionWithCheckoutExtension:(nonnull id )checkoutExtension DEPRECATED_MSG_ATTRIBUTE("Set your checkout extension via -[Button setCheckoutExtension:]"); - - -/** - Invokes the action of a specific inventory list item. - @discussion If you've built out your own custom inventory UI, call this - method when a user taps a specific inventory item. - - @note Users will be sent to the destination application or through the - Attended Install flow if the destination application is not installed. - */ -- (void)invokeActionForListItem:(nonnull BTNListItem *)listItem; - - -/** - Invokes the footer action (i.e. default action). - @discussion If your custom inventory UI includes BTNFooter data, call this - method when you user taps on your custom footer view. - - @note Users will be sent to the destination application or through the - Attended Install flow if the destination application is not installed. - */ -- (void)invokeFooterAction; - - - -///----------------------------- -/// @name Fetching Preview Image -///----------------------------- - - -/** - Fetches the preview icon image data from the `preview.iconImage.URL` or the local cache. - @param completionHandler A block to be executed once the image data has loaded. - @note The completionHandler takes one argument, a UIImage or nil if an error occurred. - */ -- (void)fetchPreviewIconImageWithCompletion:(nonnull void(^)(UIImage * __nullable image))completionHandler; - - - -///------------------------ -/// @name App Install State -///------------------------ - - -/** - Determines whether the target app is installed, not installed or not queryable. - @return BTNInstallStateNotInstalled if target application is NOT installed. - BTNInstallStateInstalled if target application is installed. - BTNInstallStateNotQueryable if app scheme was not declared in LSApplicationQueriesSchemes of Info.plist (>= iOS9). - */ -- (BTNAppInstallState)appInstallState; - - - -///--------------------- -/// @name Event Tracking -///--------------------- - - -/** - Tracks a "button viewed" event each time this method is called. - @note Invoke this method when your custom button is displayed to the user. - @discussion Used to measure performance so make sure you report at the same - interval across iOS and Android. We suggest that you report this - right after you've configured your UI with the AppAction if those - views will be visible. - */ -- (void)trackButtonViewed; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNAppActionMeta.h b/Button.framework/Versions/A/Headers/BTNAppActionMeta.h deleted file mode 100644 index 6e330168..00000000 --- a/Button.framework/Versions/A/Headers/BTNAppActionMeta.h +++ /dev/null @@ -1,50 +0,0 @@ -#import "BTNModelObject.h" - -@class BTNImage; - -/** - App action metadata objects contain information about the referrer, - destination app, and expiration of an app action. - */ - -@interface BTNAppActionMeta : BTNModelObject - -/// The app action identifier. -@property (nullable, nonatomic, copy, readonly) NSString *appActionId; - - -/// The store id of the app represented by an app action. -@property (nullable, nonatomic, copy, readonly) NSString *storeId; - - -/// The source/referrer token associated with an app action. -@property (nullable, nonatomic, copy, readonly) NSString *sourceToken; - - -/// The maximum age in seconds an app action is valid. -@property (nullable, nonatomic, copy, readonly) NSNumber *maxAgeSeconds; - - -/// The deep link scheme for enabling attended install. -@property (nullable, nonatomic, copy, readonly) NSURL *deepLinkScheme; - - -/// The name of the app represented by an app action. -@property (nullable, nonatomic, copy, readonly) NSString *appDisplayName; - - -/// The icon of the app represented by an app action. -@property (nullable, nonatomic, copy, readonly) BTNImage *appIcon; - - -/// The date/time the app action request was made. -@property (nullable, nonatomic, copy, readonly) NSDate *requestTime; - - -/** - Indicated whether or not the action has expired. - @return YES is the action is expired, otherwise NO. - */ -- (BOOL)isExpired; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNBackground.h b/Button.framework/Versions/A/Headers/BTNBackground.h deleted file mode 100644 index 41523286..00000000 --- a/Button.framework/Versions/A/Headers/BTNBackground.h +++ /dev/null @@ -1,12 +0,0 @@ -#import "BTNModelObject.h" -@import UIKit; - -/** - BTNBackground objects specify how to fill a background. - */ - -@interface BTNBackground : BTNModelObject - -@property (nullable, nonatomic, copy, readonly) NSString *color; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNBaseEntity.h b/Button.framework/Versions/A/Headers/BTNBaseEntity.h index 752b9844..43c00d8d 100644 --- a/Button.framework/Versions/A/Headers/BTNBaseEntity.h +++ b/Button.framework/Versions/A/Headers/BTNBaseEntity.h @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN /** - A URL that specifies the current context. + Sets a URL that specifies the current user context. @note: This can either be a Universal Links representation of the page or URL of the canonical crawlable web page. */ - (void)setURL:(NSURL *)URL; @@ -38,15 +38,15 @@ NS_ASSUME_NONNULL_BEGIN -///--------------------- -/// @name Custom Context -///--------------------- +///-------------------- +/// @name Custom Values +///-------------------- /** - Add custom key-value pairs to further define your users context. + Add custom key-value pairs to further define the current user context. @note you can also use object subscripting (e.g. object[key] = value) @see BTNSubscriptable */ -- (void)addCustomValue:(id)obj forContextKey:(NSString *)key; +- (void)addCustomValue:(id)obj forKey:(NSString *)key; @end diff --git a/Button.framework/Versions/A/Headers/BTNBrowserFooterProtocol.h b/Button.framework/Versions/A/Headers/BTNBrowserFooterProtocol.h new file mode 100644 index 00000000..76c324ca --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNBrowserFooterProtocol.h @@ -0,0 +1,14 @@ +@import Foundation; + +NS_ASSUME_NONNULL_BEGIN + +NS_SWIFT_NAME(BrowserFooter) +@protocol BTNBrowserFooter + +@required +@property (null_resettable, nonatomic, strong) UIColor *tintColor; +@property (nullable, nonatomic, strong) UIColor *backgroundColor; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNBrowserHeaderProtocol.h b/Button.framework/Versions/A/Headers/BTNBrowserHeaderProtocol.h new file mode 100644 index 00000000..4de26198 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNBrowserHeaderProtocol.h @@ -0,0 +1,17 @@ +@import Foundation; +#import "BTNTextProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +NS_SWIFT_NAME(BrowserHeader) +@protocol BTNBrowserHeader + +@required +@property (nonatomic, strong, readonly) id title; +@property (nonatomic, strong, readonly) id subtitle; +@property (null_resettable, nonatomic, strong) UIColor *tintColor; +@property (nullable, nonatomic, strong) UIColor *backgroundColor; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNCheckoutInterfaceProtocol.h b/Button.framework/Versions/A/Headers/BTNBrowserInterfaceProtocol.h similarity index 50% rename from Button.framework/Versions/A/Headers/BTNCheckoutInterfaceProtocol.h rename to Button.framework/Versions/A/Headers/BTNBrowserInterfaceProtocol.h index 91b79e01..50433c9c 100644 --- a/Button.framework/Versions/A/Headers/BTNCheckoutInterfaceProtocol.h +++ b/Button.framework/Versions/A/Headers/BTNBrowserInterfaceProtocol.h @@ -5,77 +5,19 @@ #import "BTNCommission.h" #import "BTNCardListProtocol.h" #import "BTNTextCard.h" +#import "BTNBrowserHeaderProtocol.h" +#import "BTNBrowserFooterProtocol.h" NS_ASSUME_NONNULL_BEGIN @class BTNCard; -@protocol BTNCheckoutInterface +@protocol BTNBrowserInterface @required -/** - Sets the title text of the navigation bar. - - @param title The desired text. - */ -- (void)setTitle:(NSString *)title; - - -/** - Sets the title text color. - - @param titleColor The desired title text color. - */ -- (void)setTitleColor:(UIColor *)titleColor; - - -/** - Sets the subtitle text. - - @param subtitle The desired subtitle text. - */ -- (void)setSubtitle:(NSString *)subtitle; - - -/** - Sets the subtitle text color. - - @param subtitleColor The desired subtitle text color. - */ -- (void)setSubtitleColor:(UIColor *)subtitleColor; - - -/** - Sets the background color of the top bar. - - @param color The desired color. - */ -- (void)setTopBarBackgroundColor:(UIColor *)color; - - -/** - The tint color for top bar (e.g. bar button items). - - @param color The desired tint color. - */ -- (void)setTopBarTintColor:(UIColor *)color; - - -/** - Sets the background color of the bottom bar. - - @param color The desired color. - */ -- (void)setBottomBarBackgroundColor:(UIColor *)color; - - -/** - The tint color for bottom bar (e.g. bar button items). - - @param color The desired tint color. - */ -- (void)setBottomBarTintColor:(UIColor *)color; +@property (nonatomic, strong, readonly) id header; +@property (nonatomic, strong, readonly) id footer; /** diff --git a/Button.framework/Versions/A/Headers/BTNButtonActionsInterfaceProtocol.h b/Button.framework/Versions/A/Headers/BTNButtonActionsInterfaceProtocol.h new file mode 100644 index 00000000..a34c8873 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNButtonActionsInterfaceProtocol.h @@ -0,0 +1,42 @@ +@import Foundation; + +// Actions +#import "BTNAction.h" +#import "BTNActionQuery.h" +#import "BTNActionRequest.h" + +// UI Components +#import "BTNDropinButton.h" +#import "BTNDropinButtonCell.h" +#import "BTNInteractiveButton.h" + +NS_ASSUME_NONNULL_BEGIN + +@class BTNActionRequest, BTNAction; + + +/** + Buttons provide relevant actions to your users, complete with a corresponding UI. Buttons can be configured + with one or more Merchants that they can offer to your users. + https://developer.usebutton.com/guides/publishers/ios/using-button-actions + */ +NS_SWIFT_NAME(ButtonActionsInterface) +@protocol BTNButtonActionsInterface + +@required + + +/** + Fetches a Button Action with an action request. + + @param request A Button Action request. + @param actionHandler A block to be called upon completion of the Button Action fetch. + The block passes a `buttonAction` on success or an `error` if one occurred. + */ +- (void)fetchWithRequest:(BTNActionRequest *)request + actionHandler:(void(^)(BTNAction * __nullable buttonAction, NSError * __nullable error))actionHandler NS_SWIFT_NAME(fetch(request:completion:)); + +@end + +NS_ASSUME_NONNULL_END + diff --git a/Button.framework/Versions/A/Headers/BTNCard.h b/Button.framework/Versions/A/Headers/BTNCard.h index 162c3621..e1095f36 100644 --- a/Button.framework/Versions/A/Headers/BTNCard.h +++ b/Button.framework/Versions/A/Headers/BTNCard.h @@ -1,7 +1,7 @@ @import UIKit; #import "BTNCardCallToAction.h" -@protocol BTNCheckoutInterface; +@protocol BTNBrowserInterface; NS_ASSUME_NONNULL_BEGIN @@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN @seealso BTNCheckoutInterface */ -@property (nullable, nonatomic, readonly, weak) id checkout; +@property (nullable, nonatomic, readonly, weak) id checkout; /** diff --git a/Button.framework/Versions/A/Headers/BTNDebugInterfaceProtocol.h b/Button.framework/Versions/A/Headers/BTNDebugInterfaceProtocol.h new file mode 100644 index 00000000..8d0a0dbd --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNDebugInterfaceProtocol.h @@ -0,0 +1,11 @@ +@import Foundation; + +NS_SWIFT_NAME(DebugInterface) +@protocol BTNDebugInterface +@required + +@property (nonatomic, assign, getter=isLoggingEnabled) BOOL loggingEnabled; + +@end + + diff --git a/Button.framework/Versions/A/Headers/BTNDropinButton.h b/Button.framework/Versions/A/Headers/BTNDropinButton.h index 92e85710..14ec2178 100644 --- a/Button.framework/Versions/A/Headers/BTNDropinButton.h +++ b/Button.framework/Versions/A/Headers/BTNDropinButton.h @@ -1,11 +1,10 @@ @import UIKit; #import "BTNDropinButtonAppearanceProtocol.h" -#import "BTNContext.h" -#import "BTNDropinButton_Deprecated.h" -@class BTNAppAction; +@class BTNAction; -@interface BTNDropinButton : UIControl +NS_SWIFT_NAME(DropinButton) +@interface BTNDropinButton : UIControl ///------------------------------ /// @name Rendering an App Action @@ -14,10 +13,10 @@ /** Tells the button to render the passed app action. - @param appAction A BTNAppAction loaded via `-[Button fetchAppActionWithButtonId:context:completion:]` + @param buttonAction A BTNAction fetched via `-[Button.actions fetchWithRequest:actionHandler:]` @note passing nil will return the button to the loading state. */ -- (void)prepareWithAppAction:(nullable BTNAppAction *)appAction; +- (void)prepareWithButtonAction:(nullable BTNAction *)buttonAction NS_SWIFT_NAME(prepare(action:)); ///----------------- diff --git a/Button.framework/Versions/A/Headers/BTNDropinButtonCell.h b/Button.framework/Versions/A/Headers/BTNDropinButtonCell.h index 8e3e5055..ee887871 100644 --- a/Button.framework/Versions/A/Headers/BTNDropinButtonCell.h +++ b/Button.framework/Versions/A/Headers/BTNDropinButtonCell.h @@ -1,10 +1,8 @@ @import UIKit; #import "BTNDropinButton.h" -#import "BTNDropinButtonCell_Deprecated.h" -@class BTNDropinButton; - -@interface BTNDropinButtonCell : UITableViewCell +NS_SWIFT_NAME(DropinButtonCell) +@interface BTNDropinButtonCell : UITableViewCell /// The dropin button that displays the use case action (e.g. Get a ride). @property (nullable, nonatomic, strong) IBOutlet BTNDropinButton *dropinButton; @@ -18,10 +16,10 @@ /** Tells the cell to render the passed app action. - @param appAction A BTNAppAction loaded via `-[Button fetchAppActionWithButtonId:context:completion:]` + @param buttonAction A BTNAction fetched via `-[Button.actions fetchWithRequest:actionHandler:]` @note passing nil will return the button to the loading state. */ -- (void)prepareWithAppAction:(nullable BTNAppAction *)appAction; +- (void)prepareWithButtonAction:(nullable BTNAction *)buttonAction NS_SWIFT_NAME(prepare(action:));; ///----------------- diff --git a/Button.framework/Versions/A/Headers/BTNDropinButtonCell_Deprecated.h b/Button.framework/Versions/A/Headers/BTNDropinButtonCell_Deprecated.h deleted file mode 100644 index 883f1cbb..00000000 --- a/Button.framework/Versions/A/Headers/BTNDropinButtonCell_Deprecated.h +++ /dev/null @@ -1,25 +0,0 @@ -#import "BTNDropinButtonCell.h" - -@protocol BTNDropinButtonCellDeprecated - -/// The ID of the button this cell represents. -@property (nullable, nonatomic, copy) IBInspectable NSString *buttonId; - - -/** - Prepares the cell for display with contextually relevant data. - @param context A BTNContext object providing context about your user's current activity. - @param completionHandler A block to be executed upon completion of preparation. - - @note The button will not be visible until preparation has completed successfully. - You should set a completion handler in order to do any work in your view hierarchy - after completion. For example, you may want to remove this cell from your tableView - if the button is not displayable. - - @warning -prepareWithAppAction: is the preferred approach to render a Button. - Using this method in conjunction with -prepareWithAppAction: can lead to undefined behavior. - */ -- (void)prepareWithContext:(nonnull BTNContext *)context - completion:(nullable void(^)(BOOL isDisplayable))completionHandler; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNDropinButton_Deprecated.h b/Button.framework/Versions/A/Headers/BTNDropinButton_Deprecated.h deleted file mode 100644 index 8b551e63..00000000 --- a/Button.framework/Versions/A/Headers/BTNDropinButton_Deprecated.h +++ /dev/null @@ -1,37 +0,0 @@ -#import "BTNDropinButton.h" - -@class BTNContext; - -@protocol BTNDropinButtonDeprecated - -/// The identifier for this button instance (e.g. btn-xxxxxxxxxx). -@property (nullable, nonatomic, copy) IBInspectable NSString *buttonId; - - -/** - Prepares the button for display with contextually relevant data. - @param context A BTNContext object providing context about your user's current activity. - @param completionHandler A block to be executed upon completion of preparation. - - @note The button will not be visible until preparation has completed successfully. - You should set a completion handler in order to do any work in your view hierarchy - based on the value of `isDisplayable`. For example, you may want to remove a cell - from your tableView if the button is not displayable. - - @warning -prepareWithAppAction: is the preferred approach to render a Button. - Using this method in conjunction with -prepareWithAppAction: can lead to undefined behavior. - */ -- (void)prepareWithContext:(nonnull BTNContext *)context - completion:(nullable void(^)(BOOL isDisplayable))completionHandler DEPRECATED_MSG_ATTRIBUTE("Use 'prepareWithAppAction:' instead."); - - -/** - Intialize an instance of BTNDropinButton with the given button identifier. - @param buttonId The identifier for this button instance (e.g. btn-xxxxxxxxxx). - @return An instance of BTNDropinButton configured for the given buttonId. - @note The button will not be ready for display until -prepareWithContext:completion: completes. - @see -prepareWithContext:completion: - */ -- (nonnull instancetype)initWithButtonId:(nonnull NSString *)buttonId DEPRECATED_MSG_ATTRIBUTE("Use 'init' and 'prepareWithAppAction:' instead."); - -@end diff --git a/Button.framework/Versions/A/Headers/BTNEvent.h b/Button.framework/Versions/A/Headers/BTNEvent.h index ec144790..34b8424d 100644 --- a/Button.framework/Versions/A/Headers/BTNEvent.h +++ b/Button.framework/Versions/A/Headers/BTNEvent.h @@ -8,6 +8,7 @@ NS_ASSUME_NONNULL_BEGIN +NS_SWIFT_NAME(Event) @interface BTNEvent : BTNBaseEntity /** diff --git a/Button.framework/Versions/A/Headers/BTNFooter.h b/Button.framework/Versions/A/Headers/BTNFooter.h deleted file mode 100644 index b8e410c5..00000000 --- a/Button.framework/Versions/A/Headers/BTNFooter.h +++ /dev/null @@ -1,22 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNBackground.h" -#import "BTNImage.h" -#import "BTNText.h" - -/** - BTNFooter objects specify footer information about inventory and a default action that may be executed. - */ -@interface BTNFooter : BTNModelObject - -/// The footer text. -@property (nullable, nonatomic, copy, readonly) BTNText *labelText; - - -/// An icon image. -@property (nullable, nonatomic, copy, readonly) BTNImage *iconImage; - - -/// The footer background. -@property (nullable, nonatomic, copy, readonly) BTNBackground *background; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNGroup.h b/Button.framework/Versions/A/Headers/BTNGroup.h deleted file mode 100644 index 6a80979e..00000000 --- a/Button.framework/Versions/A/Headers/BTNGroup.h +++ /dev/null @@ -1,16 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNListItem.h" -#import "BTNText.h" - -/** - BTNGroup objects specify information for rendering an inventory group. - */ -@interface BTNGroup : BTNModelObject - -/// The title of the group. -@property (nullable, nonatomic, copy, readonly) BTNText *titleText; - -/// An array of items in the group. -@property (nullable, nonatomic, copy, readonly) NSArray *items; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNHeader.h b/Button.framework/Versions/A/Headers/BTNHeader.h deleted file mode 100644 index 2a8a3722..00000000 --- a/Button.framework/Versions/A/Headers/BTNHeader.h +++ /dev/null @@ -1,21 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNBackground.h" -#import "BTNText.h" - -/** - BTNHeader objects specify heading information about inventory. - */ -@interface BTNHeader : BTNModelObject - -/// The main heading text. -@property (nullable, nonatomic, copy, readonly) BTNText *titleText; - - -/// An optional smaller subheading text. -@property (nullable, nonatomic, copy, readonly) BTNText *subtitleText; - - -/// The header background. -@property (nullable, nonatomic, copy, readonly) BTNBackground *background; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNImage.h b/Button.framework/Versions/A/Headers/BTNImage.h deleted file mode 100644 index 10103440..00000000 --- a/Button.framework/Versions/A/Headers/BTNImage.h +++ /dev/null @@ -1,21 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNText.h" -@import UIKit; - -/** - BTNImage objects represent an image and how it should be rendered. - */ -@interface BTNImage : BTNModelObject - -/// The URL of an image to be retrieved. -@property (nullable, nonatomic, copy, readonly) NSURL *URL; - - -/// The fill mode of an image (aspect fit or aspect fill). -@property (nonatomic, assign, readonly) UIViewContentMode fillMode; - - -/// Alternative text for the image. -@property (nullable, nonatomic, copy, readonly) BTNText *altText; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNInteractiveButton.h b/Button.framework/Versions/A/Headers/BTNInteractiveButton.h index 87878b1c..40573764 100644 --- a/Button.framework/Versions/A/Headers/BTNInteractiveButton.h +++ b/Button.framework/Versions/A/Headers/BTNInteractiveButton.h @@ -1,20 +1,21 @@ @import UIKit; -@class BTNAppAction; +@class BTNAction; +NS_SWIFT_NAME(InteractiveButton) @interface BTNInteractiveButton : UIView -///------------------------------ -/// @name Rendering an App Action -///------------------------------ +///-------------------------------- +/// @name Rendering a Button Action +///-------------------------------- /** Tells the button to render the passed app action. - @param appAction A BTNAppAction loaded via `-[Button fetchAppActionWithButtonId:context:completion:]` + @param buttonAction A BTNAction fetched via `-[Button.actions fetchWithRequest:actionHandler:]` @note passing nil will return the button to the loading state. */ -- (void)prepareWithAppAction:(BTNAppAction *)appAction; +- (void)prepareWithButtonAction:(BTNAction *)buttonAction NS_SWIFT_NAME(prepare(action:)); diff --git a/Button.framework/Versions/A/Headers/BTNItem.h b/Button.framework/Versions/A/Headers/BTNItem.h index d02cf13d..f714096d 100644 --- a/Button.framework/Versions/A/Headers/BTNItem.h +++ b/Button.framework/Versions/A/Headers/BTNItem.h @@ -7,6 +7,7 @@ NS_ASSUME_NONNULL_BEGIN +NS_SWIFT_NAME(Item) @interface BTNItem : BTNBaseEntity /** diff --git a/Button.framework/Versions/A/Headers/BTNJourney.h b/Button.framework/Versions/A/Headers/BTNJourney.h index 7a04ea56..ca92e7ec 100644 --- a/Button.framework/Versions/A/Headers/BTNJourney.h +++ b/Button.framework/Versions/A/Headers/BTNJourney.h @@ -20,6 +20,7 @@ typedef NS_ENUM(NSInteger, BTNTransportType) { NS_ASSUME_NONNULL_BEGIN +NS_SWIFT_NAME(Journey) @interface BTNJourney : BTNBaseEntity /// Sets the starting location of the journey. diff --git a/Button.framework/Versions/A/Headers/BTNLineItem.h b/Button.framework/Versions/A/Headers/BTNLineItem.h deleted file mode 100644 index 37b003a1..00000000 --- a/Button.framework/Versions/A/Headers/BTNLineItem.h +++ /dev/null @@ -1,85 +0,0 @@ -#import "BTNModelObject.h" - -/** - This class represents an order's individual line items. This is used for order attribution in - `-[Button reportOrderWithValue:orderId:currencyCode:lineItems]`. - You can use these items to e.g. represent a cart of items, their ID, value and quantity - or to break down the order total to vat, discount etc. - */ - -__attribute__((deprecated("Please use our order API - https://www.usebutton.com/developers/api-reference/#create-order"))) -@interface BTNLineItem : BTNModelObject - -/// The identifier/sku for this line item (e.g. ‘sku-1234’). Must be unique from other line items. -@property (nullable, nonatomic, copy, readonly) NSString *identifier; - - -/// Per item cost in the smallest decimal unit for this currency (e.g. 199 for $1.99). -@property (nonatomic, assign, readonly) NSInteger amount; - - -/// The number of items of this type. -@property (nonatomic, assign, readonly) NSInteger quantity; - - -/// A name or description for this line item. -@property (nullable, nonatomic, copy, readonly) NSString *itemDescription; - - -/** - Creates a line item with the specified identifier and amount with a quantity of 1. - @param identifier The identifier/sku for this line item (e.g. ‘sku-1234’). - @param amount Per item cost in the smallest decimal unit for this currency (e.g. 199 for $1.99). - */ -+ (nonnull instancetype)lineItemWithId:(nonnull NSString *)identifier - amount:(NSInteger)amount; - - -/** - Creates a line item with the specified identifier, amount, and quantity. - @param identifier The identifier/sku for this line item (e.g. ‘sku-1234’). - @param amount Per item cost in the smallest decimal unit for this currency (e.g. 199 for $1.99). - @param quantity The number of items of this type. - */ -+ (nonnull instancetype)lineItemWithId:(nonnull NSString *)identifier - amount:(NSInteger)amount - quantity:(NSInteger)quantity; - - -/** - Creates a line item with the specified identifier, amount, quantity, and description. - Examples: - @code - // 3 bottles of wine at 15.99 each - BTNLineItem *lineItem = [BTNLineItem lineItemWithId:@"abc123" - amount:1599 - quantity:3 - description:@"Las Rocas"]; - - @endcode - @param identifier The identifier/sku for this line item (e.g. ‘sku-1234’). - @param amount Per item cost in the smallest decimal unit for this currency (e.g. 199 for $1.99). - @param quantity The number of items of this type. - @param description A name or description for this item (optional). - */ -+ (nonnull instancetype)lineItemWithId:(nonnull NSString *)identifier - amount:(NSInteger)amount - quantity:(NSInteger)quantity - description:(nullable NSString *)description; - - -/** - Each line item can have optional free form attributes associated with them. - @param attribute The attribute value. - @param key The key representing the attribute. - */ -- (void)addAttribute:(nonnull NSString *)attribute forKey:(nonnull NSString *)key; - - -/** - The attributes associated with this line item. - @return an NSDictionary of attributes. - */ -- (nullable NSDictionary *)attributes; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNListItem.h b/Button.framework/Versions/A/Headers/BTNListItem.h deleted file mode 100644 index f9b1c0b5..00000000 --- a/Button.framework/Versions/A/Headers/BTNListItem.h +++ /dev/null @@ -1,25 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNText.h" -#import "BTNImage.h" - -/** - BTNListItem objects specify information for rendering an inventory item. - */ -@interface BTNListItem : BTNModelObject - -/// The line item main text of the item. -@property (nullable, nonatomic, copy, readonly) BTNText *titleText; - - -/// Secondary text for the item. -@property (nullable, nonatomic, copy, readonly) BTNText *subtitleText; - - -/// Text to be rendered at the icon position (e.g. right aligned). -@property (nullable, nonatomic, copy, readonly) BTNText *iconText; - - -/// A small preview icon representing the item. -@property (nullable, nonatomic, copy, readonly) BTNImage *iconImage; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNLocation.h b/Button.framework/Versions/A/Headers/BTNLocation.h index 93b0dec7..0f5d0e11 100644 --- a/Button.framework/Versions/A/Headers/BTNLocation.h +++ b/Button.framework/Versions/A/Headers/BTNLocation.h @@ -8,6 +8,7 @@ NS_ASSUME_NONNULL_BEGIN +NS_SWIFT_NAME(Location) @interface BTNLocation : BTNBaseEntity ///--------------------- diff --git a/Button.framework/Versions/A/Headers/BTNMerchantAction.h b/Button.framework/Versions/A/Headers/BTNMerchantAction.h deleted file mode 100644 index 23ef0472..00000000 --- a/Button.framework/Versions/A/Headers/BTNMerchantAction.h +++ /dev/null @@ -1,47 +0,0 @@ -@import Foundation; - -/// Represents result of merchant action flow. -typedef NS_ENUM(NSInteger, BTNMerchantActionResult) { - /// An error occurred and Button could not proceed. - BTNMerchantActionResultError = 0, - /** - No action was presented. - @discussion This result is posted only when shouldPresentUnattributedAction on BTNMerchantActionSettings was set to NO. - */ - BTNMerchantActionResultNoActionPresented, - /// Button finished presenting an unattributed action. - BTNMerchantActionResultUnattributedActionEnded, - /// Button finished presenting an attributed action. - BTNMerchantActionResultAttributedActionEnded -}; - -NS_ASSUME_NONNULL_BEGIN - -@interface BTNMerchantAction : NSObject - -/// The url of a merchant or link provider (may include redirects). -@property (nonatomic, copy, readonly) NSURL *url; - - -/// A token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) -@property (nonatomic, copy, readonly) NSString * _Nullable publisherReference; - - -/** - Creates a new merchant action with a URL. - @param url The url of a merchant or link provider (may include redirects). - */ -+ (instancetype)actionWithURL:(NSURL *)url; - - -/** - Creates a new merchant action with a URL and a publisher reference. - @param url The url of a merchant or link provider (may include redirects). - @param publisherReference A token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) - */ -+ (instancetype)actionWithURL:(NSURL *)url - publisherReference:(nullable NSString *)publisherReference; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNMerchantActionSettings.h b/Button.framework/Versions/A/Headers/BTNMerchantActionSettings.h deleted file mode 100644 index c1712bf3..00000000 --- a/Button.framework/Versions/A/Headers/BTNMerchantActionSettings.h +++ /dev/null @@ -1,32 +0,0 @@ -@import Foundation; - -NS_ASSUME_NONNULL_BEGIN - -/** - Settings object is used to customize merchant action flow. - */ -@interface BTNMerchantActionSettings : NSObject - -/** - Unavailable. Use -initWithPresentUnattributedAction: instead. - @return Returns nil. - */ -- (instancetype)init NS_UNAVAILABLE; - - -/** - Initializes a new settings instance. - @param shouldPresentUnattributedAction Indicates whether Button should present unattributed action to user. - */ -- (instancetype)initWithPresentUnattributedAction:(BOOL)shouldPresentUnattributedAction; - - -/** - Indicates whether Button should present unattributed action to user. - Set YES and Button will present unattributed action in a web view. No-op otherwise. - */ -@property (nonatomic, assign, readonly) BOOL shouldPresentUnattributedAction; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNMusicArtist.h b/Button.framework/Versions/A/Headers/BTNMusicArtist.h index 267c1622..5604f37e 100644 --- a/Button.framework/Versions/A/Headers/BTNMusicArtist.h +++ b/Button.framework/Versions/A/Headers/BTNMusicArtist.h @@ -7,6 +7,7 @@ NS_ASSUME_NONNULL_BEGIN +NS_SWIFT_NAME(MusicArtist) @interface BTNMusicArtist : BTNBaseEntity /** diff --git a/Button.framework/Versions/A/Headers/BTNPreview.h b/Button.framework/Versions/A/Headers/BTNPreview.h deleted file mode 100644 index 7c0a5a35..00000000 --- a/Button.framework/Versions/A/Headers/BTNPreview.h +++ /dev/null @@ -1,27 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNBackground.h" -#import "BTNImage.h" -#import "BTNText.h" - -/** - This class represents the data for rendering a button “preview”. - BTNPreview objects specify information about how a button should appear and behave. - */ -@interface BTNPreview : BTNModelObject - -/// An optional title text. -@property (nullable, nonatomic, copy, readonly) BTNText *titleText; - - -/// The button text. -@property (nullable, nonatomic, copy, readonly) BTNText *labelText; - - -/// The background fill details of the button. -@property (nullable, nonatomic, copy, readonly) BTNBackground *background; - - -/// An icon image to be renderd on the button. -@property (nullable, nonatomic, copy, readonly) BTNImage *iconImage; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNProductCardData.h b/Button.framework/Versions/A/Headers/BTNProductCardData.h deleted file mode 100644 index c61b7bf8..00000000 --- a/Button.framework/Versions/A/Headers/BTNProductCardData.h +++ /dev/null @@ -1,31 +0,0 @@ -#import "BTNModelObject.h" -#import "BTNBackground.h" -#import "BTNImage.h" -#import "BTNText.h" - -/** - BTNProduct objects specify information about rendering a single product. - */ - -@interface BTNProductCardData : BTNModelObject - -/// The card background. -@property (nullable, nonatomic, copy, readonly) BTNBackground *background; - - -/// An array of product images. -@property (nullable, nonatomic, copy, readonly) NSArray *images; - - -/// The main title text. -@property (nullable, nonatomic, copy, readonly) BTNText *titleText; - - -/// Secondary text representing the item. -@property (nullable, nonatomic, copy, readonly) BTNText *subtitleText; - - -/// A potentially multi-line description text. -@property (nullable, nonatomic, copy, readonly) BTNText *descriptionText; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNPurchasePath.h b/Button.framework/Versions/A/Headers/BTNPurchasePath.h new file mode 100644 index 00000000..dd8c915d --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNPurchasePath.h @@ -0,0 +1,25 @@ +@import Foundation; + +NS_ASSUME_NONNULL_BEGIN + +NS_SWIFT_NAME(PurchasePath) +@interface BTNPurchasePath : NSObject + + +/** + The attribution token associated with the Purchase Path. + */ +@property (nonatomic, copy, readonly) NSString *attributionToken; + + +/** + Presents the user with the merchant product or category represented by the URL used to fetch the Purchase Path. + + @discussion + The Purchase Path may take the user to an embedded web view or the installed merchant app. + */ +- (void)start; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/BTNCheckoutExtensionProtocol.h b/Button.framework/Versions/A/Headers/BTNPurchasePathExtensionProtocol.h similarity index 57% rename from Button.framework/Versions/A/Headers/BTNCheckoutExtensionProtocol.h rename to Button.framework/Versions/A/Headers/BTNPurchasePathExtensionProtocol.h index 0a453dc4..b756aec0 100644 --- a/Button.framework/Versions/A/Headers/BTNCheckoutExtensionProtocol.h +++ b/Button.framework/Versions/A/Headers/BTNPurchasePathExtensionProtocol.h @@ -1,46 +1,46 @@ @import Foundation; -#import "BTNCheckoutInterfaceProtocol.h" +#import "BTNBrowserInterfaceProtocol.h" NS_ASSUME_NONNULL_BEGIN -@protocol BTNCheckoutExtension +@protocol BTNPurchasePathExtension @optional /** Called when the checkout initializes and before anything is displayed. - @param checkout The interface to the checkout object. + @param browser The interface to the checkout object. */ -- (void)checkoutDidInitialize:(id )checkout; +- (void)checkoutDidInitialize:(id )browser; /** Called when the checkout flow navigates to a new URL. - @param checkout The interface to the checkout object. + @param browser The interface to the checkout object. @param url The URL representing the current location of the checkout flow. */ -- (void)checkout:(id )checkout didNavigateToURL:(NSURL *)url; +- (void)checkout:(id )browser didNavigateToURL:(NSURL *)url; /** Called when the checkout flow navigates to a product. [BETA] - @param checkout The interface to the checkout object. + @param browser The interface to the checkout object. @param product An object representing the product. @see BTNProduct */ -- (void)checkout:(id )checkout didNavigateToProduct:(BTNProduct *)product commission:(BTNCommission *)commission; +- (void)checkout:(id )browser didNavigateToProduct:(BTNProduct *)product commission:(BTNCommission *)commission; /** Called when a purchase is completed. [BETA] @discussion This is not guaranteed to be called for every purchase as not all merchants are enabled for this feature. - @param checkout The interface to the checkout object. + @param browser The interface to the checkout object. */ -- (void)checkoutDidPurchase:(id )checkout; +- (void)checkoutDidPurchase:(id )browser; /** diff --git a/Button.framework/Versions/A/Headers/BTNPurchasePathInterfaceProtocol.h b/Button.framework/Versions/A/Headers/BTNPurchasePathInterfaceProtocol.h new file mode 100644 index 00000000..5828a9f0 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNPurchasePathInterfaceProtocol.h @@ -0,0 +1,49 @@ +@import Foundation; +#import "BTNPurchasePathExtensionProtocol.h" +#import "BTNPurchasePathRequest.h" +#import "BTNPurchasePath.h" + +NS_ASSUME_NONNULL_BEGIN + +@class BTNPurchasePathRequest, BTNPurchasePath; + + +/** + Button Purchase Path takes regular Merchant URLs to products, categories or just the homepage and replaces + them with a fully attributed Button Purchase Path, optimized for both conversion and user experience. + https://developer.usebutton.com/guides/publishers/ios/create-a-button-purchase-path + */ +NS_SWIFT_NAME(PurchasePathInterface) +@protocol BTNPurchasePathInterface + +@required + + +/** + Sets a Purchase Path extension. + + @discussion + Purchase Path Extensions is a feature designed to allow Publishers to create completely custom experiences + on top of Button In-App Checkout. Purchase Path Extensions build on the rich event framework including + User Activity Events & Checkout Events and communicate with users consistently through Checkout Cards -- + a simple UX for displaying modular information throughout the shopping experience. + */ +@property (nullable, nonatomic, strong) id extension; + + + +/** + Fetches a Purchase Path with a Purchase Path request. + + @param request A Purchase Path request. + @param purchasePathHandler A block to be called upon completion of the Purchase Path fetch. + The block passes a `purchasePath` on success or an `error` if one occurred. + */ +- (void)fetchWithRequest:(BTNPurchasePathRequest *)request + purchasePathHandler:(nonnull void(^)(BTNPurchasePath * __nullable purchasePath, NSError * __nullable error))purchasePathHandler NS_SWIFT_NAME(fetch(request:completion:)); + + +@end + +NS_ASSUME_NONNULL_END + diff --git a/Button.framework/Versions/A/Headers/BTNPurchasePathRequest.h b/Button.framework/Versions/A/Headers/BTNPurchasePathRequest.h new file mode 100644 index 00000000..07dc87d3 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNPurchasePathRequest.h @@ -0,0 +1,36 @@ +@import Foundation; + +NS_ASSUME_NONNULL_BEGIN + +/** + A Purchase Path request defines the parameters for a Purchase Path fetch. + + @see PurchasePathInterface + */ +NS_SWIFT_NAME(PurchasePathRequest) +@interface BTNPurchasePathRequest : NSObject + +/** + A merchant URL to a product, category or just the homepage. + */ +@property (nonatomic, copy, readonly) NSURL *URL; + + +/** + An optional token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) + */ +@property (nullable, nonatomic, copy) NSString *pubRef; + + +/** + Initializes a Purchase Path request for a given merchant URL. + + @param url A merchant URL to a product, category or just the homepage. + @return A new Purchase Path request. + */ ++ (instancetype)requestWithURL:(NSURL *)url NS_SWIFT_NAME(init(url:)); + +@end + +NS_ASSUME_NONNULL_END + diff --git a/Button.framework/Versions/A/Headers/BTNSession.h b/Button.framework/Versions/A/Headers/BTNSession.h deleted file mode 100644 index 2d4bc55c..00000000 --- a/Button.framework/Versions/A/Headers/BTNSession.h +++ /dev/null @@ -1,23 +0,0 @@ -#import "BTNModelObject.h" -@class BTNCustomer; - -@interface BTNSession : BTNModelObject - -@property (nullable, nonatomic, copy) NSString *sessionId; -@property (nullable, nonatomic, copy) BTNCustomer *customer; - -/// An optional sourceToken returned from a session. This is transient. -@property (nullable, nonatomic, copy) NSString *sourceToken; - -///--------------- -/// @name Equality -///--------------- - -/** - Returns a Boolean value that indicates whether a given BTNSession is equal to the receiver. - @param session The BTNSession with which to compare to the receiver. - @return YES if the BTNSession is equivalent to the receiver. - */ -- (BOOL)isEqualToSession:(nonnull BTNSession *)session; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNText.h b/Button.framework/Versions/A/Headers/BTNText.h deleted file mode 100644 index 7b88b0ff..00000000 --- a/Button.framework/Versions/A/Headers/BTNText.h +++ /dev/null @@ -1,16 +0,0 @@ -#import "BTNModelObject.h" -@import UIKit; - -/** - BTNText represent text and how it should be rendered. - */ -@interface BTNText : BTNModelObject - -/// A string of text. -@property (nullable, nonatomic, copy, readonly) NSString *text; - - -/// The color for rendering the associated `text'. -@property (nullable, nonatomic, copy, readonly) NSString *color; - -@end diff --git a/Button.framework/Versions/A/Headers/BTNTextProtocol.h b/Button.framework/Versions/A/Headers/BTNTextProtocol.h new file mode 100644 index 00000000..3b37ddf4 --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNTextProtocol.h @@ -0,0 +1,10 @@ +@import Foundation; + +@protocol BTNText + +@required +@property (nullable, nonatomic, copy) NSString *text; +@property (nullable, nonatomic, copy) UIColor *color; + +@end + diff --git a/Button.framework/Versions/A/Headers/BTNUserProtocol.h b/Button.framework/Versions/A/Headers/BTNUserProtocol.h new file mode 100644 index 00000000..cd9f90da --- /dev/null +++ b/Button.framework/Versions/A/Headers/BTNUserProtocol.h @@ -0,0 +1,14 @@ +@import Foundation; + +NS_ASSUME_NONNULL_BEGIN + +NS_SWIFT_NAME(User) +@protocol BTNUser +@required + +- (void)setIdentifier:(NSString *)identifier; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/Button.framework/Versions/A/Headers/BTNView.h b/Button.framework/Versions/A/Headers/BTNView.h deleted file mode 100644 index 2dc26b99..00000000 --- a/Button.framework/Versions/A/Headers/BTNView.h +++ /dev/null @@ -1,79 +0,0 @@ -@import UIKit; - -@interface BTNView : UIView - -/** - Indicates whether the view should ignore a clear color background. - @discussion Default is NO. Set to YES to prevent the background color from being set to clearColor by Apple - when used as a subview of a highlightable UITableViewCell. - */ -@property (nonatomic, assign, getter = shouldForceOpacity) BOOL forceOpacity; - - -/** - Initializes the view. Called from -initWithFrame: and -initWithCoder: - @discussion You should never call this method directly. Subclasses can override this method to initialize subviews. - @note You must call super in your implementation. - */ -- (void)initializeView NS_REQUIRES_SUPER; - - -/** - Indicates whether the constraints need updating. - @discussion Subclasses can override this method to return whether a constraint pass should occur. - The default implementation returns YES if the views bounds have changed since the last constraint pass. - @note You must call super in your implementation. - - @code - - (BOOL)shouldUpdateConstraints { - return [super shouldUpdateConstraints] || self.currentIndicator != self.newIndicator; - } - @endcode - */ -- (BOOL)shouldUpdateConstraints NS_REQUIRES_SUPER; - - -/** - Indicates whether the view is currently visible on the screen. - @discussion This method will return YES if the view's frame, converted to the logical coordinate system of the screen, is contained by the screen bounds and the view and its window have an alpha greater than 0.0 and are not hidden. - @note There are a couple caveats. 1) The method does not take into account any of its ancestors hidden or alpha values. 2) The method does not take into account whether the view is obscured by another view. - */ -- (BOOL)isVisible NS_REQUIRES_SUPER; - - -/** - Notifies the view that it is about to appear in the view heirarchy. - @discussion You should never call this method directly. Subclasses can override this method to be notified - that the view is about to be added to the view heirarchy. - @note You must call super in your implementation. - */ -- (void)willAppear NS_REQUIRES_SUPER; - - -/** - Notifies the view that it has appeared in the view heirarchy. - @discussion You should never call this method directly. Subclasses can override this method to be notified - that the view has been added to the view heirarchy. - @note You must call super in your implementation. - */ -- (void)didAppear NS_REQUIRES_SUPER; - - -/** - Notifies the view that it is about to be removed from a view hierarchy. - @discussion You should never call this method directly. Subclasses can override this method to be notified - that the view is about to be removed from the view heirarchy. - @note You must call super in your implementation. - */ -- (void)willDisappear NS_REQUIRES_SUPER; - - -/** - Notifies the view that it has been removed from a view hierarchy. - @discussion You should never call this method directly. Subclasses can override this method to be notified - that the view has been removed from the view heirarchy. - @note You must call super in your implementation. - */ -- (void)didDisappear NS_REQUIRES_SUPER; - -@end diff --git a/Button.framework/Versions/A/Headers/Button.h b/Button.framework/Versions/A/Headers/Button.h index 7fd278ed..a2916844 100644 --- a/Button.framework/Versions/A/Headers/Button.h +++ b/Button.framework/Versions/A/Headers/Button.h @@ -5,430 +5,131 @@ @import Foundation; #import "Button_Public.h" -@protocol BTNCheckoutExtension; +NS_ASSUME_NONNULL_BEGIN @interface Button : NSObject - -///---------------------------- -/// @name Shared Button Intance -///---------------------------- - - /** - Returns the singleton shared Button instance - @return Button object singleton - @note Returns nil on iOS7 and older platform versions - **/ -+ (nonnull Button *)sharedButton; - -@end - + The current SDK version (e.g. @"6.0.0") + */ +@property (class, readonly) NSString *version; -@protocol Button -@required -///-------------------- -/// @name Configuration -///-------------------- - +///----------------------- +/// @name Starting the SDK +///----------------------- /** - Configures a Button instance with the provided applicationId - - @param applicationId Your applicationId (required) - @param completionHandler A block to be executed upon completion (optional). - **/ -- (void)configureWithApplicationId:(nonnull NSString *)applicationId - completion:(nullable void(^)(NSError * __nullable error))completionHandler; - + Configures Button with your `applicationId`. -/** - Configures a Button instance with the provided applicationId + @note + Get your application Id from from the [Button Dashboard](https://app.usebutton.com) - @param applicationId Your applicationId (required) - @param userId The user identifier (if known) for the current user to associate with the Button session (optional). + @params applicationId Your applicationId (required) @param completionHandler A block to be executed upon completion (optional). - - @note If you do not have the Id of your logged in user when you call this method (typically in `-application:didFinishLaunchingWithOptions:`), - make sure you call `-setUserIdentifier:` once you've successfully acquired the Id for your logged in user. - - @discussion The completion handler takes two parameters - - error Will be set in the event of a configuration error. - - targetURL If not nil, a URL that specifies the user's expected destination in your app. - **/ -- (void)configureWithApplicationId:(nonnull NSString *)applicationId - userId:(nullable NSString *)userId - completion:(nullable void(^)(NSError * __nullable error, NSURL * __nullable targetURL))completionHandler; - - - -///---------------------- -/// @name User Identifier -///---------------------- - - -/** - Associate your ID for the current user with the Button session. - @param userIdentifier your identifier for the user. - @note This is required for attribution. - - @discussion To correctly configure Button for attribution, make sure to: - 1. Pass your logged in user's Id when configuring Button (use `-configureWithApplicationId:userId:completion:`). - 2. Call this method with your user's id after a user successfully logs into your app. - - If you don't have the Id of your logged in user in at the time you call `-configureWithApplicationId:userId:completion:` - (typically in `-application:didFinishLaunchingWithOptions:`), make sure you call this method once you've successfully - acquired the Id for your logged in user. - - Note that passing nil here is a noop and will not remove the user Id from the session. - If your user is logging out, call `-logOut` to reset the session and user data in Button. - **/ -- (void)setUserIdentifier:(nonnull NSString *)userIdentifier; - - - -///--------------------- -/// @name Button Actions -///--------------------- - - -/** - Fetches an app action for a buttonId and contextually relevant data. - @param buttonId The identifier for a button (e.g. btn-xxxxxxxxxxxx). - @param context A BTNContext object providing context about your user's current activity. - @param publisherReference A token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) - @param completionHandler A block to be executed upon completion. - - @discussion The completion handler takes two parameters - - appAction A BTNAppAction instance or nil if no action was found for the provided context. - - error An error will be present if a network or server error occurred. - - @note You should not cache app actions yourself. App actions are automatically cached for as long as their data is valid. - For example, calling this method again with the same `buttonId` and `context` will return a previously fetched - and cached app action if the action is still valid. */ -- (void)fetchAppActionWithButtonId:(nonnull NSString *)buttonId - context:(nonnull BTNContext *)context - publisherReference:(nullable NSString *)publisherReference - completion:(nonnull void(^)(BTNAppAction * __nullable appAction, NSError * __nullable error))completionHandler; ++ (void)configureWithApplicationId:(NSString *)applicationId + completion:(nullable void(^)(NSError * __nullable error))completionHandler NS_SWIFT_NAME(configure(applicationId:completion:)); -/** - @see -fetchAppActionWithButtonId:context:publisherReference:completion: - */ -- (void)fetchAppActionWithButtonId:(nonnull NSString *)buttonId - context:(nonnull BTNContext *)context - completion:(nonnull void(^)(BTNAppAction * __nullable appAction, NSError * __nullable error))completionHandler; +///------------------------------- +/// @name Fetching a Purchase Path +///------------------------------- /** - Checks whether Button has an action available for a buttonId and contextually relevant data. - @param buttonId The identifier for a button (e.g. btn-xxxxxxxxxxxx). - @param context A BTNContext object providing context about your user's current activity. - @param completionHandler A block to be executed upon completion. - */ -- (void)willDisplayButtonWithId:(nonnull NSString *)buttonId - context:(nonnull BTNContext *)context - completion:(nonnull void(^)(BOOL willDisplay))completionHandler; + Button Purchase Path takes regular Merchant URLs to products, categories or just the homepage and replaces + them with a fully attributed Button Purchase Path, optimized for both conversion and user experience. + https://developer.usebutton.com/guides/publishers/ios/create-a-button-purchase-path + Example usage: - -///-------------------- -/// @name Purchase Path -///-------------------- - - -/** - Fetches an app action for a supported url. - @param url A merchant or affilate url. - @param publisherReference A token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) - @param completionHandler A block to be executed upon completion. - - @discussion The completion handler takes two parameters - - appAction A BTNAppAction instance or nil if no action was found for the provided url. - - error An error will be present if an error occurred. - - @note Returned actions are NOT cached. - @note Returns immidiately if provided url is not supported. - */ -- (void)fetchAppActionWithURL:(nonnull NSURL *)url - publisherReference:(nullable NSString *)publisherReference - completion:(nonnull void(^)(BTNAppAction * __nullable appAction, NSError * __nullable error))completionHandler; - - -/** - @see -fetchAppActionWithURL:publisherReference:completion: - */ -- (void)fetchAppActionWithURL:(nonnull NSURL *)url - completion:(nonnull void(^)(BTNAppAction * __nullable appAction, NSError * __nullable error))completionHandler; - - -/** - Checks if app action can be fetched for provided url. - @param url A merchant or affilate url. - return BOOL indicating whether the Button SDK can fetch app action for provided url. - - @discussion Can be used with `- fetchAppActionWithURL:completion:` @code - if ([[Button sharedButton] canFetchAppActionWithURL:url]) { - [[Button sharedButton] fetchAppActionWithURL:url completion:^(BTNAppAction *appAction, NSError *error) { - if (appAction) { - [appAction invokeAction]; - } - }]; - } + BTNPurchasePathRequest *request = [BTNPurchasePathRequest requestWithURL:merchantURL]; + [Button.purchasePath fetchWithRequest:request purchasePathHandler:^(BTNPurchasePath *purchasePath, NSError *error) { + [purchasePath start]; + }]; @endcode */ -- (BOOL)canFetchAppActionWithURL:(nonnull NSURL *)url; - - -/** - Fetches an app action for a merchantId. - @param merchantId The identifier for a merchant (e.g. org-xxxxxxxxxxxx). - @param publisherReference A token to be associated with all downstream orders, transactions and webhooks. (Max 100 chars.) - @param completionHandler A block to be executed upon completion. - - @discussion The completion handler takes two parameters - - appAction A BTNAppAction instance or nil if no action was found for the provided merchantId. - - error An error will be present if a network or server error occurred. - - @note Returned actions are NOT cached. - */ -- (void)fetchAppActionWithMerchantId:(nonnull NSString *)merchantId - publisherReference:(nullable NSString *)publisherReference - completion:(nonnull void(^)(BTNAppAction * __nullable appAction, NSError * __nullable error))completionHandler; - - -/** - @see -fetchAppActionWithMerchantId:publisherReference:completion: - */ -- (void)fetchAppActionWithMerchantId:(nonnull NSString *)merchantId - completion:(nonnull void(^)(BTNAppAction * __nullable appAction, NSError * __nullable error))completionHandler; - - -/** - Pass your URL to Button via BTNMerchantAction. - - When starting a BTNMerchantAction, Button will take control and detect whether the URL - can be exchanged for a commissioned Checkout Flow including installing the merchant app if necessary. - If Button cannot exchange the URL, it will open it in an in-app web view. - - @param merchantAction The merchant link url and additional associated data. - */ -- (void)presentMerchantAction:(nonnull BTNMerchantAction *)merchantAction; - - -/** - Similar to -presentMerchantAction: - Includes a callback to know when the Button Checkout Flow has completed. - - @param merchantAction The merchant link url and additional associated data. - @param completionHandler A block to be executed upon completion. - - @discussion The completion handler takes two parameters - - result Result code of presentation. - - error An error will be present if an error occurred. - */ -- (void)presentMerchantAction:(nonnull BTNMerchantAction *)merchantAction - completion:(nonnull void (^)(BTNMerchantActionResult result, NSError * __nullable error))completionHandler; - - -/** - Similar to -presentMerchantAction: - Includes a BTNMerchantActionSettings to configure whether Button should handle URLs that it cannot commission. - - @param merchantAction The merchant link url and additional associated data. - @param settings Merchant Action presentation settings. - @param completionHandler A block to be executed upon completion. - - @discussion The completion handler takes two parameters - - result Result code of presentation. - - error An error will be present if an error occurred. - */ -- (void)presentMerchantAction:(nonnull BTNMerchantAction *)merchantAction - settings:(nonnull BTNMerchantActionSettings *)settings - completion:(nonnull void (^)(BTNMerchantActionResult result, NSError * __nullable error))completionHandler; - - +@property (class, readonly) id purchasePath; -///------------------------- -/// @name Checkout Extension -///------------------------- - - -/** - Sets a checkout extension to be used during the In-App Checkout experience. - @important The passed object will be strongly held by Button. - - @param checkoutExtension your object conforming to the CheckoutExtension protocol. - */ -- (void)setCheckoutExtension:(nullable id )checkoutExtension; ///------------------------------ -/// @name Reporting Custom Events +/// @name Fetching Button Actions ///------------------------------ - -/** - Report an event to Button. - @param eventName The name of the event. - @param properties A dictionary of key-value string pairs for adding detail to the event. - */ -- (void)reportEventWithName:(nonnull NSString *)eventName - properties:(nullable NSDictionary *)properties; - - - -///------------------------- -/// @name Deep Link Handling -///------------------------- - - /** - Continues incoming NSUserActivity objects from Universal Links (e.g. Button Links). - This method should be called from your application delegate method: @c - - -application:continueUserActivity:userActivity:restorationHandler: - - @return BOOL indicating whether the Button SDK can & *will* handle the userActivity. - **/ -- (BOOL)continueUserActivity:(nonnull NSUserActivity *)userActivity; - - -/** - Handles an incoming URL to your App. - This method should be called from your Application Delegate method: @c - - -application:openURL:sourceApplication:annotation: - - @return BOOL indicating whether the Button SDK can & *will* handle the URL. - **/ -- (BOOL)handleURL:(nonnull NSURL *)url; - - - -///------------------ -/// @name Attribution -///------------------ - -/** - Returns the current referrerToken for the last inbound link from - the Button marketplace or nil if none is present. - @return String value of the last inbound referrerToken - **/ -- (nullable NSString *)referrerToken; - - - -///--------------------- -/// @name Button Session -///--------------------- + Buttons provide relevant actions to your users, complete with a corresponding UI. Buttons can be configured + with one or more Merchants that they can offer to your users. + https://developer.usebutton.com/guides/publishers/ios/using-button-actions + Example usage: -/* - The current Button session. + @code + BTNLocation *subjectLocation = [BTNLocation locationWithLatitude:40.71 longitude:74.0]; + BTNActionQuery *query = [BTNActionQuery queryWithSubjectLocation:subjectLocation]; + BTNActionRequest *request = [BTNActionRequest requestWithButtonId:@"btn-abc123" query:query]; + [Button.actions fetchWithRequest:request actionhandler:^(BTNAction *buttonAction, NSError *error) { + [buttonAction start]; + }]; + @endcode */ -@property (nullable, nonatomic, copy, readonly) BTNSession *session; +@property (class, readonly) id actions; -///-------------- -/// @name Log Out -///-------------- +///----------------------- +/// @name User Association +///----------------------- /** - Discards the current session, discards any user unique data, and creates a new session. - **/ -- (void)logOut; - - - -///-------------------- -/// @name Debug Logging -///-------------------- - -/** - Sets whether the Button SDK will output debug log messages to the console. - @discussion You should ship to the App Store with this disabled. - - @param enabled Pass YES to enable debug log messages to the console. - @note The default value is NO. - */ -- (void)setDebugLoggingEnabled:(BOOL)enabled; - - - -@end - - -@interface Button () + Associate your user with a Button session. -///------------------ -/// @name Permissions -///------------------ + @discussion + You can associate all Button activity with one of your users by setting their User Identifier. + This can be your user ID, email or a stable hash of one. You can use this later to look up orders, + activity and identify the user in [Webhooks](https://developer.usebutton.com/guides/publishers/configure-webhooks). - -/** - @important - This functionality has been removed as of 5.30.0 (deprecated in 5.16.0). - If you relied on Button to request location permission for your app, - you can replace the functionality following [Apple's documentation) - (https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/requesting_when_in_use_authorization) - - @param isAllowed this parameter is ignored as of 5.30.0. + @code + Button.user.setIdentifier(myLoggedInUser.identifier); + @endcode */ -+ (void)allowButtonToRequestLocationPermission:(BOOL)isAllowed DEPRECATED_MSG_ATTRIBUTE("Button's location permission request flow has been removed. Please provide location in an instance of BTNContext instead."); - +@property (class, readonly) id user; -///---------------------- -/// @name Developer Setup -///---------------------- +///---------------- +/// @name Debugging +///---------------- /** - Reports associated domain configuration when your build is developer signed ONLY (enabled by default). - @note This should be enabled when you're setting up the SDK to make sure your bttn.io domains are - set up correctly in the Button Dashboard. If you have a large binary, you can pass `NO` to disable this - feature after you've confirmed your bttn.io universal links are properly configured. - @param enabled Pass NO to disable developer build reporting. - */ -+ (void)setDeveloperBuildReportingEnabled:(BOOL)enabled; - + Debug the Button SDK. + @discussion + Enable debug logging during integration for more visibility. -///---------------------------- -/// @name Automatic Attribution -///---------------------------- - - -/** - Incoming URLs are automatically routed to Button for attribution by default. - @note It is highly recommended that you leave this feature enabled. - @discussion If you prefer to follow the manual integration steps to route incoming URLs to Button - for attribution, you can disable this feature by overriding +load in you app delegate: @code - + (void)load { - [Button setAutomaticAttributionEnabled:NO]; - } + Button.debug.loggingEnabled = YES; @endcode */ -+ (void)setAutomaticAttributionEnabled:(BOOL)enabled; - +@property (class, readonly) id debug; -///-------------- -/// @name Version -///-------------- +///-------------------- +/// @name Clearing Data +///-------------------- /** - Version of the Button SDK - **/ -+ (nonnull NSString *)sdkVersion; + Discards the current session and all persisted data. + @discussion + Call this method in your log out handler if/when your user logs out of your app. + */ ++ (void)clearAllData; @end + +NS_ASSUME_NONNULL_END diff --git a/Button.framework/Versions/A/Headers/Button_Deprecated.h b/Button.framework/Versions/A/Headers/Button_Deprecated.h deleted file mode 100644 index 28d12ed3..00000000 --- a/Button.framework/Versions/A/Headers/Button_Deprecated.h +++ /dev/null @@ -1,30 +0,0 @@ -@import Foundation; - -@protocol ButtonDeprecated - -///------------------------------------------- -/// @name Order Reporting - FEATURE DEPRECATED -///------------------------------------------- - -/** - Reports an order to Button with line items. - @param orderId An order identifier (required). - @param currencyCode The ISO 4217 currency code. (default is USD). - @param lineItems An array of BTNLineItem objects. - */ -- (void)reportOrderWithId:(nonnull NSString *)orderId - currencyCode:(nonnull NSString *)currencyCode - lineItems:(nonnull NSArray *)lineItems DEPRECATED_MSG_ATTRIBUTE("Please use our order API - https://www.usebutton.com/developers/api-reference/#create-order"); - - -/** - Reports an order to Button. - @param orderValue The total order value in the smallest decimal unit for this currency (e.g. 3999 for $39.99). - @param orderId An order identifier (required). - @param currencyCode The ISO 4217 currency code. (default is USD). - */ -- (void)reportOrderWithValue:(NSInteger)orderValue - orderId:(nonnull NSString *)orderId - currencyCode:(nonnull NSString *)currencyCode DEPRECATED_MSG_ATTRIBUTE("Please use our order API - https://www.usebutton.com/developers/api-reference/#create-order"); - -@end diff --git a/Button.framework/Versions/A/Headers/Button_Public.h b/Button.framework/Versions/A/Headers/Button_Public.h index 219d2adf..23c80b68 100644 --- a/Button.framework/Versions/A/Headers/Button_Public.h +++ b/Button.framework/Versions/A/Headers/Button_Public.h @@ -1,28 +1,7 @@ -// Session -#import "BTNSession.h" - -// UI Components -#import "BTNDropinButton.h" -#import "BTNDropinButtonCell.h" -#import "BTNInteractiveButton.h" - -// Context -#import "BTNContext.h" - -// Actions -#import "BTNAppAction.h" -#import "BTNMerchantAction.h" -#import "BTNMerchantActionSettings.h" - -// Checkout -#import "BTNCheckoutExtensionProtocol.h" - -// Orders -#import "BTNLineItem.h" - -// Deprecations -#import "Button_Deprecated.h" - +#import "BTNPurchasePathInterfaceProtocol.h" +#import "BTNButtonActionsInterfaceProtocol.h" +#import "BTNDebugInterfaceProtocol.h" +#import "BTNUserProtocol.h" // System @import SystemConfiguration; diff --git a/Button.podspec b/Button.podspec index 839033a4..069d6388 100644 --- a/Button.podspec +++ b/Button.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "Button" - s.version = "5.31.0" + s.version = "6.0.0" s.summary = "Button iOS SDK." s.description = <<-DESC @@ -14,7 +14,7 @@ Pod::Spec.new do |s| s.license = "Private" s.author = "Button, Inc" - s.platform = :ios, "7.0" + s.platform = :ios, "9.0" s.source = { :git => "https://github.com/button/button-ios.git", :tag => "v#{s.version}" } @@ -27,7 +27,6 @@ Pod::Spec.new do |s| s.vendored_frameworks = 'Button.framework' s.resource = 'Button.bundle' - s.framework = "CoreLocation" s.framework = "AdSupport" end diff --git a/Examples/Info.plist b/Examples/Info.plist deleted file mode 100644 index 724383be..00000000 --- a/Examples/Info.plist +++ /dev/null @@ -1,64 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIcons - - CFBundleIcons~ipad - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSApplicationQueriesSchemes - - uber - reservetable-com.contextoptional.OpenTable-1 - drizly - button - ticketmaster - resy - parkingpanda - airbnb - zeel - glamsquad - - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - - NSLocationWhenInUseUsageDescription - We need your location to get you a ride. - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/project.pbxproj b/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/project.pbxproj deleted file mode 100644 index 180ad8c7..00000000 --- a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,495 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 37A5C6CF5249309A3381C918 /* libPods-CocoaPodsExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 17D65E8A64ED000658021B8C /* libPods-CocoaPodsExample.a */; }; - DE5AF19A1B4DC53E006F2210 /* SimpleButtonExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5AF1951B4DC53E006F2210 /* SimpleButtonExampleViewController.m */; }; - DE5AF19B1B4DC53E006F2210 /* TableCellButtonExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5AF1981B4DC53E006F2210 /* TableCellButtonExampleViewController.m */; }; - DEC2AAD91ADC278900ED8393 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DEC2AAD81ADC278900ED8393 /* main.m */; }; - DEC2AADC1ADC278900ED8393 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DEC2AADB1ADC278900ED8393 /* AppDelegate.m */; }; - DEC2AAE21ADC278900ED8393 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DEC2AAE01ADC278900ED8393 /* Main.storyboard */; }; - DEC2AAE41ADC278900ED8393 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DEC2AAE31ADC278900ED8393 /* Images.xcassets */; }; - DEEA2F9C1B4DB8480009380F /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = DEEA2F9B1B4DB8480009380F /* LaunchScreen.xib */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 17D65E8A64ED000658021B8C /* libPods-CocoaPodsExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CocoaPodsExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3CD3966F4477B42888FEDF03 /* Pods-CocoaPodsExample.qa.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoaPodsExample.qa.xcconfig"; path = "Pods/Target Support Files/Pods-CocoaPodsExample/Pods-CocoaPodsExample.qa.xcconfig"; sourceTree = ""; }; - 46FAE53A0679082440022360 /* Pods-CocoaPodsExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoaPodsExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CocoaPodsExample/Pods-CocoaPodsExample.debug.xcconfig"; sourceTree = ""; }; - DE5AF1941B4DC53E006F2210 /* SimpleButtonExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleButtonExampleViewController.h; path = "../Example-Source/Simple Button/SimpleButtonExampleViewController.h"; sourceTree = SOURCE_ROOT; }; - DE5AF1951B4DC53E006F2210 /* SimpleButtonExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimpleButtonExampleViewController.m; path = "../Example-Source/Simple Button/SimpleButtonExampleViewController.m"; sourceTree = SOURCE_ROOT; }; - DE5AF1971B4DC53E006F2210 /* TableCellButtonExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TableCellButtonExampleViewController.h; path = "../Example-Source/Table Cell Button/TableCellButtonExampleViewController.h"; sourceTree = SOURCE_ROOT; }; - DE5AF1981B4DC53E006F2210 /* TableCellButtonExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TableCellButtonExampleViewController.m; path = "../Example-Source/Table Cell Button/TableCellButtonExampleViewController.m"; sourceTree = SOURCE_ROOT; }; - DEC2AAD31ADC278900ED8393 /* CocoaPodsExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CocoaPodsExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - DEC2AAD71ADC278900ED8393 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../../Info.plist; sourceTree = SOURCE_ROOT; }; - DEC2AAD81ADC278900ED8393 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "../Example-Source/main.m"; sourceTree = SOURCE_ROOT; }; - DEC2AADA1ADC278900ED8393 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "../Example-Source/AppDelegate.h"; sourceTree = SOURCE_ROOT; }; - DEC2AADB1ADC278900ED8393 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "../Example-Source/AppDelegate.m"; sourceTree = SOURCE_ROOT; }; - DEC2AAE11ADC278900ED8393 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - DEC2AAE31ADC278900ED8393 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "../Example-Source/Images.xcassets"; sourceTree = SOURCE_ROOT; }; - DEEA2F9B1B4DB8480009380F /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = SOURCE_ROOT; }; - E5E0162BD8EFE5B07C4FC9F2 /* Pods-CocoaPodsExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CocoaPodsExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-CocoaPodsExample/Pods-CocoaPodsExample.release.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - DEC2AAD01ADC278900ED8393 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 37A5C6CF5249309A3381C918 /* libPods-CocoaPodsExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 022C4835A500B1C32EE90741 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 17D65E8A64ED000658021B8C /* libPods-CocoaPodsExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 44FA8B2C489E283C75677840 /* Pods */ = { - isa = PBXGroup; - children = ( - 46FAE53A0679082440022360 /* Pods-CocoaPodsExample.debug.xcconfig */, - 3CD3966F4477B42888FEDF03 /* Pods-CocoaPodsExample.qa.xcconfig */, - E5E0162BD8EFE5B07C4FC9F2 /* Pods-CocoaPodsExample.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; - DE5AF1931B4DC53E006F2210 /* Simple Button */ = { - isa = PBXGroup; - children = ( - DE5AF1941B4DC53E006F2210 /* SimpleButtonExampleViewController.h */, - DE5AF1951B4DC53E006F2210 /* SimpleButtonExampleViewController.m */, - ); - name = "Simple Button"; - path = "../../Example-Source/Simple Button"; - sourceTree = ""; - }; - DE5AF1961B4DC53E006F2210 /* Table Cell Button */ = { - isa = PBXGroup; - children = ( - DE5AF1971B4DC53E006F2210 /* TableCellButtonExampleViewController.h */, - DE5AF1981B4DC53E006F2210 /* TableCellButtonExampleViewController.m */, - ); - name = "Table Cell Button"; - path = "../../Example-Source/Table Cell Button"; - sourceTree = ""; - }; - DEC2AACA1ADC278900ED8393 = { - isa = PBXGroup; - children = ( - DEC2AAD51ADC278900ED8393 /* Button CocoaPods Example */, - DEC2AAD41ADC278900ED8393 /* Products */, - 44FA8B2C489E283C75677840 /* Pods */, - 022C4835A500B1C32EE90741 /* Frameworks */, - ); - sourceTree = ""; - }; - DEC2AAD41ADC278900ED8393 /* Products */ = { - isa = PBXGroup; - children = ( - DEC2AAD31ADC278900ED8393 /* CocoaPodsExample.app */, - ); - name = Products; - sourceTree = ""; - }; - DEC2AAD51ADC278900ED8393 /* Button CocoaPods Example */ = { - isa = PBXGroup; - children = ( - DEC2AADA1ADC278900ED8393 /* AppDelegate.h */, - DEC2AADB1ADC278900ED8393 /* AppDelegate.m */, - DEC2AAE01ADC278900ED8393 /* Main.storyboard */, - DE5AF1931B4DC53E006F2210 /* Simple Button */, - DE5AF1961B4DC53E006F2210 /* Table Cell Button */, - DEC2AAD61ADC278900ED8393 /* Supporting Files */, - ); - name = "Button CocoaPods Example"; - path = "Button-CocoaPods"; - sourceTree = ""; - }; - DEC2AAD61ADC278900ED8393 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DEC2AAE31ADC278900ED8393 /* Images.xcassets */, - DEEA2F9B1B4DB8480009380F /* LaunchScreen.xib */, - DEC2AAD71ADC278900ED8393 /* Info.plist */, - DEC2AAD81ADC278900ED8393 /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - DEC2AAD21ADC278900ED8393 /* CocoaPodsExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = DEC2AAF61ADC278900ED8393 /* Build configuration list for PBXNativeTarget "CocoaPodsExample" */; - buildPhases = ( - 7B1B4959D11081064A3A8595 /* [CP] Check Pods Manifest.lock */, - DE9327B71BF4684800F86EAD /* QA Setup */, - DEC2AACF1ADC278900ED8393 /* Sources */, - DEC2AAD01ADC278900ED8393 /* Frameworks */, - DEC2AAD11ADC278900ED8393 /* Resources */, - 37CF1CB77B0EBC14E1C124C3 /* [CP] Copy Pods Resources */, - 105FF43D3D45D5F641415F4C /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = CocoaPodsExample; - productName = "Button-CocoaPods-Example"; - productReference = DEC2AAD31ADC278900ED8393 /* CocoaPodsExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - DEC2AACB1ADC278900ED8393 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0800; - ORGANIZATIONNAME = "Button, Inc"; - TargetAttributes = { - DEC2AAD21ADC278900ED8393 = { - CreatedOnToolsVersion = 6.2; - }; - }; - }; - buildConfigurationList = DEC2AACE1ADC278900ED8393 /* Build configuration list for PBXProject "CocoaPodsExample" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = DEC2AACA1ADC278900ED8393; - productRefGroup = DEC2AAD41ADC278900ED8393 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - DEC2AAD21ADC278900ED8393 /* CocoaPodsExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - DEC2AAD11ADC278900ED8393 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DEC2AAE21ADC278900ED8393 /* Main.storyboard in Resources */, - DEEA2F9C1B4DB8480009380F /* LaunchScreen.xib in Resources */, - DEC2AAE41ADC278900ED8393 /* Images.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 105FF43D3D45D5F641415F4C /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaPodsExample/Pods-CocoaPodsExample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 37CF1CB77B0EBC14E1C124C3 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-CocoaPodsExample/Pods-CocoaPodsExample-resources.sh", - "${PODS_ROOT}/../../../../Button.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CocoaPodsExample/Pods-CocoaPodsExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 7B1B4959D11081064A3A8595 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-CocoaPodsExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - DE9327B71BF4684800F86EAD /* QA Setup */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "QA Setup"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "QA_SCRIPT=\"${SRCROOT}/../../../../.qa/qa-setup.sh\"\nif [ -f ${QA_SCRIPT} ]; then\n \"${QA_SCRIPT}\"\nfi\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - DEC2AACF1ADC278900ED8393 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DEC2AADC1ADC278900ED8393 /* AppDelegate.m in Sources */, - DEC2AAD91ADC278900ED8393 /* main.m in Sources */, - DE5AF19A1B4DC53E006F2210 /* SimpleButtonExampleViewController.m in Sources */, - DE5AF19B1B4DC53E006F2210 /* TableCellButtonExampleViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - DEC2AAE01ADC278900ED8393 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - DEC2AAE11ADC278900ED8393 /* Base */, - ); - name = Main.storyboard; - path = "../Example-Source"; - sourceTree = SOURCE_ROOT; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - DE9327AC1BF45C4F00F86EAD /* QA */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; - 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", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 8.2; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = QA; - }; - DE9327AD1BF45C4F00F86EAD /* QA */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3CD3966F4477B42888FEDF03 /* Pods-CocoaPodsExample.qa.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - BTN_ARBITRARY_LOADS = YES; - GCC_PREFIX_HEADER = "$(SRCROOT)/../../../../.qa/QA-prefix.pch"; - INFOPLIST_FILE = "$(SRCROOT)/../../Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.usebutton.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = CocoaPodsExample; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = QA; - }; - DEC2AAF41ADC278900ED8393 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; - 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", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 8.2; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - DEC2AAF51ADC278900ED8393 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; - 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_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 = 8.2; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - DEC2AAF71ADC278900ED8393 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 46FAE53A0679082440022360 /* Pods-CocoaPodsExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = "$(SRCROOT)/../../Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.usebutton.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = CocoaPodsExample; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - DEC2AAF81ADC278900ED8393 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E5E0162BD8EFE5B07C4FC9F2 /* Pods-CocoaPodsExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - INFOPLIST_FILE = "$(SRCROOT)/../../Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.usebutton.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = CocoaPodsExample; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - DEC2AACE1ADC278900ED8393 /* Build configuration list for PBXProject "CocoaPodsExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DEC2AAF41ADC278900ED8393 /* Debug */, - DE9327AC1BF45C4F00F86EAD /* QA */, - DEC2AAF51ADC278900ED8393 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DEC2AAF61ADC278900ED8393 /* Build configuration list for PBXNativeTarget "CocoaPodsExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DEC2AAF71ADC278900ED8393 /* Debug */, - DE9327AD1BF45C4F00F86EAD /* QA */, - DEC2AAF81ADC278900ED8393 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = DEC2AACB1ADC278900ED8393 /* Project object */; -} diff --git a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index a5c2b679..00000000 --- a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/xcshareddata/xcschemes/Example.xcscheme deleted file mode 100644 index a08d8537..00000000 --- a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcworkspace/contents.xcworkspacedata b/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 93de6c89..00000000 --- a/Examples/Objective-C/Button-CocoaPods/CocoaPodsExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/Examples/Objective-C/Button-CocoaPods/LaunchScreen.xib b/Examples/Objective-C/Button-CocoaPods/LaunchScreen.xib deleted file mode 100644 index cf2be826..00000000 --- a/Examples/Objective-C/Button-CocoaPods/LaunchScreen.xib +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/Objective-C/Button-CocoaPods/Podfile b/Examples/Objective-C/Button-CocoaPods/Podfile deleted file mode 100644 index f0c55b79..00000000 --- a/Examples/Objective-C/Button-CocoaPods/Podfile +++ /dev/null @@ -1,6 +0,0 @@ -platform :ios, '8.0' - -target 'CocoaPodsExample' do - pod 'Button', :path => '../../../' -end - diff --git a/Examples/Objective-C/Button-CocoaPods/Podfile.lock b/Examples/Objective-C/Button-CocoaPods/Podfile.lock deleted file mode 100644 index e0b52676..00000000 --- a/Examples/Objective-C/Button-CocoaPods/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - Button (5.31.0) - -DEPENDENCIES: - - Button (from `../../../`) - -EXTERNAL SOURCES: - Button: - :path: ../../../ - -SPEC CHECKSUMS: - Button: 67158a7f28fb79a0d38d59294286627cd026dd51 - -PODFILE CHECKSUM: b62f13ba0b325840ecb1fce12a2403f20a0d77fe - -COCOAPODS: 1.4.0.beta.1 diff --git a/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/project.pbxproj b/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/project.pbxproj deleted file mode 100644 index be64c761..00000000 --- a/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,479 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - DE2B66251AD6CA4900C7C25B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = DE2B66241AD6CA4900C7C25B /* main.m */; }; - DE2B66281AD6CA4900C7C25B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = DE2B66271AD6CA4900C7C25B /* AppDelegate.m */; }; - DE2B66301AD6CA4900C7C25B /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DE2B662F1AD6CA4900C7C25B /* Images.xcassets */; }; - DEB0C3351BAA842D00FEBE36 /* Button.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEB0C3331BAA842D00FEBE36 /* Button.framework */; }; - DEC2AAB51AD8A29500ED8393 /* AdSupport.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEC2AAB41AD8A29500ED8393 /* AdSupport.framework */; }; - DEC2AABA1AD8A2E300ED8393 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEC2AAB61AD8A2A600ED8393 /* MobileCoreServices.framework */; }; - DEC2AABC1AD8A2F900ED8393 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEC2AABB1AD8A2F900ED8393 /* SystemConfiguration.framework */; }; - DEC2AABE1AD8A30800ED8393 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DEC2AABD1AD8A30800ED8393 /* Security.framework */; }; - DEDD26071BAA8E4000D957A1 /* Button.bundle in Resources */ = {isa = PBXBuildFile; fileRef = DEDD26061BAA8E4000D957A1 /* Button.bundle */; }; - DEEA2F941B4DB46E0009380F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DE2B662C1AD6CA4900C7C25B /* Main.storyboard */; }; - DEEA2F9A1B4DB8220009380F /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = DEEA2F991B4DB8220009380F /* LaunchScreen.xib */; }; - DEEA2FA21B4DBDC20009380F /* TableCellButtonExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DEEA2FA11B4DBDC20009380F /* TableCellButtonExampleViewController.m */; }; - DEEA2FA61B4DBDFA0009380F /* SimpleButtonExampleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DEEA2FA51B4DBDFA0009380F /* SimpleButtonExampleViewController.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - DE2B661F1AD6CA4900C7C25B /* FrameworkExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FrameworkExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - DE2B66231AD6CA4900C7C25B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ../../Info.plist; sourceTree = SOURCE_ROOT; }; - DE2B66241AD6CA4900C7C25B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "../Example-Source/main.m"; sourceTree = SOURCE_ROOT; }; - DE2B66261AD6CA4900C7C25B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "../Example-Source/AppDelegate.h"; sourceTree = SOURCE_ROOT; }; - DE2B66271AD6CA4900C7C25B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "../Example-Source/AppDelegate.m"; sourceTree = SOURCE_ROOT; }; - DE2B662D1AD6CA4900C7C25B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - DE2B662F1AD6CA4900C7C25B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = "../Example-Source/Images.xcassets"; sourceTree = SOURCE_ROOT; }; - DEB0C3331BAA842D00FEBE36 /* Button.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Button.framework; path = ../../../Button.framework; sourceTree = SOURCE_ROOT; }; - DEC2AAB41AD8A29500ED8393 /* AdSupport.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AdSupport.framework; path = System/Library/Frameworks/AdSupport.framework; sourceTree = SDKROOT; }; - DEC2AAB61AD8A2A600ED8393 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; }; - DEC2AAB81AD8A2B600ED8393 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; - DEC2AABB1AD8A2F900ED8393 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; - DEC2AABD1AD8A30800ED8393 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; - DEDD26061BAA8E4000D957A1 /* Button.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Button.bundle; path = ../../../Button.bundle; sourceTree = SOURCE_ROOT; }; - DEEA2F991B4DB8220009380F /* LaunchScreen.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = SOURCE_ROOT; }; - DEEA2FA01B4DBDC20009380F /* TableCellButtonExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TableCellButtonExampleViewController.h; path = "../Example-Source/Table Cell Button/TableCellButtonExampleViewController.h"; sourceTree = SOURCE_ROOT; }; - DEEA2FA11B4DBDC20009380F /* TableCellButtonExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TableCellButtonExampleViewController.m; path = "../Example-Source/Table Cell Button/TableCellButtonExampleViewController.m"; sourceTree = SOURCE_ROOT; }; - DEEA2FA41B4DBDFA0009380F /* SimpleButtonExampleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleButtonExampleViewController.h; path = "../Example-Source/Simple Button/SimpleButtonExampleViewController.h"; sourceTree = SOURCE_ROOT; }; - DEEA2FA51B4DBDFA0009380F /* SimpleButtonExampleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimpleButtonExampleViewController.m; path = "../Example-Source/Simple Button/SimpleButtonExampleViewController.m"; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - DE2B661C1AD6CA4900C7C25B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DEC2AABE1AD8A30800ED8393 /* Security.framework in Frameworks */, - DEC2AABC1AD8A2F900ED8393 /* SystemConfiguration.framework in Frameworks */, - DEB0C3351BAA842D00FEBE36 /* Button.framework in Frameworks */, - DEC2AABA1AD8A2E300ED8393 /* MobileCoreServices.framework in Frameworks */, - DEC2AAB51AD8A29500ED8393 /* AdSupport.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - DE2B66161AD6CA4900C7C25B = { - isa = PBXGroup; - children = ( - DE2B66211AD6CA4900C7C25B /* Button Framework Example */, - DE2B66201AD6CA4900C7C25B /* Products */, - ); - sourceTree = ""; - }; - DE2B66201AD6CA4900C7C25B /* Products */ = { - isa = PBXGroup; - children = ( - DE2B661F1AD6CA4900C7C25B /* FrameworkExample.app */, - ); - name = Products; - sourceTree = ""; - }; - DE2B66211AD6CA4900C7C25B /* Button Framework Example */ = { - isa = PBXGroup; - children = ( - DE2B66261AD6CA4900C7C25B /* AppDelegate.h */, - DE2B66271AD6CA4900C7C25B /* AppDelegate.m */, - DE2B662C1AD6CA4900C7C25B /* Main.storyboard */, - DEEA2FA31B4DBDFA0009380F /* Simple Button */, - DEEA2F9E1B4DBCE60009380F /* Table Cell Button */, - DE2B66221AD6CA4900C7C25B /* Supporting Files */, - DEC2AAAA1AD85B5D00ED8393 /* Vendor */, - DEC2AABF1AD8A37C00ED8393 /* Frameworks */, - ); - name = "Button Framework Example"; - path = "Button-Framework"; - sourceTree = ""; - }; - DE2B66221AD6CA4900C7C25B /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DE2B662F1AD6CA4900C7C25B /* Images.xcassets */, - DEEA2F991B4DB8220009380F /* LaunchScreen.xib */, - DE2B66231AD6CA4900C7C25B /* Info.plist */, - DE2B66241AD6CA4900C7C25B /* main.m */, - ); - name = "Supporting Files"; - path = "../Example-Source/Supporting Files"; - sourceTree = ""; - }; - DEC2AAAA1AD85B5D00ED8393 /* Vendor */ = { - isa = PBXGroup; - children = ( - DEC2AAAF1AD85B9900ED8393 /* Button */, - ); - name = Vendor; - sourceTree = ""; - }; - DEC2AAAF1AD85B9900ED8393 /* Button */ = { - isa = PBXGroup; - children = ( - DEDD26061BAA8E4000D957A1 /* Button.bundle */, - DEB0C3331BAA842D00FEBE36 /* Button.framework */, - ); - name = Button; - sourceTree = ""; - }; - DEC2AABF1AD8A37C00ED8393 /* Frameworks */ = { - isa = PBXGroup; - children = ( - DEC2AABD1AD8A30800ED8393 /* Security.framework */, - DEC2AABB1AD8A2F900ED8393 /* SystemConfiguration.framework */, - DEC2AAB81AD8A2B600ED8393 /* CFNetwork.framework */, - DEC2AAB61AD8A2A600ED8393 /* MobileCoreServices.framework */, - DEC2AAB41AD8A29500ED8393 /* AdSupport.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - DEEA2F9E1B4DBCE60009380F /* Table Cell Button */ = { - isa = PBXGroup; - children = ( - DEEA2FA01B4DBDC20009380F /* TableCellButtonExampleViewController.h */, - DEEA2FA11B4DBDC20009380F /* TableCellButtonExampleViewController.m */, - ); - name = "Table Cell Button"; - sourceTree = ""; - }; - DEEA2FA31B4DBDFA0009380F /* Simple Button */ = { - isa = PBXGroup; - children = ( - DEEA2FA41B4DBDFA0009380F /* SimpleButtonExampleViewController.h */, - DEEA2FA51B4DBDFA0009380F /* SimpleButtonExampleViewController.m */, - ); - name = "Simple Button"; - path = "../../Example-Source/Simple Button"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - DE2B661E1AD6CA4900C7C25B /* FrameworkExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = DE2B66421AD6CA4900C7C25B /* Build configuration list for PBXNativeTarget "FrameworkExample" */; - buildPhases = ( - DE9753B01BF4D90800257FE2 /* QA Setup */, - DE2B661B1AD6CA4900C7C25B /* Sources */, - DE2B661C1AD6CA4900C7C25B /* Frameworks */, - DE2B661D1AD6CA4900C7C25B /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = FrameworkExample; - productName = "Button-Framework-Example"; - productReference = DE2B661F1AD6CA4900C7C25B /* FrameworkExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - DE2B66171AD6CA4900C7C25B /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0800; - ORGANIZATIONNAME = "Button, Inc"; - TargetAttributes = { - DE2B661E1AD6CA4900C7C25B = { - CreatedOnToolsVersion = 6.2; - }; - }; - }; - buildConfigurationList = DE2B661A1AD6CA4900C7C25B /* Build configuration list for PBXProject "FrameworkExample" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = DE2B66161AD6CA4900C7C25B; - productRefGroup = DE2B66201AD6CA4900C7C25B /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - DE2B661E1AD6CA4900C7C25B /* FrameworkExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - DE2B661D1AD6CA4900C7C25B /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DEEA2F9A1B4DB8220009380F /* LaunchScreen.xib in Resources */, - DEDD26071BAA8E4000D957A1 /* Button.bundle in Resources */, - DEEA2F941B4DB46E0009380F /* Main.storyboard in Resources */, - DE2B66301AD6CA4900C7C25B /* Images.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - DE9753B01BF4D90800257FE2 /* QA Setup */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "QA Setup"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "QA_SCRIPT=\"${SRCROOT}/../../../../.qa/qa-setup.sh\"\nif [ -f ${QA_SCRIPT} ]; then\n\"${QA_SCRIPT}\"\nfi\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - DE2B661B1AD6CA4900C7C25B /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DEEA2FA21B4DBDC20009380F /* TableCellButtonExampleViewController.m in Sources */, - DE2B66281AD6CA4900C7C25B /* AppDelegate.m in Sources */, - DE2B66251AD6CA4900C7C25B /* main.m in Sources */, - DEEA2FA61B4DBDFA0009380F /* SimpleButtonExampleViewController.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - DE2B662C1AD6CA4900C7C25B /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - DE2B662D1AD6CA4900C7C25B /* Base */, - ); - name = Main.storyboard; - path = "../Example-Source"; - sourceTree = SOURCE_ROOT; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - DE2B66401AD6CA4900C7C25B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; - 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", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 8.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - DE2B66411AD6CA4900C7C25B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; - 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_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 = 8.2; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - DE2B66431AD6CA4900C7C25B /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/../../../", - ); - INFOPLIST_FILE = "$(SRCROOT)/../../Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC "; - PRODUCT_BUNDLE_IDENTIFIER = "com.usebutton.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = FrameworkExample; - }; - name = Debug; - }; - DE2B66441AD6CA4900C7C25B /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/../../../", - ); - INFOPLIST_FILE = "$(SRCROOT)/../../Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC "; - PRODUCT_BUNDLE_IDENTIFIER = "com.usebutton.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = FrameworkExample; - }; - name = Release; - }; - DE97537E1BF482D400257FE2 /* QA */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; - 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", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - 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 = 8.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = QA; - }; - DE97537F1BF482D400257FE2 /* QA */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/../../../", - ); - GCC_PREFIX_HEADER = "$(SRCROOT)/../../../../.qa/QA-prefix.pch"; - INFOPLIST_FILE = "$(SRCROOT)/../../Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC "; - PRODUCT_BUNDLE_IDENTIFIER = "com.usebutton.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = FrameworkExample; - }; - name = QA; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - DE2B661A1AD6CA4900C7C25B /* Build configuration list for PBXProject "FrameworkExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DE2B66401AD6CA4900C7C25B /* Debug */, - DE97537E1BF482D400257FE2 /* QA */, - DE2B66411AD6CA4900C7C25B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DE2B66421AD6CA4900C7C25B /* Build configuration list for PBXNativeTarget "FrameworkExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DE2B66431AD6CA4900C7C25B /* Debug */, - DE97537F1BF482D400257FE2 /* QA */, - DE2B66441AD6CA4900C7C25B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = DE2B66171AD6CA4900C7C25B /* Project object */; -} diff --git a/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index c6461c4c..00000000 --- a/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/xcshareddata/xcschemes/Example.xcscheme deleted file mode 100644 index 70367cc6..00000000 --- a/Examples/Objective-C/Button-Framework/FrameworkExample.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/Objective-C/Button-Framework/LaunchScreen.xib b/Examples/Objective-C/Button-Framework/LaunchScreen.xib deleted file mode 100644 index 5e4e0f52..00000000 --- a/Examples/Objective-C/Button-Framework/LaunchScreen.xib +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Examples/Objective-C/Example-Source/AppDelegate.h b/Examples/Objective-C/Example-Source/AppDelegate.h deleted file mode 100644 index 1d93fb33..00000000 --- a/Examples/Objective-C/Example-Source/AppDelegate.h +++ /dev/null @@ -1,8 +0,0 @@ -@import UIKit; - -@interface AppDelegate : UIResponder - -@property (strong, nonatomic) UIWindow *window; - -@end - diff --git a/Examples/Objective-C/Example-Source/AppDelegate.m b/Examples/Objective-C/Example-Source/AppDelegate.m deleted file mode 100644 index 5477b738..00000000 --- a/Examples/Objective-C/Example-Source/AppDelegate.m +++ /dev/null @@ -1,50 +0,0 @@ -#import "AppDelegate.h" -#import "TableCellButtonExampleViewController.h" -#import