Skip to content

Commit

Permalink
Feature: Nudges v1
Browse files Browse the repository at this point in the history
  • Loading branch information
Cavallando committed Dec 18, 2023
1 parent e4d3a23 commit fce8015
Show file tree
Hide file tree
Showing 60 changed files with 3,965 additions and 561 deletions.
14 changes: 3 additions & 11 deletions CommandBarIOS.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Pod::Spec.new do |s|
s.name = 'CommandBarIOS'
s.version = '1.0.10'
s.version = '1.1.0'
s.summary = 'HelpHub and Copilot Command Bar for iOS. '

# This description is used to generate tags and improve search results.
Expand All @@ -22,17 +22,9 @@ Pod::Spec.new do |s|
s.author = { 'CommandBar Engineering' => '[email protected]' }
s.source = { :git => 'https://github.com/tryfoobar/CommandBarIOS.git', :tag => s.version.to_s }

s.ios.deployment_target = '12.4'
s.ios.deployment_target = '13.0'

s.source_files = 'Sources/CommandBarIOS/**/*.swift'

s.resources = "Sources/CommandBarIOS/**/*.{png,jpeg,jpg,storyboard,xib,xcassets}"
s.swift_versions = '5.0'

# s.resource_bundles = {
# 'CommandBarIOS' => ['CommandBarIOS/Assets/*.png']
# }

# s.public_header_files = 'Pod/Classes/**/*.h'
# s.frameworks = 'UIKit', 'MapKit'
# s.dependency 'AFNetworking', '~> 2.3'
end
103 changes: 64 additions & 39 deletions Example/CommandBarIOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,20 @@

/* Begin PBXBuildFile section */
4843AA191A2DED0CA2F52040 /* Pods_CommandBarIOS_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07272DC8996BCC77417C4BC6 /* Pods_CommandBarIOS_Tests.framework */; };
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */; };
607FACEC1AFB9204008FA782 /* Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACEB1AFB9204008FA782 /* Tests.swift */; };
DA41BFB8BED6A51CE50A6D1A /* Pods_CommandBarIOS_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E6A6D4D4FA9BF47C33B8F1B /* Pods_CommandBarIOS_Example.framework */; };
FF409B3D2B2F694500D2A3CD /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B3C2B2F694500D2A3CD /* HomeView.swift */; };
FF409B3F2B2F69C900D2A3CD /* LogoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B3E2B2F69C900D2A3CD /* LogoView.swift */; };
FF409B412B2F6A7200D2A3CD /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B402B2F6A7200D2A3CD /* SceneDelegate.swift */; };
FF409B462B2F6BB400D2A3CD /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; };
FF409B482B2F717200D2A3CD /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B472B2F717200D2A3CD /* Button.swift */; };
FF409B4A2B2F76C900D2A3CD /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B492B2F76C900D2A3CD /* GradientView.swift */; };
FF409B4C2B2F7B0800D2A3CD /* Toast.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B4B2B2F7B0800D2A3CD /* Toast.swift */; };
FF409B502B2FB49C00D2A3CD /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = FF409B4F2B2FB49C00D2A3CD /* LaunchScreen.storyboard */; };
FF409B522B30995800D2A3CD /* Color.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF409B512B30995800D2A3CD /* Color.swift */; };
FFB6A38B2B1BC93D0036D16F /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB6A38A2B1BC93D0036D16F /* App.swift */; };
FFB6A38D2B1E27850036D16F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = FFB6A38C2B1E27850036D16F /* AppDelegate.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
Expand All @@ -35,18 +42,24 @@
4E6A6D4D4FA9BF47C33B8F1B /* Pods_CommandBarIOS_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CommandBarIOS_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
607FACD01AFB9204008FA782 /* CommandBarIOS_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CommandBarIOS_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
607FACD71AFB9204008FA782 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
607FACDA1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
607FACDC1AFB9204008FA782 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
607FACDF1AFB9204008FA782 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
607FACE51AFB9204008FA782 /* CommandBarIOS_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CommandBarIOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
61A5743D5A822C83EA13BBBF /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
92163EE95FB1EE50D8179ED0 /* Pods-CommandBarIOS_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CommandBarIOS_Tests.debug.xcconfig"; path = "Target Support Files/Pods-CommandBarIOS_Tests/Pods-CommandBarIOS_Tests.debug.xcconfig"; sourceTree = "<group>"; };
B070E6A9FC190A106848CE72 /* Pods-CommandBarIOS_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CommandBarIOS_Example.release.xcconfig"; path = "Target Support Files/Pods-CommandBarIOS_Example/Pods-CommandBarIOS_Example.release.xcconfig"; sourceTree = "<group>"; };
F13A7F09F23D0ED81552C380 /* Pods-CommandBarIOS_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CommandBarIOS_Tests.release.xcconfig"; path = "Target Support Files/Pods-CommandBarIOS_Tests/Pods-CommandBarIOS_Tests.release.xcconfig"; sourceTree = "<group>"; };
FF409B3C2B2F694500D2A3CD /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = "<group>"; };
FF409B3E2B2F69C900D2A3CD /* LogoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogoView.swift; sourceTree = "<group>"; };
FF409B402B2F6A7200D2A3CD /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
FF409B472B2F717200D2A3CD /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = "<group>"; };
FF409B492B2F76C900D2A3CD /* GradientView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GradientView.swift; sourceTree = "<group>"; };
FF409B4B2B2F7B0800D2A3CD /* Toast.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toast.swift; sourceTree = "<group>"; };
FF409B4F2B2FB49C00D2A3CD /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
FF409B512B30995800D2A3CD /* Color.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Color.swift; sourceTree = "<group>"; };
FFB6A38A2B1BC93D0036D16F /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = "<group>"; };
FFB6A38C2B1E27850036D16F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
Expand Down Expand Up @@ -113,12 +126,13 @@
607FACD21AFB9204008FA782 /* Example for CommandBarIOS */ = {
isa = PBXGroup;
children = (
607FACD51AFB9204008FA782 /* AppDelegate.swift */,
607FACD71AFB9204008FA782 /* ViewController.swift */,
607FACD91AFB9204008FA782 /* Main.storyboard */,
FF409B452B2F6B0C00D2A3CD /* Views */,
FFB6A38A2B1BC93D0036D16F /* App.swift */,
FFB6A38C2B1E27850036D16F /* AppDelegate.swift */,
FF409B402B2F6A7200D2A3CD /* SceneDelegate.swift */,
607FACDC1AFB9204008FA782 /* Images.xcassets */,
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
607FACD31AFB9204008FA782 /* Supporting Files */,
FF409B4F2B2FB49C00D2A3CD /* LaunchScreen.storyboard */,
);
name = "Example for CommandBarIOS";
path = CommandBarIOS;
Expand Down Expand Up @@ -159,6 +173,19 @@
name = "Podspec Metadata";
sourceTree = "<group>";
};
FF409B452B2F6B0C00D2A3CD /* Views */ = {
isa = PBXGroup;
children = (
FF409B3C2B2F694500D2A3CD /* HomeView.swift */,
FF409B3E2B2F69C900D2A3CD /* LogoView.swift */,
FF409B472B2F717200D2A3CD /* Button.swift */,
FF409B492B2F76C900D2A3CD /* GradientView.swift */,
FF409B4B2B2F7B0800D2A3CD /* Toast.swift */,
FF409B512B30995800D2A3CD /* Color.swift */,
);
path = Views;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
Expand All @@ -177,6 +204,8 @@
dependencies = (
);
name = CommandBarIOS_Example;
packageProductDependencies = (
);
productName = CommandBarIOS;
productReference = 607FACD01AFB9204008FA782 /* CommandBarIOS_Example.app */;
productType = "com.apple.product-type.application";
Expand Down Expand Up @@ -212,10 +241,12 @@
TargetAttributes = {
607FACCF1AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
DevelopmentTeam = 7AFRVF8235;
LastSwiftMigration = 0900;
};
607FACE41AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1;
DevelopmentTeam = 7AFRVF8235;
LastSwiftMigration = 0900;
TestTargetID = 607FACCF1AFB9204008FA782;
};
Expand All @@ -231,6 +262,8 @@
Base,
);
mainGroup = 607FACC71AFB9204008FA782;
packageReferences = (
);
productRefGroup = 607FACD11AFB9204008FA782 /* Products */;
projectDirPath = "";
projectRoot = "";
Expand All @@ -246,16 +279,16 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */,
607FACE01AFB9204008FA782 /* LaunchScreen.xib in Resources */,
607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */,
FF409B502B2FB49C00D2A3CD /* LaunchScreen.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
607FACE31AFB9204008FA782 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
FF409B462B2F6BB400D2A3CD /* Images.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -331,8 +364,15 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
FF409B482B2F717200D2A3CD /* Button.swift in Sources */,
FF409B3F2B2F69C900D2A3CD /* LogoView.swift in Sources */,
FFB6A38D2B1E27850036D16F /* AppDelegate.swift in Sources */,
FF409B3D2B2F694500D2A3CD /* HomeView.swift in Sources */,
FF409B4A2B2F76C900D2A3CD /* GradientView.swift in Sources */,
FF409B4C2B2F7B0800D2A3CD /* Toast.swift in Sources */,
FFB6A38B2B1BC93D0036D16F /* App.swift in Sources */,
FF409B412B2F6A7200D2A3CD /* SceneDelegate.swift in Sources */,
FF409B522B30995800D2A3CD /* Color.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -354,25 +394,6 @@
};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
607FACD91AFB9204008FA782 /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
607FACDA1AFB9204008FA782 /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */ = {
isa = PBXVariantGroup;
children = (
607FACDF1AFB9204008FA782 /* Base */,
);
name = LaunchScreen.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
607FACED1AFB9204008FA782 /* Debug */ = {
isa = XCBuildConfiguration;
Expand Down Expand Up @@ -478,8 +499,9 @@
baseConfigurationReference = 1716B1D54620EDFE703901A8 /* Pods-CommandBarIOS_Example.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = 7AFRVF8235;
INFOPLIST_FILE = CommandBarIOS/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
Expand All @@ -494,8 +516,9 @@
baseConfigurationReference = B070E6A9FC190A106848CE72 /* Pods-CommandBarIOS_Example.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
DEVELOPMENT_TEAM = 7AFRVF8235;
INFOPLIST_FILE = CommandBarIOS/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
MODULE_NAME = ExampleApp;
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
Expand All @@ -509,6 +532,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = 92163EE95FB1EE50D8179ED0 /* Pods-CommandBarIOS_Tests.debug.xcconfig */;
buildSettings = {
DEVELOPMENT_TEAM = 7AFRVF8235;
FRAMEWORK_SEARCH_PATHS = (
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
"$(inherited)",
Expand All @@ -518,7 +542,7 @@
"$(inherited)",
);
INFOPLIST_FILE = Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -532,12 +556,13 @@
isa = XCBuildConfiguration;
baseConfigurationReference = F13A7F09F23D0ED81552C380 /* Pods-CommandBarIOS_Tests.release.xcconfig */;
buildSettings = {
DEVELOPMENT_TEAM = 7AFRVF8235;
FRAMEWORK_SEARCH_PATHS = (
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
"$(inherited)",
);
INFOPLIST_FILE = Tests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
29 changes: 29 additions & 0 deletions Example/CommandBarIOS/App.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import Foundation

import CommandBarIOS
import SwiftUI

@available(iOS 14.0, *)
struct CommandBarIOSExampleApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

var body: some Scene {
WindowGroup {
HomeView()
}

}

}

@main
struct CommandBarIOSExampleAppWrapper {
static func main() {
if #available(iOS 14.0, *) {
CommandBarIOSExampleApp.main()
} else {
let argv = UnsafeMutableRawPointer(CommandLine.unsafeArgv).bindMemory(to: UnsafeMutablePointer<Int8>.self, capacity: Int(CommandLine.argc))
UIApplicationMain(CommandLine.argc, argv, nil, NSStringFromClass(SceneDelegate.self))
}
}
}
9 changes: 5 additions & 4 deletions Example/CommandBarIOS/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?


func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}

Expand All @@ -33,6 +31,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}



func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return true
}
}

Loading

0 comments on commit fce8015

Please sign in to comment.