diff --git a/.gitignore b/.gitignore index 447d1b33..74a478ab 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,10 @@ Icon Network Trash Folder Temporary Items .apdisk + +# ignore sample project pod stuff +Examples/Cocoapods/Pods/ +Examples/Cocoapods/Podfile.lock + +# swift pm +.swiftpm/ diff --git a/RichEditorViewSample/Podfile b/Examples/Cocoapods/Podfile similarity index 64% rename from RichEditorViewSample/Podfile rename to Examples/Cocoapods/Podfile index 641a16da..6ba0ee14 100644 --- a/RichEditorViewSample/Podfile +++ b/Examples/Cocoapods/Podfile @@ -2,5 +2,5 @@ use_frameworks! platform :ios, '14.0' target 'RichEditorViewSample' do - pod "RichEditorView", :path => "../" + pod "RichEditorView", :path => "../../" end diff --git a/RichEditorViewSample/RichEditorViewSample.xcodeproj/project.pbxproj b/Examples/Cocoapods/RichEditorViewSample.xcodeproj/project.pbxproj similarity index 99% rename from RichEditorViewSample/RichEditorViewSample.xcodeproj/project.pbxproj rename to Examples/Cocoapods/RichEditorViewSample.xcodeproj/project.pbxproj index 3bc59cb3..9f2b86d9 100644 --- a/RichEditorViewSample/RichEditorViewSample.xcodeproj/project.pbxproj +++ b/Examples/Cocoapods/RichEditorViewSample.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 0CCBA517EA66E1DE61C19F69 /* Pods_RichEditorViewSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6B4DFCB1BCDED9BE91A70 /* Pods_RichEditorViewSample.framework */; }; + 37243405298CD4D600544B48 /* Pods_RichEditorViewSample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CA6B4DFCB1BCDED9BE91A70 /* Pods_RichEditorViewSample.framework */; }; 39883B491AD0DC270031FD16 /* KeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39883B481AD0DC270031FD16 /* KeyboardManager.swift */; }; 39BBCFB01AD0CC7A00A450D2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39BBCFAF1AD0CC7A00A450D2 /* AppDelegate.swift */; }; 39BBCFB21AD0CC7A00A450D2 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39BBCFB11AD0CC7A00A450D2 /* ViewController.swift */; }; @@ -53,7 +53,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0CCBA517EA66E1DE61C19F69 /* Pods_RichEditorViewSample.framework in Frameworks */, + 37243405298CD4D600544B48 /* Pods_RichEditorViewSample.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -453,7 +453,6 @@ isa = XCBuildConfiguration; baseConfigurationReference = C6E2423BEEB12C12D184ACDD /* Pods-RichEditorViewSample.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; DEVELOPMENT_TEAM = 89MZF7SG7M; @@ -471,7 +470,6 @@ isa = XCBuildConfiguration; baseConfigurationReference = 9AF21FE45EA87DF1498534F6 /* Pods-RichEditorViewSample.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; DEVELOPMENT_TEAM = 89MZF7SG7M; diff --git a/RichEditorViewSample/RichEditorViewSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/Cocoapods/RichEditorViewSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from RichEditorViewSample/RichEditorViewSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Examples/Cocoapods/RichEditorViewSample.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Examples/Cocoapods/RichEditorViewSample.xcodeproj/xcshareddata/xcschemes/RichEditorViewSample-Cocoapods.xcscheme b/Examples/Cocoapods/RichEditorViewSample.xcodeproj/xcshareddata/xcschemes/RichEditorViewSample-Cocoapods.xcscheme new file mode 100644 index 00000000..3f96b24b --- /dev/null +++ b/Examples/Cocoapods/RichEditorViewSample.xcodeproj/xcshareddata/xcschemes/RichEditorViewSample-Cocoapods.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RichEditorViewSample/RichEditorViewSample.xcworkspace/contents.xcworkspacedata b/Examples/Cocoapods/RichEditorViewSample.xcworkspace/contents.xcworkspacedata similarity index 100% rename from RichEditorViewSample/RichEditorViewSample.xcworkspace/contents.xcworkspacedata rename to Examples/Cocoapods/RichEditorViewSample.xcworkspace/contents.xcworkspacedata diff --git a/Examples/Cocoapods/RichEditorViewSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/Cocoapods/RichEditorViewSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/Examples/Cocoapods/RichEditorViewSample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/RichEditorViewSample/RichEditorViewSample/AppDelegate.swift b/Examples/Cocoapods/RichEditorViewSample/AppDelegate.swift similarity index 99% rename from RichEditorViewSample/RichEditorViewSample/AppDelegate.swift rename to Examples/Cocoapods/RichEditorViewSample/AppDelegate.swift index 3b7f9554..acac421a 100644 --- a/RichEditorViewSample/RichEditorViewSample/AppDelegate.swift +++ b/Examples/Cocoapods/RichEditorViewSample/AppDelegate.swift @@ -13,7 +13,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true diff --git a/RichEditorViewSample/RichEditorViewSample/Base.lproj/LaunchScreen.xib b/Examples/Cocoapods/RichEditorViewSample/Base.lproj/LaunchScreen.xib similarity index 100% rename from RichEditorViewSample/RichEditorViewSample/Base.lproj/LaunchScreen.xib rename to Examples/Cocoapods/RichEditorViewSample/Base.lproj/LaunchScreen.xib diff --git a/RichEditorViewSample/RichEditorViewSample/Base.lproj/Main.storyboard b/Examples/Cocoapods/RichEditorViewSample/Base.lproj/Main.storyboard similarity index 94% rename from RichEditorViewSample/RichEditorViewSample/Base.lproj/Main.storyboard rename to Examples/Cocoapods/RichEditorViewSample/Base.lproj/Main.storyboard index fb07598c..3ce38a2c 100644 --- a/RichEditorViewSample/RichEditorViewSample/Base.lproj/Main.storyboard +++ b/Examples/Cocoapods/RichEditorViewSample/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -13,7 +13,7 @@ - + @@ -37,13 +37,13 @@ - + - + @@ -88,7 +88,7 @@ - + diff --git a/RichEditorViewSample/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json b/Examples/Cocoapods/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from RichEditorViewSample/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json rename to Examples/Cocoapods/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/RichEditorViewSample/RichEditorViewSample/Info.plist b/Examples/Cocoapods/RichEditorViewSample/Info.plist similarity index 100% rename from RichEditorViewSample/RichEditorViewSample/Info.plist rename to Examples/Cocoapods/RichEditorViewSample/Info.plist diff --git a/RichEditorViewSample/RichEditorViewSample/KeyboardManager.swift b/Examples/Cocoapods/RichEditorViewSample/KeyboardManager.swift similarity index 100% rename from RichEditorViewSample/RichEditorViewSample/KeyboardManager.swift rename to Examples/Cocoapods/RichEditorViewSample/KeyboardManager.swift diff --git a/RichEditorViewSample/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h b/Examples/Cocoapods/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h similarity index 100% rename from RichEditorViewSample/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h rename to Examples/Cocoapods/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h diff --git a/RichEditorViewSample/RichEditorViewSample/ViewController.swift b/Examples/Cocoapods/RichEditorViewSample/ViewController.swift similarity index 95% rename from RichEditorViewSample/RichEditorViewSample/ViewController.swift rename to Examples/Cocoapods/RichEditorViewSample/ViewController.swift index a3e3bf3d..a774a291 100644 --- a/RichEditorViewSample/RichEditorViewSample/ViewController.swift +++ b/Examples/Cocoapods/RichEditorViewSample/ViewController.swift @@ -36,7 +36,9 @@ class ViewController: UIViewController { editorView.inputAccessoryView = toolbar editorView.editingEnabled = false editorView.placeholder = "Edit here" - let html = "Jesus is God. He saves by grace through faith alone. Soli Deo gloria! perfectGod.com" + // disable scroll to fix issue with auto-scrolling when keyboard appears + editorView.isScrollEnabled = false + let html = "The Quick Brown Fox jumps over the lazy dog. wikipedia.com" editorView.reloadHTML(with: html) toolbar.delegate = self diff --git a/RichEditorViewSample/RichEditorViewSampleTests/Info.plist b/Examples/Cocoapods/RichEditorViewSampleTests/Info.plist similarity index 100% rename from RichEditorViewSample/RichEditorViewSampleTests/Info.plist rename to Examples/Cocoapods/RichEditorViewSampleTests/Info.plist diff --git a/RichEditorViewSample/RichEditorViewSampleTests/RichEditorViewSampleTests.swift b/Examples/Cocoapods/RichEditorViewSampleTests/RichEditorViewSampleTests.swift similarity index 100% rename from RichEditorViewSample/RichEditorViewSampleTests/RichEditorViewSampleTests.swift rename to Examples/Cocoapods/RichEditorViewSampleTests/RichEditorViewSampleTests.swift diff --git a/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.pbxproj b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.pbxproj new file mode 100644 index 00000000..35149e6f --- /dev/null +++ b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.pbxproj @@ -0,0 +1,501 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + 37D135DB298CC6AB00565362 /* RichEditorView in Frameworks */ = {isa = PBXBuildFile; productRef = 37D135DA298CC6AB00565362 /* RichEditorView */; }; + 39883B491AD0DC270031FD16 /* KeyboardManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39883B481AD0DC270031FD16 /* KeyboardManager.swift */; }; + 39BBCFB01AD0CC7A00A450D2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39BBCFAF1AD0CC7A00A450D2 /* AppDelegate.swift */; }; + 39BBCFB21AD0CC7A00A450D2 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39BBCFB11AD0CC7A00A450D2 /* ViewController.swift */; }; + 39BBCFB51AD0CC7A00A450D2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 39BBCFB31AD0CC7A00A450D2 /* Main.storyboard */; }; + 39BBCFB71AD0CC7A00A450D2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 39BBCFB61AD0CC7A00A450D2 /* Images.xcassets */; }; + 39BBCFBA1AD0CC7A00A450D2 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 39BBCFB81AD0CC7A00A450D2 /* LaunchScreen.xib */; }; + 39BBCFC61AD0CC7A00A450D2 /* RichEditorViewSampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39BBCFC51AD0CC7A00A450D2 /* RichEditorViewSampleTests.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 39BBCFC01AD0CC7A00A450D2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 39BBCFA21AD0CC7A00A450D2 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 39BBCFA91AD0CC7A00A450D2; + remoteInfo = RichEditorViewSample; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 37D135D9298CC69900565362 /* RichEditorView */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = RichEditorView; path = ../..; sourceTree = ""; }; + 3912A4531B966C34005E41FA /* RichEditorViewSample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RichEditorViewSample-Bridging-Header.h"; sourceTree = ""; }; + 39883B481AD0DC270031FD16 /* KeyboardManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardManager.swift; sourceTree = ""; }; + 39BBCFAA1AD0CC7A00A450D2 /* RichEditorViewSample-SPM.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "RichEditorViewSample-SPM.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 39BBCFAE1AD0CC7A00A450D2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 39BBCFAF1AD0CC7A00A450D2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 39BBCFB11AD0CC7A00A450D2 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 39BBCFB41AD0CC7A00A450D2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 39BBCFB61AD0CC7A00A450D2 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 39BBCFB91AD0CC7A00A450D2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 39BBCFBF1AD0CC7A00A450D2 /* RichEditorViewSample-SPMTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RichEditorViewSample-SPMTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 39BBCFC41AD0CC7A00A450D2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 39BBCFC51AD0CC7A00A450D2 /* RichEditorViewSampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RichEditorViewSampleTests.swift; sourceTree = ""; }; + 996D5C7A9F5BD7BF325118C8 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 39BBCFA71AD0CC7A00A450D2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 37D135DB298CC6AB00565362 /* RichEditorView in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 39BBCFBC1AD0CC7A00A450D2 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 106F1EB9E1302E9C38A73C48 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 996D5C7A9F5BD7BF325118C8 /* Pods.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 37D135D8298CC69900565362 /* Packages */ = { + isa = PBXGroup; + children = ( + 37D135D9298CC69900565362 /* RichEditorView */, + ); + name = Packages; + sourceTree = ""; + }; + 39BBCFA11AD0CC7A00A450D2 = { + isa = PBXGroup; + children = ( + 37D135D8298CC69900565362 /* Packages */, + 39BBCFAC1AD0CC7A00A450D2 /* RichEditorViewSample */, + 39BBCFC21AD0CC7A00A450D2 /* RichEditorViewSampleTests */, + 39BBCFAB1AD0CC7A00A450D2 /* Products */, + 106F1EB9E1302E9C38A73C48 /* Frameworks */, + ); + sourceTree = ""; + }; + 39BBCFAB1AD0CC7A00A450D2 /* Products */ = { + isa = PBXGroup; + children = ( + 39BBCFAA1AD0CC7A00A450D2 /* RichEditorViewSample-SPM.app */, + 39BBCFBF1AD0CC7A00A450D2 /* RichEditorViewSample-SPMTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 39BBCFAC1AD0CC7A00A450D2 /* RichEditorViewSample */ = { + isa = PBXGroup; + children = ( + 39BBCFAF1AD0CC7A00A450D2 /* AppDelegate.swift */, + 39BBCFB11AD0CC7A00A450D2 /* ViewController.swift */, + 39BBCFB31AD0CC7A00A450D2 /* Main.storyboard */, + 39BBCFB61AD0CC7A00A450D2 /* Images.xcassets */, + 39BBCFB81AD0CC7A00A450D2 /* LaunchScreen.xib */, + 39BBCFAD1AD0CC7A00A450D2 /* Supporting Files */, + 39883B481AD0DC270031FD16 /* KeyboardManager.swift */, + 3912A4531B966C34005E41FA /* RichEditorViewSample-Bridging-Header.h */, + ); + path = RichEditorViewSample; + sourceTree = ""; + }; + 39BBCFAD1AD0CC7A00A450D2 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 39BBCFAE1AD0CC7A00A450D2 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 39BBCFC21AD0CC7A00A450D2 /* RichEditorViewSampleTests */ = { + isa = PBXGroup; + children = ( + 39BBCFC51AD0CC7A00A450D2 /* RichEditorViewSampleTests.swift */, + 39BBCFC31AD0CC7A00A450D2 /* Supporting Files */, + ); + path = RichEditorViewSampleTests; + sourceTree = ""; + }; + 39BBCFC31AD0CC7A00A450D2 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 39BBCFC41AD0CC7A00A450D2 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 39BBCFA91AD0CC7A00A450D2 /* RichEditorViewSample-SPM */ = { + isa = PBXNativeTarget; + buildConfigurationList = 39BBCFC91AD0CC7A00A450D2 /* Build configuration list for PBXNativeTarget "RichEditorViewSample-SPM" */; + buildPhases = ( + 39BBCFA61AD0CC7A00A450D2 /* Sources */, + 39BBCFA71AD0CC7A00A450D2 /* Frameworks */, + 39BBCFA81AD0CC7A00A450D2 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "RichEditorViewSample-SPM"; + packageProductDependencies = ( + 37D135DA298CC6AB00565362 /* RichEditorView */, + ); + productName = RichEditorViewSample; + productReference = 39BBCFAA1AD0CC7A00A450D2 /* RichEditorViewSample-SPM.app */; + productType = "com.apple.product-type.application"; + }; + 39BBCFBE1AD0CC7A00A450D2 /* RichEditorViewSample-SPMTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 39BBCFCC1AD0CC7A00A450D2 /* Build configuration list for PBXNativeTarget "RichEditorViewSample-SPMTests" */; + buildPhases = ( + 39BBCFBB1AD0CC7A00A450D2 /* Sources */, + 39BBCFBC1AD0CC7A00A450D2 /* Frameworks */, + 39BBCFBD1AD0CC7A00A450D2 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 39BBCFC11AD0CC7A00A450D2 /* PBXTargetDependency */, + ); + name = "RichEditorViewSample-SPMTests"; + productName = RichEditorViewSampleTests; + productReference = 39BBCFBF1AD0CC7A00A450D2 /* RichEditorViewSample-SPMTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 39BBCFA21AD0CC7A00A450D2 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0700; + LastUpgradeCheck = 1200; + ORGANIZATIONNAME = "Caesar Wirth"; + TargetAttributes = { + 39BBCFA91AD0CC7A00A450D2 = { + CreatedOnToolsVersion = 6.2; + LastSwiftMigration = ""; + }; + 39BBCFBE1AD0CC7A00A450D2 = { + CreatedOnToolsVersion = 6.2; + LastSwiftMigration = ""; + TestTargetID = 39BBCFA91AD0CC7A00A450D2; + }; + }; + }; + buildConfigurationList = 39BBCFA51AD0CC7A00A450D2 /* Build configuration list for PBXProject "RichEditorViewSample-SPM" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 39BBCFA11AD0CC7A00A450D2; + productRefGroup = 39BBCFAB1AD0CC7A00A450D2 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 39BBCFA91AD0CC7A00A450D2 /* RichEditorViewSample-SPM */, + 39BBCFBE1AD0CC7A00A450D2 /* RichEditorViewSample-SPMTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 39BBCFA81AD0CC7A00A450D2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 39BBCFB51AD0CC7A00A450D2 /* Main.storyboard in Resources */, + 39BBCFBA1AD0CC7A00A450D2 /* LaunchScreen.xib in Resources */, + 39BBCFB71AD0CC7A00A450D2 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 39BBCFBD1AD0CC7A00A450D2 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 39BBCFA61AD0CC7A00A450D2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 39883B491AD0DC270031FD16 /* KeyboardManager.swift in Sources */, + 39BBCFB21AD0CC7A00A450D2 /* ViewController.swift in Sources */, + 39BBCFB01AD0CC7A00A450D2 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 39BBCFBB1AD0CC7A00A450D2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 39BBCFC61AD0CC7A00A450D2 /* RichEditorViewSampleTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 39BBCFC11AD0CC7A00A450D2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 39BBCFA91AD0CC7A00A450D2 /* RichEditorViewSample-SPM */; + targetProxy = 39BBCFC01AD0CC7A00A450D2 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 39BBCFB31AD0CC7A00A450D2 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 39BBCFB41AD0CC7A00A450D2 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 39BBCFB81AD0CC7A00A450D2 /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 39BBCFB91AD0CC7A00A450D2 /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 39BBCFC71AD0CC7A00A450D2 /* 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_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(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 = 14.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 39BBCFC81AD0CC7A00A450D2 /* 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_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + ENABLE_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 = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 39BBCFCA1AD0CC7A00A450D2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CLANG_ENABLE_MODULES = YES; + DEVELOPMENT_TEAM = QYU2SZHRLR; + INFOPLIST_FILE = RichEditorViewSample/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.gigabitelabs.RichEditorViewSample-SPM"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "RichEditorViewSample/RichEditorViewSample-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 39BBCFCB1AD0CC7A00A450D2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CLANG_ENABLE_MODULES = YES; + DEVELOPMENT_TEAM = QYU2SZHRLR; + INFOPLIST_FILE = RichEditorViewSample/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + PRODUCT_BUNDLE_IDENTIFIER = "com.gigabitelabs.RichEditorViewSample-SPM"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "RichEditorViewSample/RichEditorViewSample-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 39BBCFCD1AD0CC7A00A450D2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = RichEditorViewSampleTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.cjwirth.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RichEditorViewSample-SPM.app/RichEditorViewSample-SPM"; + }; + name = Debug; + }; + 39BBCFCE1AD0CC7A00A450D2 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + INFOPLIST_FILE = RichEditorViewSampleTests/Info.plist; + PRODUCT_BUNDLE_IDENTIFIER = "com.cjwirth.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RichEditorViewSample-SPM.app/RichEditorViewSample-SPM"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 39BBCFA51AD0CC7A00A450D2 /* Build configuration list for PBXProject "RichEditorViewSample-SPM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 39BBCFC71AD0CC7A00A450D2 /* Debug */, + 39BBCFC81AD0CC7A00A450D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 39BBCFC91AD0CC7A00A450D2 /* Build configuration list for PBXNativeTarget "RichEditorViewSample-SPM" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 39BBCFCA1AD0CC7A00A450D2 /* Debug */, + 39BBCFCB1AD0CC7A00A450D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 39BBCFCC1AD0CC7A00A450D2 /* Build configuration list for PBXNativeTarget "RichEditorViewSample-SPMTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 39BBCFCD1AD0CC7A00A450D2 /* Debug */, + 39BBCFCE1AD0CC7A00A450D2 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCSwiftPackageProductDependency section */ + 37D135DA298CC6AB00565362 /* RichEditorView */ = { + isa = XCSwiftPackageProductDependency; + productName = RichEditorView; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 39BBCFA21AD0CC7A00A450D2 /* Project object */; +} diff --git a/RichEditorView.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 66% rename from RichEditorView.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 919434a6..cdb62b8d 100644 --- a/RichEditorView.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:RichEditorViewSample.xcodeproj"> diff --git a/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/xcshareddata/xcschemes/RichEditorViewSample-SPM.xcscheme b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/xcshareddata/xcschemes/RichEditorViewSample-SPM.xcscheme new file mode 100644 index 00000000..7bb39906 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample-SPM.xcodeproj/xcshareddata/xcschemes/RichEditorViewSample-SPM.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/SPM/RichEditorViewSample/AppDelegate.swift b/Examples/SPM/RichEditorViewSample/AppDelegate.swift new file mode 100644 index 00000000..acac421a --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/AppDelegate.swift @@ -0,0 +1,45 @@ +// +// AppDelegate.swift +// RichEditorViewSample +// +// Created by Caesar Wirth on 4/5/15. +// Copyright (c) 2015 Caesar Wirth. All rights reserved. +// + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/Examples/SPM/RichEditorViewSample/Base.lproj/LaunchScreen.xib b/Examples/SPM/RichEditorViewSample/Base.lproj/LaunchScreen.xib new file mode 100644 index 00000000..38f65ef8 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/Base.lproj/LaunchScreen.xib @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/SPM/RichEditorViewSample/Base.lproj/Main.storyboard b/Examples/SPM/RichEditorViewSample/Base.lproj/Main.storyboard new file mode 100644 index 00000000..2f70f1eb --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/Base.lproj/Main.storyboard @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/SPM/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json b/Examples/SPM/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..d8db8d65 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Examples/SPM/RichEditorViewSample/Info.plist b/Examples/SPM/RichEditorViewSample/Info.plist new file mode 100644 index 00000000..d86c5b9d --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/Info.plist @@ -0,0 +1,47 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen.xib + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Examples/SPM/RichEditorViewSample/KeyboardManager.swift b/Examples/SPM/RichEditorViewSample/KeyboardManager.swift new file mode 100644 index 00000000..e48d2888 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/KeyboardManager.swift @@ -0,0 +1,79 @@ +// +// KeyboardManager.swift +// RichEditorViewSample +// +// Created by Caesar Wirth on 4/5/15. +// Copyright (c) 2015 Caesar Wirth. All rights reserved. +// + +import UIKit +import RichEditorView + +/** + KeyboardManager is a class that takes care of showing and hiding the RichEditorToolbar when the keyboard is shown. + As opposed to having this logic in multiple places, it is encapsulated in here. All that needs to change is the parent view. +*/ +class KeyboardManager: NSObject { + + /** + The parent view that the toolbar should be added to. + Should normally be the top-level view of a UIViewController + */ + weak var view: UIView? + + /** + The toolbar that will be shown and hidden. + */ + var toolbar: RichEditorToolbar + + init(view: UIView) { + self.view = view + toolbar = RichEditorToolbar(frame: CGRect(x: 0, y: view.bounds.height, width: view.bounds.width, height: 44)) +// toolbar.options = RichEditorOptions.all() + } + + /** + Starts monitoring for keyboard notifications in order to show/hide the toolbar + */ + func beginMonitoring() { + let sel = #selector(keyboardWillShowOrHide(_:)) + NotificationCenter.default.addObserver(self, selector: sel, name: UIResponder.keyboardWillShowNotification, object: nil) + NotificationCenter.default.addObserver(self, selector: sel, name: UIResponder.keyboardWillHideNotification, object: nil) + } + + /** + Stops monitoring for keyboard notifications + */ + func stopMonitoring() { + NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardWillShowNotification, object: nil) + NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardWillHideNotification, object: nil) + } + + /** + Called when a keyboard notification is recieved. Takes are of handling the showing or hiding of the toolbar + */ + @objc func keyboardWillShowOrHide(_ notification: Notification) { + let info = notification.userInfo ?? [:] + let duration = TimeInterval((info[UIResponder.keyboardAnimationDurationUserInfoKey] as? NSNumber)?.floatValue ?? 0.25) + let curve = UInt((info[UIResponder.keyboardAnimationCurveUserInfoKey] as? NSNumber)?.uintValue ?? 0) + let options = UIView.AnimationOptions(rawValue: curve) + let keyboardRect = (info[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue)?.cgRectValue ?? CGRect.zero + + if notification.name == UIResponder.keyboardWillShowNotification { + self.view?.addSubview(self.toolbar) + UIView.animate(withDuration: duration, delay: 0, options: options, animations: { + if let view = self.view { + self.toolbar.frame.origin.y = view.frame.height - (keyboardRect.height + self.toolbar.frame.height) + } + }, completion: nil) + + + } else if notification.name == UIResponder.keyboardWillHideNotification { + UIView.animate(withDuration: duration, delay: 0, options: options, animations: { + if let view = self.view { + self.toolbar.frame.origin.y = view.frame.height + } + }, completion: nil) + } + } +} diff --git a/Examples/SPM/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h b/Examples/SPM/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h new file mode 100644 index 00000000..1b2cb5d6 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/RichEditorViewSample-Bridging-Header.h @@ -0,0 +1,4 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + diff --git a/Examples/SPM/RichEditorViewSample/ViewController.swift b/Examples/SPM/RichEditorViewSample/ViewController.swift new file mode 100644 index 00000000..b7073950 --- /dev/null +++ b/Examples/SPM/RichEditorViewSample/ViewController.swift @@ -0,0 +1,171 @@ +// +// ViewController.swift +// RichEditorViewSample +// +// Created by Caesar Wirth on 4/5/15. +// Copyright (c) 2015 Caesar Wirth. All rights reserved. +// + +import UIKit +import RichEditorView +import SafariServices + +class ViewController: UIViewController { + @IBOutlet var editorView: RichEditorView! + @IBOutlet var htmlTextView: UITextView! + var isTextColor = true + @IBOutlet weak var editButton: UIBarButtonItem! + + lazy var toolbar: RichEditorToolbar = { + let toolbar = RichEditorToolbar(frame: CGRect(x: 0, y: 0, width: self.view.bounds.width, height: 44)) +// let options: [RichEditorDefaultOption] = [ +// .bold, .italic, .underline, +// .unorderedList, .orderedList, +// .indent, .outdent, +// .textColor, .textBackgroundColor, +// .undo, .redo, +// ] + toolbar.options = RichEditorDefaultOption.all + return toolbar + }() + + override func viewDidLoad() { + super.viewDidLoad() + + editorView.delegate = self + editorView.inputAccessoryView = toolbar + editorView.editingEnabled = false + editorView.placeholder = "Edit here" + // disable scroll to fix issue with auto-scrolling when keyboard appears + editorView.isScrollEnabled = false + let html = "The Quick Brown Fox. jumps over the lazy dog. wikipedia.com" + editorView.reloadHTML(with: html) + toolbar.delegate = self + toolbar.editor = editorView + + // This will create a custom action that clears all the input text when it is pressed + let item = RichEditorOptionItem(title: "Clear") { (toolbar, sender) in + toolbar.editor?.html = "" + } + + var options = toolbar.options + options.append(item) + toolbar.options = options + } + + @IBAction func changeEditState(_ sender: Any) { + editorView.editingEnabled.toggle() + + let title: String + if editorView.editingEnabled { + _ = editorView.becomeFirstResponder() + title = "Done" + } else { + _ = editorView.resignFirstResponder() + title = "Edit" + } + + self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: title, style: .done, target: self, action: #selector(changeEditState(_:))) + } + +} + +extension ViewController: RichEditorDelegate { + func richEditor(_ editor: RichEditorView, heightDidChange height: Int) { } + + func richEditor(_ editor: RichEditorView, contentDidChange content: String) { + if content.isEmpty { + htmlTextView.text = "HTML Preview" + } else { + htmlTextView.text = content + } + } + + func richEditorTookFocus(_ editor: RichEditorView) { } + + func richEditorLostFocus(_ editor: RichEditorView) { } + + func richEditorDidLoad(_ editor: RichEditorView) { } + + func richEditor(_ editor: RichEditorView, shouldInteractWith url: URL) -> Bool { return true } + + func richEditor(_ editor: RichEditorView, interactWith url: URL) { + let configuration = SFSafariViewController.Configuration() + configuration.entersReaderIfAvailable = true + let safari = SFSafariViewController(url: url, configuration: configuration) + present(safari, animated: true) + } + + func richEditor(_ editor: RichEditorView, handleCustomAction content: String) { } +} + +extension ViewController: RichEditorToolbarDelegate, UIColorPickerViewControllerDelegate { + private func presentColorPicker(title: String?, color: UIColor?) { + let picker = UIColorPickerViewController() + picker.supportsAlpha = false + picker.delegate = self + picker.title = title + if let color = color { + picker.selectedColor = color + } + + present(picker, animated: true, completion: nil) + } + + private func getRGBA(from color: UIColor) -> [CGFloat] { + var R: CGFloat = 0 + var G: CGFloat = 0 + var B: CGFloat = 0 + var A: CGFloat = 0 + + color.getRed(&R, green: &G, blue: &B, alpha: &A) + + return [R, G, B, A] + } + + private func isBlackOrWhite(_ color: UIColor) -> Bool { + let RGBA = getRGBA(from: color) + let isBlack = RGBA[0] < 0.09 && RGBA[1] < 0.09 && RGBA[2] < 0.09 + let isWhite = RGBA[0] > 0.91 && RGBA[1] > 0.91 && RGBA[2] > 0.91 + + return isBlack || isWhite + } + + func richEditorToolbarChangeTextColor(_ toolbar: RichEditorToolbar, sender: AnyObject) { + isTextColor = true + presentColorPicker(title: "Text Color", color: .black) + } + + func richEditorToolbarChangeBackgroundColor(_ toolbar: RichEditorToolbar, sender: AnyObject) { + isTextColor = false + presentColorPicker(title: "Background Color", color: .white) + } + + func richEditorToolbarInsertImage(_ toolbar: RichEditorToolbar) { + toolbar.editor?.insertImage("https://avatars2.githubusercontent.com/u/10981?s=60", alt: "Gravatar") + } + + func richEditorToolbarInsertLink(_ toolbar: RichEditorToolbar) { + // Can only add links to selected text, so make sure there is a range selection first + toolbar.editor?.hasRangeSelection(handler: { (hasSelection) in + if hasSelection { + self.toolbar.editor?.insertLink("https://github.com/cbess/RichEditorView", title: "GitHub Link") + } + }) + } + + func colorPickerViewControllerDidSelectColor(_ viewController: UIColorPickerViewController) { + var color: UIColor? = viewController.selectedColor + + // don't allow black or white color changes + if isBlackOrWhite(viewController.selectedColor) { + color = nil + } + + if isTextColor { + toolbar.editor?.setTextColor(color) + } else { + toolbar.editor?.setTextBackgroundColor(color) + } + } +} diff --git a/RichEditorView/Info.plist b/Examples/SPM/RichEditorViewSampleTests/Info.plist similarity index 85% rename from RichEditorView/Info.plist rename to Examples/SPM/RichEditorViewSampleTests/Info.plist index d3de8eef..ba72822e 100644 --- a/RichEditorView/Info.plist +++ b/Examples/SPM/RichEditorViewSampleTests/Info.plist @@ -13,14 +13,12 @@ CFBundleName $(PRODUCT_NAME) CFBundlePackageType - FMWK + BNDL CFBundleShortVersionString 1.0 CFBundleSignature ???? CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - + 1 diff --git a/Examples/SPM/RichEditorViewSampleTests/RichEditorViewSampleTests.swift b/Examples/SPM/RichEditorViewSampleTests/RichEditorViewSampleTests.swift new file mode 100644 index 00000000..5e4eb600 --- /dev/null +++ b/Examples/SPM/RichEditorViewSampleTests/RichEditorViewSampleTests.swift @@ -0,0 +1,36 @@ +// +// RichEditorViewSampleTests.swift +// RichEditorViewSampleTests +// +// Created by Caesar Wirth on 4/5/15. +// Copyright (c) 2015 Caesar Wirth. All rights reserved. +// + +import UIKit +import XCTest + +class RichEditorViewSampleTests: XCTestCase { + + override func setUp() { + super.setUp() + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + super.tearDown() + } + + func testExample() { + // This is an example of a functional test case. + XCTAssert(true, "Pass") + } + + func testPerformanceExample() { + // This is an example of a performance test case. + self.measure() { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..af2558a8 --- /dev/null +++ b/Package.swift @@ -0,0 +1,39 @@ +// swift-tools-version: 5.7 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "RichEditorView", + platforms: [ + .iOS(.v12), + ], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "RichEditorView", + targets: ["RichEditorView"]), + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + // .package(url: /* package url */, from: "1.0.0"), + ], + targets: [ + .target( + name: "RichEditorView", + dependencies: [], + path: "RichEditorView", + sources: ["Classes"], + resources: [ + .process("Assets") + ], + swiftSettings: [ + // defines a preprocessor macro that is + // used by the bindle helper to identify + // that the framework is an SPM package + // see usage in--> Classes/Bundle+Framework.swift + .define("SPM") + ] + ) + ] +) diff --git a/README.md b/README.md index e620a069..cae81e3b 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ Most basic use: ``` editor = RichEditorView(frame: view.bounds) -editor.html = "

Jesus is God.

He died for our sins and rose from the dead by His own power. Repent and believe the gospel!" +editor.html = "

The Quick Brown Fox.

jumps over the lazy dog." view.addSubview(editor) ``` diff --git a/RichEditorView.podspec b/RichEditorView.podspec index 26e293b2..610bdfa0 100644 --- a/RichEditorView.podspec +++ b/RichEditorView.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "RichEditorView" - s.version = "5.1" + s.version = "5.2" s.summary = "Rich Text Editor for iOS written in Swift" s.homepage = "https://github.com/cjwirth/RichEditorView" s.license = 'BSD 3-clause' diff --git a/RichEditorView.xcodeproj/project.pbxproj b/RichEditorView.xcodeproj/project.pbxproj deleted file mode 100644 index 9e5a03ba..00000000 --- a/RichEditorView.xcodeproj/project.pbxproj +++ /dev/null @@ -1,709 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 947A71A11C0F9DED00BDF9FC /* UIView+Responder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 947A71A01C0F9DED00BDF9FC /* UIView+Responder.swift */; }; - FBA6AAFF1AD3EC9F00721644 /* RichEditorView.h in Headers */ = {isa = PBXBuildFile; fileRef = FBA6AAFE1AD3EC9F00721644 /* RichEditorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FBA6AB051AD3EC9F00721644 /* RichEditorView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBA6AAF91AD3EC9F00721644 /* RichEditorView.framework */; }; - FBA6AB0C1AD3EC9F00721644 /* RichEditorViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6AB0B1AD3EC9F00721644 /* RichEditorViewTests.swift */; }; - FBA6AB4F1AD3ED2D00721644 /* normalize.css in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB191AD3ED2D00721644 /* normalize.css */; }; - FBA6AB501AD3ED2D00721644 /* rich_editor.html in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB1A1AD3ED2D00721644 /* rich_editor.html */; }; - FBA6AB511AD3ED2D00721644 /* rich_editor.js in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB1B1AD3ED2D00721644 /* rich_editor.js */; }; - FBA6AB521AD3ED2D00721644 /* style.css in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB1C1AD3ED2D00721644 /* style.css */; }; - FBA6AB531AD3ED2D00721644 /* bg_color.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB1E1AD3ED2D00721644 /* bg_color.png */; }; - FBA6AB541AD3ED2D00721644 /* bg_color@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB1F1AD3ED2D00721644 /* bg_color@2x.png */; }; - FBA6AB551AD3ED2D00721644 /* bold.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB201AD3ED2D00721644 /* bold.png */; }; - FBA6AB561AD3ED2D00721644 /* bold@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB211AD3ED2D00721644 /* bold@2x.png */; }; - FBA6AB571AD3ED2D00721644 /* clear.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB221AD3ED2D00721644 /* clear.png */; }; - FBA6AB581AD3ED2D00721644 /* clear@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB231AD3ED2D00721644 /* clear@2x.png */; }; - FBA6AB591AD3ED2D00721644 /* h1.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB241AD3ED2D00721644 /* h1.png */; }; - FBA6AB5A1AD3ED2D00721644 /* h1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB251AD3ED2D00721644 /* h1@2x.png */; }; - FBA6AB5B1AD3ED2D00721644 /* h2.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB261AD3ED2D00721644 /* h2.png */; }; - FBA6AB5C1AD3ED2D00721644 /* h2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB271AD3ED2D00721644 /* h2@2x.png */; }; - FBA6AB5D1AD3ED2D00721644 /* h3.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB281AD3ED2D00721644 /* h3.png */; }; - FBA6AB5E1AD3ED2D00721644 /* h3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB291AD3ED2D00721644 /* h3@2x.png */; }; - FBA6AB5F1AD3ED2D00721644 /* h4.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB2A1AD3ED2D00721644 /* h4.png */; }; - FBA6AB601AD3ED2D00721644 /* h4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB2B1AD3ED2D00721644 /* h4@2x.png */; }; - FBA6AB611AD3ED2D00721644 /* h5.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB2C1AD3ED2D00721644 /* h5.png */; }; - FBA6AB621AD3ED2D00721644 /* h5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB2D1AD3ED2D00721644 /* h5@2x.png */; }; - FBA6AB631AD3ED2D00721644 /* h6.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB2E1AD3ED2D00721644 /* h6.png */; }; - FBA6AB641AD3ED2D00721644 /* h6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB2F1AD3ED2D00721644 /* h6@2x.png */; }; - FBA6AB651AD3ED2D00721644 /* indent.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB301AD3ED2D00721644 /* indent.png */; }; - FBA6AB661AD3ED2D00721644 /* indent@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB311AD3ED2D00721644 /* indent@2x.png */; }; - FBA6AB671AD3ED2D00721644 /* insert_image.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB321AD3ED2D00721644 /* insert_image.png */; }; - FBA6AB681AD3ED2D00721644 /* insert_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB331AD3ED2D00721644 /* insert_image@2x.png */; }; - FBA6AB691AD3ED2D00721644 /* insert_link.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB341AD3ED2D00721644 /* insert_link.png */; }; - FBA6AB6A1AD3ED2D00721644 /* insert_link@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB351AD3ED2D00721644 /* insert_link@2x.png */; }; - FBA6AB6B1AD3ED2D00721644 /* italic.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB361AD3ED2D00721644 /* italic.png */; }; - FBA6AB6C1AD3ED2D00721644 /* italic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB371AD3ED2D00721644 /* italic@2x.png */; }; - FBA6AB6D1AD3ED2D00721644 /* justify_center.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB381AD3ED2D00721644 /* justify_center.png */; }; - FBA6AB6E1AD3ED2D00721644 /* justify_center@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB391AD3ED2D00721644 /* justify_center@2x.png */; }; - FBA6AB6F1AD3ED2D00721644 /* justify_left.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB3A1AD3ED2D00721644 /* justify_left.png */; }; - FBA6AB701AD3ED2D00721644 /* justify_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB3B1AD3ED2D00721644 /* justify_left@2x.png */; }; - FBA6AB711AD3ED2D00721644 /* justify_right.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB3C1AD3ED2D00721644 /* justify_right.png */; }; - FBA6AB721AD3ED2D00721644 /* justify_right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB3D1AD3ED2D00721644 /* justify_right@2x.png */; }; - FBA6AB731AD3ED2D00721644 /* outdent.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB3E1AD3ED2D00721644 /* outdent.png */; }; - FBA6AB741AD3ED2D00721644 /* outdent@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB3F1AD3ED2D00721644 /* outdent@2x.png */; }; - FBA6AB751AD3ED2D00721644 /* redo.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB401AD3ED2D00721644 /* redo.png */; }; - FBA6AB761AD3ED2D00721644 /* redo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB411AD3ED2D00721644 /* redo@2x.png */; }; - FBA6AB771AD3ED2D00721644 /* strikethrough.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB421AD3ED2D00721644 /* strikethrough.png */; }; - FBA6AB781AD3ED2D00721644 /* strikethrough@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB431AD3ED2D00721644 /* strikethrough@2x.png */; }; - FBA6AB791AD3ED2D00721644 /* subscript.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB441AD3ED2D00721644 /* subscript.png */; }; - FBA6AB7A1AD3ED2D00721644 /* subscript@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB451AD3ED2D00721644 /* subscript@2x.png */; }; - FBA6AB7B1AD3ED2D00721644 /* superscript.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB461AD3ED2D00721644 /* superscript.png */; }; - FBA6AB7C1AD3ED2D00721644 /* superscript@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB471AD3ED2D00721644 /* superscript@2x.png */; }; - FBA6AB7D1AD3ED2D00721644 /* text_color.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB481AD3ED2D00721644 /* text_color.png */; }; - FBA6AB7E1AD3ED2D00721644 /* text_color@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB491AD3ED2D00721644 /* text_color@2x.png */; }; - FBA6AB7F1AD3ED2D00721644 /* underline.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB4A1AD3ED2D00721644 /* underline.png */; }; - FBA6AB801AD3ED2D00721644 /* underline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB4B1AD3ED2D00721644 /* underline@2x.png */; }; - FBA6AB811AD3ED2D00721644 /* undo.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB4C1AD3ED2D00721644 /* undo.png */; }; - FBA6AB821AD3ED2D00721644 /* undo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FBA6AB4D1AD3ED2D00721644 /* undo@2x.png */; }; - FBA6AB881AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.h in Headers */ = {isa = PBXBuildFile; fileRef = FBA6AB831AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FBA6AB891AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.m in Sources */ = {isa = PBXBuildFile; fileRef = FBA6AB841AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.m */; }; - FBA6AB8A1AD3ED3C00721644 /* RichEditorOptionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6AB851AD3ED3C00721644 /* RichEditorOptionItem.swift */; }; - FBA6AB8B1AD3ED3C00721644 /* RichEditorToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6AB861AD3ED3C00721644 /* RichEditorToolbar.swift */; }; - FBA6AB8C1AD3ED3C00721644 /* RichEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = FBA6AB871AD3ED3C00721644 /* RichEditorView.swift */; }; - FBA6ABC51AD3FD2E00721644 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FBA6ABC41AD3FD2E00721644 /* UIKit.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - FBA6AB061AD3EC9F00721644 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = FBA6AAF01AD3EC9F00721644 /* Project object */; - proxyType = 1; - remoteGlobalIDString = FBA6AAF81AD3EC9F00721644; - remoteInfo = RichEditorView; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 947A71A01C0F9DED00BDF9FC /* UIView+Responder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "UIView+Responder.swift"; path = "Classes/UIView+Responder.swift"; sourceTree = ""; }; - FBA6AAF91AD3EC9F00721644 /* RichEditorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RichEditorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FBA6AAFD1AD3EC9F00721644 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FBA6AAFE1AD3EC9F00721644 /* RichEditorView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RichEditorView.h; sourceTree = ""; }; - FBA6AB041AD3EC9F00721644 /* RichEditorViewTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RichEditorViewTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - FBA6AB0A1AD3EC9F00721644 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FBA6AB0B1AD3EC9F00721644 /* RichEditorViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RichEditorViewTests.swift; sourceTree = ""; }; - FBA6AB181AD3ED2D00721644 /* checking.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = checking.js; sourceTree = ""; }; - FBA6AB191AD3ED2D00721644 /* normalize.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = normalize.css; sourceTree = ""; }; - FBA6AB1A1AD3ED2D00721644 /* rich_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = rich_editor.html; sourceTree = ""; }; - FBA6AB1B1AD3ED2D00721644 /* rich_editor.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = rich_editor.js; sourceTree = ""; }; - FBA6AB1C1AD3ED2D00721644 /* style.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = style.css; sourceTree = ""; }; - FBA6AB1E1AD3ED2D00721644 /* bg_color.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bg_color.png; sourceTree = ""; }; - FBA6AB1F1AD3ED2D00721644 /* bg_color@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bg_color@2x.png"; sourceTree = ""; }; - FBA6AB201AD3ED2D00721644 /* bold.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bold.png; sourceTree = ""; }; - FBA6AB211AD3ED2D00721644 /* bold@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bold@2x.png"; sourceTree = ""; }; - FBA6AB221AD3ED2D00721644 /* clear.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = clear.png; sourceTree = ""; }; - FBA6AB231AD3ED2D00721644 /* clear@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "clear@2x.png"; sourceTree = ""; }; - FBA6AB241AD3ED2D00721644 /* h1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = h1.png; sourceTree = ""; }; - FBA6AB251AD3ED2D00721644 /* h1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "h1@2x.png"; sourceTree = ""; }; - FBA6AB261AD3ED2D00721644 /* h2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = h2.png; sourceTree = ""; }; - FBA6AB271AD3ED2D00721644 /* h2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "h2@2x.png"; sourceTree = ""; }; - FBA6AB281AD3ED2D00721644 /* h3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = h3.png; sourceTree = ""; }; - FBA6AB291AD3ED2D00721644 /* h3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "h3@2x.png"; sourceTree = ""; }; - FBA6AB2A1AD3ED2D00721644 /* h4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = h4.png; sourceTree = ""; }; - FBA6AB2B1AD3ED2D00721644 /* h4@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "h4@2x.png"; sourceTree = ""; }; - FBA6AB2C1AD3ED2D00721644 /* h5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = h5.png; sourceTree = ""; }; - FBA6AB2D1AD3ED2D00721644 /* h5@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "h5@2x.png"; sourceTree = ""; }; - FBA6AB2E1AD3ED2D00721644 /* h6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = h6.png; sourceTree = ""; }; - FBA6AB2F1AD3ED2D00721644 /* h6@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "h6@2x.png"; sourceTree = ""; }; - FBA6AB301AD3ED2D00721644 /* indent.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = indent.png; sourceTree = ""; }; - FBA6AB311AD3ED2D00721644 /* indent@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "indent@2x.png"; sourceTree = ""; }; - FBA6AB321AD3ED2D00721644 /* insert_image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = insert_image.png; sourceTree = ""; }; - FBA6AB331AD3ED2D00721644 /* insert_image@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "insert_image@2x.png"; sourceTree = ""; }; - FBA6AB341AD3ED2D00721644 /* insert_link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = insert_link.png; sourceTree = ""; }; - FBA6AB351AD3ED2D00721644 /* insert_link@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "insert_link@2x.png"; sourceTree = ""; }; - FBA6AB361AD3ED2D00721644 /* italic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = italic.png; sourceTree = ""; }; - FBA6AB371AD3ED2D00721644 /* italic@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "italic@2x.png"; sourceTree = ""; }; - FBA6AB381AD3ED2D00721644 /* justify_center.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = justify_center.png; sourceTree = ""; }; - FBA6AB391AD3ED2D00721644 /* justify_center@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "justify_center@2x.png"; sourceTree = ""; }; - FBA6AB3A1AD3ED2D00721644 /* justify_left.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = justify_left.png; sourceTree = ""; }; - FBA6AB3B1AD3ED2D00721644 /* justify_left@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "justify_left@2x.png"; sourceTree = ""; }; - FBA6AB3C1AD3ED2D00721644 /* justify_right.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = justify_right.png; sourceTree = ""; }; - FBA6AB3D1AD3ED2D00721644 /* justify_right@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "justify_right@2x.png"; sourceTree = ""; }; - FBA6AB3E1AD3ED2D00721644 /* outdent.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = outdent.png; sourceTree = ""; }; - FBA6AB3F1AD3ED2D00721644 /* outdent@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "outdent@2x.png"; sourceTree = ""; }; - FBA6AB401AD3ED2D00721644 /* redo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = redo.png; sourceTree = ""; }; - FBA6AB411AD3ED2D00721644 /* redo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "redo@2x.png"; sourceTree = ""; }; - FBA6AB421AD3ED2D00721644 /* strikethrough.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = strikethrough.png; sourceTree = ""; }; - FBA6AB431AD3ED2D00721644 /* strikethrough@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "strikethrough@2x.png"; sourceTree = ""; }; - FBA6AB441AD3ED2D00721644 /* subscript.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = subscript.png; sourceTree = ""; }; - FBA6AB451AD3ED2D00721644 /* subscript@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "subscript@2x.png"; sourceTree = ""; }; - FBA6AB461AD3ED2D00721644 /* superscript.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = superscript.png; sourceTree = ""; }; - FBA6AB471AD3ED2D00721644 /* superscript@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "superscript@2x.png"; sourceTree = ""; }; - FBA6AB481AD3ED2D00721644 /* text_color.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_color.png; sourceTree = ""; }; - FBA6AB491AD3ED2D00721644 /* text_color@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "text_color@2x.png"; sourceTree = ""; }; - FBA6AB4A1AD3ED2D00721644 /* underline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = underline.png; sourceTree = ""; }; - FBA6AB4B1AD3ED2D00721644 /* underline@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "underline@2x.png"; sourceTree = ""; }; - FBA6AB4C1AD3ED2D00721644 /* undo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = undo.png; sourceTree = ""; }; - FBA6AB4D1AD3ED2D00721644 /* undo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "undo@2x.png"; sourceTree = ""; }; - FBA6AB831AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CJWWebView+HackishAccessoryHiding.h"; path = "Classes/CJWWebView+HackishAccessoryHiding.h"; sourceTree = ""; }; - FBA6AB841AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CJWWebView+HackishAccessoryHiding.m"; path = "Classes/CJWWebView+HackishAccessoryHiding.m"; sourceTree = ""; }; - FBA6AB851AD3ED3C00721644 /* RichEditorOptionItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RichEditorOptionItem.swift; path = Classes/RichEditorOptionItem.swift; sourceTree = ""; }; - FBA6AB861AD3ED3C00721644 /* RichEditorToolbar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RichEditorToolbar.swift; path = Classes/RichEditorToolbar.swift; sourceTree = ""; }; - FBA6AB871AD3ED3C00721644 /* RichEditorView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RichEditorView.swift; path = Classes/RichEditorView.swift; sourceTree = ""; }; - FBA6AB951AD3F3E700721644 /* RichEditorView-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "RichEditorView-Bridging-Header.h"; sourceTree = ""; }; - FBA6ABC41AD3FD2E00721644 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - FBA6AAF51AD3EC9F00721644 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FBA6ABC51AD3FD2E00721644 /* UIKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FBA6AB011AD3EC9F00721644 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FBA6AB051AD3EC9F00721644 /* RichEditorView.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - FBA6AAEF1AD3EC9F00721644 = { - isa = PBXGroup; - children = ( - FBA6ABC41AD3FD2E00721644 /* UIKit.framework */, - FBA6AAFB1AD3EC9F00721644 /* RichEditorView */, - FBA6AB081AD3EC9F00721644 /* RichEditorViewTests */, - FBA6AAFA1AD3EC9F00721644 /* Products */, - ); - sourceTree = ""; - }; - FBA6AAFA1AD3EC9F00721644 /* Products */ = { - isa = PBXGroup; - children = ( - FBA6AAF91AD3EC9F00721644 /* RichEditorView.framework */, - FBA6AB041AD3EC9F00721644 /* RichEditorViewTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - FBA6AAFB1AD3EC9F00721644 /* RichEditorView */ = { - isa = PBXGroup; - children = ( - FBA6AB161AD3ED1B00721644 /* Assets */, - FBA6AB151AD3ED1700721644 /* Classes */, - FBA6AAFE1AD3EC9F00721644 /* RichEditorView.h */, - FBA6AAFC1AD3EC9F00721644 /* Supporting Files */, - ); - path = RichEditorView; - sourceTree = ""; - }; - FBA6AAFC1AD3EC9F00721644 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - FBA6AAFD1AD3EC9F00721644 /* Info.plist */, - FBA6AB951AD3F3E700721644 /* RichEditorView-Bridging-Header.h */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - FBA6AB081AD3EC9F00721644 /* RichEditorViewTests */ = { - isa = PBXGroup; - children = ( - FBA6AB0B1AD3EC9F00721644 /* RichEditorViewTests.swift */, - FBA6AB091AD3EC9F00721644 /* Supporting Files */, - ); - path = RichEditorViewTests; - sourceTree = ""; - }; - FBA6AB091AD3EC9F00721644 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - FBA6AB0A1AD3EC9F00721644 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - FBA6AB151AD3ED1700721644 /* Classes */ = { - isa = PBXGroup; - children = ( - FBA6AB831AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.h */, - FBA6AB841AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.m */, - FBA6AB851AD3ED3C00721644 /* RichEditorOptionItem.swift */, - FBA6AB861AD3ED3C00721644 /* RichEditorToolbar.swift */, - FBA6AB871AD3ED3C00721644 /* RichEditorView.swift */, - 947A71A01C0F9DED00BDF9FC /* UIView+Responder.swift */, - ); - name = Classes; - sourceTree = ""; - }; - FBA6AB161AD3ED1B00721644 /* Assets */ = { - isa = PBXGroup; - children = ( - FBA6AB171AD3ED2D00721644 /* editor */, - FBA6AB1D1AD3ED2D00721644 /* icons */, - ); - name = Assets; - sourceTree = ""; - }; - FBA6AB171AD3ED2D00721644 /* editor */ = { - isa = PBXGroup; - children = ( - FBA6AB181AD3ED2D00721644 /* checking.js */, - FBA6AB191AD3ED2D00721644 /* normalize.css */, - FBA6AB1A1AD3ED2D00721644 /* rich_editor.html */, - FBA6AB1B1AD3ED2D00721644 /* rich_editor.js */, - FBA6AB1C1AD3ED2D00721644 /* style.css */, - ); - name = editor; - path = Assets/editor; - sourceTree = ""; - }; - FBA6AB1D1AD3ED2D00721644 /* icons */ = { - isa = PBXGroup; - children = ( - FBA6AB1E1AD3ED2D00721644 /* bg_color.png */, - FBA6AB1F1AD3ED2D00721644 /* bg_color@2x.png */, - FBA6AB201AD3ED2D00721644 /* bold.png */, - FBA6AB211AD3ED2D00721644 /* bold@2x.png */, - FBA6AB221AD3ED2D00721644 /* clear.png */, - FBA6AB231AD3ED2D00721644 /* clear@2x.png */, - FBA6AB241AD3ED2D00721644 /* h1.png */, - FBA6AB251AD3ED2D00721644 /* h1@2x.png */, - FBA6AB261AD3ED2D00721644 /* h2.png */, - FBA6AB271AD3ED2D00721644 /* h2@2x.png */, - FBA6AB281AD3ED2D00721644 /* h3.png */, - FBA6AB291AD3ED2D00721644 /* h3@2x.png */, - FBA6AB2A1AD3ED2D00721644 /* h4.png */, - FBA6AB2B1AD3ED2D00721644 /* h4@2x.png */, - FBA6AB2C1AD3ED2D00721644 /* h5.png */, - FBA6AB2D1AD3ED2D00721644 /* h5@2x.png */, - FBA6AB2E1AD3ED2D00721644 /* h6.png */, - FBA6AB2F1AD3ED2D00721644 /* h6@2x.png */, - FBA6AB301AD3ED2D00721644 /* indent.png */, - FBA6AB311AD3ED2D00721644 /* indent@2x.png */, - FBA6AB321AD3ED2D00721644 /* insert_image.png */, - FBA6AB331AD3ED2D00721644 /* insert_image@2x.png */, - FBA6AB341AD3ED2D00721644 /* insert_link.png */, - FBA6AB351AD3ED2D00721644 /* insert_link@2x.png */, - FBA6AB361AD3ED2D00721644 /* italic.png */, - FBA6AB371AD3ED2D00721644 /* italic@2x.png */, - FBA6AB381AD3ED2D00721644 /* justify_center.png */, - FBA6AB391AD3ED2D00721644 /* justify_center@2x.png */, - FBA6AB3A1AD3ED2D00721644 /* justify_left.png */, - FBA6AB3B1AD3ED2D00721644 /* justify_left@2x.png */, - FBA6AB3C1AD3ED2D00721644 /* justify_right.png */, - FBA6AB3D1AD3ED2D00721644 /* justify_right@2x.png */, - FBA6AB3E1AD3ED2D00721644 /* outdent.png */, - FBA6AB3F1AD3ED2D00721644 /* outdent@2x.png */, - FBA6AB401AD3ED2D00721644 /* redo.png */, - FBA6AB411AD3ED2D00721644 /* redo@2x.png */, - FBA6AB421AD3ED2D00721644 /* strikethrough.png */, - FBA6AB431AD3ED2D00721644 /* strikethrough@2x.png */, - FBA6AB441AD3ED2D00721644 /* subscript.png */, - FBA6AB451AD3ED2D00721644 /* subscript@2x.png */, - FBA6AB461AD3ED2D00721644 /* superscript.png */, - FBA6AB471AD3ED2D00721644 /* superscript@2x.png */, - FBA6AB481AD3ED2D00721644 /* text_color.png */, - FBA6AB491AD3ED2D00721644 /* text_color@2x.png */, - FBA6AB4A1AD3ED2D00721644 /* underline.png */, - FBA6AB4B1AD3ED2D00721644 /* underline@2x.png */, - FBA6AB4C1AD3ED2D00721644 /* undo.png */, - FBA6AB4D1AD3ED2D00721644 /* undo@2x.png */, - ); - name = icons; - path = Assets/icons; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - FBA6AAF61AD3EC9F00721644 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - FBA6AAFF1AD3EC9F00721644 /* RichEditorView.h in Headers */, - FBA6AB881AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - FBA6AAF81AD3EC9F00721644 /* RichEditorView */ = { - isa = PBXNativeTarget; - buildConfigurationList = FBA6AB0F1AD3EC9F00721644 /* Build configuration list for PBXNativeTarget "RichEditorView" */; - buildPhases = ( - FBA6AAF41AD3EC9F00721644 /* Sources */, - FBA6AAF51AD3EC9F00721644 /* Frameworks */, - FBA6AAF61AD3EC9F00721644 /* Headers */, - FBA6AAF71AD3EC9F00721644 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RichEditorView; - productName = RichEditorView; - productReference = FBA6AAF91AD3EC9F00721644 /* RichEditorView.framework */; - productType = "com.apple.product-type.framework"; - }; - FBA6AB031AD3EC9F00721644 /* RichEditorViewTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = FBA6AB121AD3EC9F00721644 /* Build configuration list for PBXNativeTarget "RichEditorViewTests" */; - buildPhases = ( - FBA6AB001AD3EC9F00721644 /* Sources */, - FBA6AB011AD3EC9F00721644 /* Frameworks */, - FBA6AB021AD3EC9F00721644 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - FBA6AB071AD3EC9F00721644 /* PBXTargetDependency */, - ); - name = RichEditorViewTests; - productName = RichEditorViewTests; - productReference = FBA6AB041AD3EC9F00721644 /* RichEditorViewTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - FBA6AAF01AD3EC9F00721644 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0710; - LastUpgradeCheck = 0820; - TargetAttributes = { - FBA6AAF81AD3EC9F00721644 = { - CreatedOnToolsVersion = 6.2; - LastSwiftMigration = 0820; - }; - FBA6AB031AD3EC9F00721644 = { - CreatedOnToolsVersion = 6.2; - LastSwiftMigration = 0820; - }; - }; - }; - buildConfigurationList = FBA6AAF31AD3EC9F00721644 /* Build configuration list for PBXProject "RichEditorView" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = FBA6AAEF1AD3EC9F00721644; - productRefGroup = FBA6AAFA1AD3EC9F00721644 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - FBA6AAF81AD3EC9F00721644 /* RichEditorView */, - FBA6AB031AD3EC9F00721644 /* RichEditorViewTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - FBA6AAF71AD3EC9F00721644 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FBA6AB641AD3ED2D00721644 /* h6@2x.png in Resources */, - FBA6AB541AD3ED2D00721644 /* bg_color@2x.png in Resources */, - FBA6AB731AD3ED2D00721644 /* outdent.png in Resources */, - FBA6AB591AD3ED2D00721644 /* h1.png in Resources */, - FBA6AB691AD3ED2D00721644 /* insert_link.png in Resources */, - FBA6AB5E1AD3ED2D00721644 /* h3@2x.png in Resources */, - FBA6AB781AD3ED2D00721644 /* strikethrough@2x.png in Resources */, - FBA6AB661AD3ED2D00721644 /* indent@2x.png in Resources */, - FBA6AB821AD3ED2D00721644 /* undo@2x.png in Resources */, - FBA6AB5B1AD3ED2D00721644 /* h2.png in Resources */, - FBA6AB7A1AD3ED2D00721644 /* subscript@2x.png in Resources */, - FBA6AB5F1AD3ED2D00721644 /* h4.png in Resources */, - FBA6AB681AD3ED2D00721644 /* insert_image@2x.png in Resources */, - FBA6AB651AD3ED2D00721644 /* indent.png in Resources */, - FBA6AB5D1AD3ED2D00721644 /* h3.png in Resources */, - FBA6AB631AD3ED2D00721644 /* h6.png in Resources */, - FBA6AB561AD3ED2D00721644 /* bold@2x.png in Resources */, - FBA6AB6E1AD3ED2D00721644 /* justify_center@2x.png in Resources */, - FBA6AB5A1AD3ED2D00721644 /* h1@2x.png in Resources */, - FBA6AB721AD3ED2D00721644 /* justify_right@2x.png in Resources */, - FBA6AB7D1AD3ED2D00721644 /* text_color.png in Resources */, - FBA6AB621AD3ED2D00721644 /* h5@2x.png in Resources */, - FBA6AB5C1AD3ED2D00721644 /* h2@2x.png in Resources */, - FBA6AB6B1AD3ED2D00721644 /* italic.png in Resources */, - FBA6AB771AD3ED2D00721644 /* strikethrough.png in Resources */, - FBA6AB751AD3ED2D00721644 /* redo.png in Resources */, - FBA6AB7F1AD3ED2D00721644 /* underline.png in Resources */, - FBA6AB6A1AD3ED2D00721644 /* insert_link@2x.png in Resources */, - FBA6AB761AD3ED2D00721644 /* redo@2x.png in Resources */, - FBA6AB6D1AD3ED2D00721644 /* justify_center.png in Resources */, - FBA6AB701AD3ED2D00721644 /* justify_left@2x.png in Resources */, - FBA6AB611AD3ED2D00721644 /* h5.png in Resources */, - FBA6AB7E1AD3ED2D00721644 /* text_color@2x.png in Resources */, - FBA6AB811AD3ED2D00721644 /* undo.png in Resources */, - FBA6AB511AD3ED2D00721644 /* rich_editor.js in Resources */, - FBA6AB521AD3ED2D00721644 /* style.css in Resources */, - FBA6AB601AD3ED2D00721644 /* h4@2x.png in Resources */, - FBA6AB581AD3ED2D00721644 /* clear@2x.png in Resources */, - FBA6AB801AD3ED2D00721644 /* underline@2x.png in Resources */, - FBA6AB711AD3ED2D00721644 /* justify_right.png in Resources */, - FBA6AB7C1AD3ED2D00721644 /* superscript@2x.png in Resources */, - FBA6AB551AD3ED2D00721644 /* bold.png in Resources */, - FBA6AB6F1AD3ED2D00721644 /* justify_left.png in Resources */, - FBA6AB4F1AD3ED2D00721644 /* normalize.css in Resources */, - FBA6AB571AD3ED2D00721644 /* clear.png in Resources */, - FBA6AB741AD3ED2D00721644 /* outdent@2x.png in Resources */, - FBA6AB7B1AD3ED2D00721644 /* superscript.png in Resources */, - FBA6AB791AD3ED2D00721644 /* subscript.png in Resources */, - FBA6AB531AD3ED2D00721644 /* bg_color.png in Resources */, - FBA6AB671AD3ED2D00721644 /* insert_image.png in Resources */, - FBA6AB501AD3ED2D00721644 /* rich_editor.html in Resources */, - FBA6AB6C1AD3ED2D00721644 /* italic@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FBA6AB021AD3EC9F00721644 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - FBA6AAF41AD3EC9F00721644 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FBA6AB8A1AD3ED3C00721644 /* RichEditorOptionItem.swift in Sources */, - FBA6AB8B1AD3ED3C00721644 /* RichEditorToolbar.swift in Sources */, - FBA6AB891AD3ED3C00721644 /* CJWWebView+HackishAccessoryHiding.m in Sources */, - FBA6AB8C1AD3ED3C00721644 /* RichEditorView.swift in Sources */, - 947A71A11C0F9DED00BDF9FC /* UIView+Responder.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FBA6AB001AD3EC9F00721644 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - FBA6AB0C1AD3EC9F00721644 /* RichEditorViewTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - FBA6AB071AD3EC9F00721644 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = FBA6AAF81AD3EC9F00721644 /* RichEditorView */; - targetProxy = FBA6AB061AD3EC9F00721644 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - FBA6AB0D1AD3EC9F00721644 /* 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; - CURRENT_PROJECT_VERSION = 1; - 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.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - FBA6AB0E1AD3EC9F00721644 /* 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 = YES; - CURRENT_PROJECT_VERSION = 1; - 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.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - FBA6AB101AD3EC9F00721644 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = RichEditorView/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.cjwirth.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - FBA6AB111AD3EC9F00721644 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = RichEditorView/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.cjwirth.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; - FBA6AB131AD3EC9F00721644 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = RichEditorViewTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.cjwirth.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - FBA6AB141AD3EC9F00721644 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - INFOPLIST_FILE = RichEditorViewTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.cjwirth.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - FBA6AAF31AD3EC9F00721644 /* Build configuration list for PBXProject "RichEditorView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FBA6AB0D1AD3EC9F00721644 /* Debug */, - FBA6AB0E1AD3EC9F00721644 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FBA6AB0F1AD3EC9F00721644 /* Build configuration list for PBXNativeTarget "RichEditorView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FBA6AB101AD3EC9F00721644 /* Debug */, - FBA6AB111AD3EC9F00721644 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - FBA6AB121AD3EC9F00721644 /* Build configuration list for PBXNativeTarget "RichEditorViewTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - FBA6AB131AD3EC9F00721644 /* Debug */, - FBA6AB141AD3EC9F00721644 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = FBA6AAF01AD3EC9F00721644 /* Project object */; -} diff --git a/RichEditorView.xcodeproj/xcshareddata/xcschemes/RichEditorView.xcscheme b/RichEditorView.xcodeproj/xcshareddata/xcschemes/RichEditorView.xcscheme deleted file mode 100644 index 8b25d675..00000000 --- a/RichEditorView.xcodeproj/xcshareddata/xcschemes/RichEditorView.xcscheme +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/RichEditorView.xcworkspace/contents.xcworkspacedata b/RichEditorView.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..9ef7f2df --- /dev/null +++ b/RichEditorView.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/RichEditorView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/RichEditorView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/RichEditorView.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/RichEditorView/Classes/Bundle+Framework.swift b/RichEditorView/Classes/Bundle+Framework.swift new file mode 100644 index 00000000..cb6126b7 --- /dev/null +++ b/RichEditorView/Classes/Bundle+Framework.swift @@ -0,0 +1,96 @@ +// File.swift +// +// Created by GigabiteLabs on 10/2/20 +// Swift Version: 5.0 +// Copyright © 2020 GigabiteLabs. All rights reserved. +// + +import Foundation + +/// An extension for `Bundle` to enable easy & +/// correct referencing of the `Bundle` for a framework, when a +/// resource is needed from within the framework vs main (or other framework) bundle. +extension Bundle { + /// A computed property representing the bundle for the framework. + /// Accessing this property automatically determines the type + /// of dependency manager used, either SwiftPM or Cocoapods. + /// + /// + /// - Precondition: Your project incorporates the framework + /// using either SwiftPM or Cocoapods. + /// + /// - Warning: If your project does not use SwiftPM or Cocoapods to import + /// the framework, this property will return `nil` and some bundles resources + /// may fail to load. + /// + static var framework: Bundle? = { + #if COCOAPODS + print("returning COCOAPODS bundle.") + return Bundle.pod! + #elseif SPM + print("returning SPM bundle.") + return Bundle.spm! + #else + print("neither COCOAPODS or SPM set in env, returning main bundle.") + return Bundle.main + #endif + }() + /// A computed property representing the correct`Bundle` when the + /// framework is imported using **Swift Package Manager**. + /// + /// - Precondition: Your project incorporates the framework + /// using Cocoapods. + /// + /// - Warning: If your project does not use **SwiftPM** for the + /// framework, this will return `nil` and some bundles resources + /// may fail to load. + /// + static let spm: Bundle? = { + #if SPM + return Bundle.module + #else + return nil + #endif + }() + /// A computed property representing the correct `Bundle` when the + /// framework is imported using **Cocoapods**. + /// + /// - Precondition: Your project incorporates the framework + /// using Cocoapods. + /// + /// - Warning: If your project does not use **Cocoapods** for the + /// framework, this will return `nil` and some bundle resources + /// may fail to load. + /// + static let pod: Bundle? = { + #if !COCOAPODS + return nil + #else + let baseBundle = Bundle(for: Framework.self) + print("base bundlePath: \(baseBundle.bundlePath)") + return baseBundle + #endif + }() + /// An accessor function for acessing `resourceBundles` within a + /// Cococapod framework. + /// + /// - Precondition: Your project incorporates the framework + /// using Cocoapods, and the framework uses resourceBundles within + /// the framework podspec. + /// + /// - Warning: If your project does not use **Cocoapods** for the + /// framework or resourceBundles, this will return `nil` and some + /// bundle resources may fail to load. + /// + static func podResourceBundle(_ name: String) -> Bundle? { + #if !COCOAPODS + return nil + #else + let baseBundle = Bundle(for: Framework.self) + return Bundle(path: baseBundle.bundlePath + "/\(name).bundle")! + #endif + } +} + +fileprivate class Framework { +} diff --git a/RichEditorView/Classes/RichEditorOptionItem.swift b/RichEditorView/Classes/RichEditorOptionItem.swift index b322b469..ef8938b5 100755 --- a/RichEditorView/Classes/RichEditorOptionItem.swift +++ b/RichEditorView/Classes/RichEditorOptionItem.swift @@ -116,7 +116,7 @@ public enum RichEditorDefaultOption: RichEditorOption { case .link: name = "insert_link" } - let bundle = Bundle(for: RichEditorToolbar.self) + let bundle = Bundle.framework return UIImage(named: name, in: bundle, compatibleWith: nil)?.withRenderingMode(.alwaysTemplate) } diff --git a/RichEditorView/Classes/RichEditorView.swift b/RichEditorView/Classes/RichEditorView.swift index 2df8114a..0290ead9 100755 --- a/RichEditorView/Classes/RichEditorView.swift +++ b/RichEditorView/Classes/RichEditorView.swift @@ -162,8 +162,11 @@ private let DefaultInnerLineHeight: Int = 21 /// - parameter headerHTML: The header HTML that will be inserted after the default styles. /// - parameter footerHTML: The footer HTML that will be inserted after the default JavaScript. public func reloadHTML(with html: String, headerHTML: String = "", footerHTML: String = "") { - guard let filePath = Bundle(for: RichEditorView.self).path(forResource: "rich_editor", ofType: "html") else { - return + // get the bundle integration context: SPM or Cocoapods + guard + let bundle = Bundle.framework, + let filePath = bundle.path(forResource: "rich_editor", ofType: "html") else { + fatalError("ERROR: Framework bundle could not be found") } let readerHtmlTemplate = try! String(contentsOfFile: filePath) diff --git a/RichEditorView/Classes/UIColor+Extensions.swift b/RichEditorView/Classes/UIColor+Extensions.swift index 82421649..51335a96 100755 --- a/RichEditorView/Classes/UIColor+Extensions.swift +++ b/RichEditorView/Classes/UIColor+Extensions.swift @@ -7,6 +7,7 @@ // import Foundation +import UIKit internal extension UIColor { diff --git a/RichEditorView/RichEditorView-Bridging-Header.h b/RichEditorView/RichEditorView-Bridging-Header.h deleted file mode 100644 index 2dcb3fce..00000000 --- a/RichEditorView/RichEditorView-Bridging-Header.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// RichEditorView-Bridging-Header.h -// RichEditorView -// -// Created by Caesar Wirth on 4/7/15. -// -// - -#ifndef RichEditorView_RichEditorView_Bridging_Header_h -#define RichEditorView_RichEditorView_Bridging_Header_h - -#import "CJWWebView+HackishAccessoryHiding.h" - -#endif diff --git a/RichEditorView/RichEditorView.h b/RichEditorView/RichEditorView.h deleted file mode 100644 index 5e34eeba..00000000 --- a/RichEditorView/RichEditorView.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// RichEditorView.h -// RichEditorView -// -// Created by Caesar Wirth on 4/7/15. -// -// - -#import - -#import - -//! Project version number for RichEditorView. -FOUNDATION_EXPORT double RichEditorViewVersionNumber; - -//! Project version string for RichEditorView. -FOUNDATION_EXPORT const unsigned char RichEditorViewVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/RichEditorViewSample/Podfile.lock b/RichEditorViewSample/Podfile.lock deleted file mode 100644 index 27006b15..00000000 --- a/RichEditorViewSample/Podfile.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - RichEditorView (5.1) - -DEPENDENCIES: - - RichEditorView (from `../`) - -EXTERNAL SOURCES: - RichEditorView: - :path: "../" - -SPEC CHECKSUMS: - RichEditorView: 2aac47416da9ce045349f1d5e22092a8a3c73f6e - -PODFILE CHECKSUM: b9082cf7e9c6b4481e0b6505572cdb4b0674e276 - -COCOAPODS: 1.11.3 diff --git a/RichEditorViewSample/Pods/Local Podspecs/RichEditorView.podspec.json b/RichEditorViewSample/Pods/Local Podspecs/RichEditorView.podspec.json deleted file mode 100644 index 27b783c8..00000000 --- a/RichEditorViewSample/Pods/Local Podspecs/RichEditorView.podspec.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "RichEditorView", - "version": "5.1", - "summary": "Rich Text Editor for iOS written in Swift", - "homepage": "https://github.com/cjwirth/RichEditorView", - "license": "BSD 3-clause", - "authors": { - "C. Bess": "cbess@users.noreply.github.com", - "Caesar Wirth": "cjwirth@gmail.com" - }, - "source": { - "git": "https://github.com/cbess/RichEditorView.git", - "tag": "5.1" - }, - "platforms": { - "ios": "12.0" - }, - "swift_versions": "5.0", - "requires_arc": true, - "source_files": "RichEditorView/Classes/*", - "resources": [ - "RichEditorView/Assets/icons/*", - "RichEditorView/Assets/editor/*" - ], - "swift_version": "5.0" -} diff --git a/RichEditorViewSample/Pods/Manifest.lock b/RichEditorViewSample/Pods/Manifest.lock deleted file mode 100644 index b54c2dd5..00000000 --- a/RichEditorViewSample/Pods/Manifest.lock +++ /dev/null @@ -1,16 +0,0 @@ -PODS: - - RichEditorView (5.1) - -DEPENDENCIES: - - RichEditorView (from `../`) - -EXTERNAL SOURCES: - RichEditorView: - :path: "../" - -SPEC CHECKSUMS: - RichEditorView: 2aac47416da9ce045349f1d5e22092a8a3c73f6e - -PODFILE CHECKSUM: b9082cf7e9c6b4481e0b6505572cdb4b0674e276 - -COCOAPODS: 1.10.0 diff --git a/RichEditorViewSample/Pods/Pods.xcodeproj/project.pbxproj b/RichEditorViewSample/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 4a68c1b6..00000000 --- a/RichEditorViewSample/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,824 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 070E21CA22AB74C8F90DE22279F6D18B /* italic@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 030186350F3A7E15A07FB41BEC999892 /* italic@2x.png */; }; - 087CCED2EB866E538E9FCCA24993CEDD /* RichEditorView-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE4538D5806A22A0719B84E10992B8FE /* RichEditorView-dummy.m */; }; - 0F7A4A8296A33345F6E7967BCFF336DC /* RichEditorWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5E5FB0CB52FA79C1E8F7C21536A6E06 /* RichEditorWebView.swift */; }; - 1FB1CC16A0A412F6E3A45F81C948CF6C /* ordered_list@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 69885E01C8865B3B2A52BA19D4F163EE /* ordered_list@3x.png */; }; - 21A0CABBBE1047EE45D996D44716F88F /* insert_link@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8D71F2EB53BA839CF0378AA5888FDBFF /* insert_link@2x.png */; }; - 25C66F633705C4E953715583BB510DD3 /* String+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 162EE66FA0FFC2AB14C88883BC73626F /* String+Extensions.swift */; }; - 2B9B798A8CDCAFD9E4D0F1C1BDA8BB64 /* insert_image@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C3F21B4CD082E6E587B068EB1DA9E2F0 /* insert_image@2x.png */; }; - 2B9C4775F3E11F1C8F4A420F82C15E7A /* bg_color@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 532EBA851A47134B706B878BE73FEA02 /* bg_color@2x.png */; }; - 2EC53210D122C463DB3EBCEE80877C87 /* indent@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7735416C9EC45231287BFB067F36C663 /* indent@3x.png */; }; - 31E21133C76F33F5FA6A8A5A55F1A383 /* bg_color@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F9823D909F56564519C4C153CC53E314 /* bg_color@3x.png */; }; - 332EA6066364EE9554B27DB9D5858013 /* strikethrough@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CD300778AC711A9EEC3E8E25ACA4BA5C /* strikethrough@2x.png */; }; - 44652639BF737B8DF859836ABF5C5703 /* Pods-RichEditorViewSample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 646C8743306C4559E0829D66DB6027A0 /* Pods-RichEditorViewSample-dummy.m */; }; - 45F4536E6782F41C19F35922F932D79A /* h4@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 585280D98F9C0753BC69ABA58CDF653E /* h4@2x.png */; }; - 4757CBC644C492A8E03DE702AFD69C46 /* h1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4743E1EA252FE052E1603D312D3A3CC6 /* h1@2x.png */; }; - 4C9F8D54B589677A94A3F7F239D0F706 /* justify_center@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 987635C4DC655647A8353A1CBB43845D /* justify_center@2x.png */; }; - 522367D4AB1EF4B235AEA80DB3073A3E /* unordered_list@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BC5112A95736657BB0B8EEA7AEB9C37D /* unordered_list@3x.png */; }; - 5A5514B5D976ABF90CD4114278334607 /* RichEditorToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC4C4D02CC76CC7BFE4EC233DA7064D /* RichEditorToolbar.swift */; }; - 6050F6AE7CE622915DC9E33AB24FC2B5 /* underline@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7F7996C846A71E93871DEEBDAEC26DA5 /* underline@3x.png */; }; - 68536B6756C3C93913ABBEC8EBEE56BB /* bold@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = BBDF92A0180DFCD36E34C02A90FB0BEF /* bold@3x.png */; }; - 6E6F8DE1613433F5566E21A28DAB4534 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; - 72055F1FC91855E4AB233C1BB8AA7F42 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */; }; - 74DE4A3FC32D406E833EF5FA833AEC84 /* RichEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49C5FE5B6B0FD3C7C4B6663DDE637816 /* RichEditorView.swift */; }; - 79769168DB67D7BAC380F6C5D65F1699 /* bold@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1C40A154A87BF425B7D61D15000F9628 /* bold@2x.png */; }; - 7A8EECCCC3A103664204BAE0E9707450 /* ordered_list@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 88863D9A62ECCA0794C70414455FA3C5 /* ordered_list@2x.png */; }; - 7DED0936DB98B35D02B38A673D5121B3 /* rich_editor_tests.html in Resources */ = {isa = PBXBuildFile; fileRef = AAE92BD2012E899D45780E92D2E2F212 /* rich_editor_tests.html */; }; - 7E47C19BF270D58D5CF4FD5B43E882A0 /* UIColor+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C71882894493E256680E4CB04974C72 /* UIColor+Extensions.swift */; }; - 7F50F3870A3083C2A0E7B2D64C08C8A6 /* justify_left@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6F7AA42129BBE401E141F3A94DE7B78 /* justify_left@2x.png */; }; - 83CBDD6F57C241A1642673BD23F2FE83 /* style.css in Resources */ = {isa = PBXBuildFile; fileRef = E327C2D9CC4986C89DD4C89DE3943BAD /* style.css */; }; - 84DE55BF600FAF4E50F0F9E4CFE7C931 /* unordered_list@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = EDD5D4233D840FD8B659681C67643487 /* unordered_list@2x.png */; }; - 8860D47BABB7AA9ACAC93488CD4063EF /* indent@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A7BA9C98B2DCEA805406960E56095263 /* indent@2x.png */; }; - 8928628087C70C2D8FAC6A46DB5FA9EB /* clear@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A564315FBB3CDB0A7C19F3A3169FAF03 /* clear@2x.png */; }; - 8A20E483DC4987B3909E50665ADF6844 /* assert.js in Resources */ = {isa = PBXBuildFile; fileRef = 2CDC6C73446595B2FF7DDCD53AFF4417 /* assert.js */; }; - 8B6AAE3E1C9030D3D061DCC5FB810C97 /* RichEditorOptionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4389C19B2113730D9F2F2C38A060DFF7 /* RichEditorOptionItem.swift */; }; - 900614E139C150390EA221A82D72CF8E /* text_color@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F86EEF8368A853A2B5B12C4AF2DFF082 /* text_color@2x.png */; }; - 9219A6979C32B5AEB11CD5E9EB1B9AAF /* justify_right@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = A655F58C9AE9B44A69DFBF00025C7BAB /* justify_right@2x.png */; }; - 926DCCA57876E71BB5CE1E13F937D1C8 /* h2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AA1E4CAA2DADEBF26BC826974CB309E8 /* h2@2x.png */; }; - 96E8A890A5E6C4E4A5413790FD7D6735 /* undo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6285727958C495A948DA4667C2810F46 /* undo@3x.png */; }; - 98DD02C44C5F8A88E8ED745BEB8E11D7 /* rich_editor.html in Resources */ = {isa = PBXBuildFile; fileRef = 040F20B63149FAB4728B07654431C749 /* rich_editor.html */; }; - 98F2506A2F20862CEDE9907B869A5911 /* subscript@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E0F5346E65F89F3F2D5FBFC47E0926A8 /* subscript@2x.png */; }; - 9A893619AD20310DF28AB4B7C14325B4 /* outdent@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C6FD55A2B5D0927D60CADA1F53A5DE74 /* outdent@3x.png */; }; - A1E41160481A56859B1B7C8B61611265 /* rich_editor_tests.js in Resources */ = {isa = PBXBuildFile; fileRef = 7BE81EA4CFE4AE6E88674314B43F0FF9 /* rich_editor_tests.js */; }; - A5CB91367421613709294EF30A1CC3CF /* undo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D332FB28B6C3C2F0A66D6F512E6669D7 /* undo@2x.png */; }; - A8F35FB36899E709CAEC535E3FBB0677 /* h5@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B885781B7A346D8D5C8585D6817E6F3C /* h5@2x.png */; }; - AC1958E4588D8691DAEA92CEE280D140 /* redo@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 605A6BDE91BAC37DD838D42C5D37CBAD /* redo@2x.png */; }; - AC1D9561A9EA656BBD10CE5527C2D916 /* underline@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 58DE3DBFB81461370A900EB84E936E10 /* underline@2x.png */; }; - C21D233F62F0449AA323AB70393F849F /* superscript@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0A3B576F57C5E0E833AAE1A2DE99960 /* superscript@2x.png */; }; - C48E71C057EDE793A95584808A52281F /* italic@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E37F83E76757F9068A4E1AE6713CED3D /* italic@3x.png */; }; - DAB1B03E6FBA2EDB8371EDEB59B82424 /* rich_editor.js in Resources */ = {isa = PBXBuildFile; fileRef = D0A0D6A3D74B1887CCE00D0C1B1F8B55 /* rich_editor.js */; }; - DBD18AA218C7A60BE091AA1DFC425EF1 /* redo@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C505818A909533B596DE313F0BCDD6DE /* redo@3x.png */; }; - DC54ACCE8EF21CED89F8FDA06D76DE11 /* h6@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E525F3439285F67452C3331F41725B22 /* h6@2x.png */; }; - E2729755B11B9853C107CEEB04E8826C /* outdent@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 000E92600184FE23A1016669DE914972 /* outdent@2x.png */; }; - E6C1508F04C714C7CF7D88B8EE5F3F3F /* Pods-RichEditorViewSample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A19DC18C6D9953EED3AA7F6B835677B0 /* Pods-RichEditorViewSample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ED6804BDB1BDAEE1D77B58ECBA4A3D84 /* h3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E4D545AB2D9505D950D28941B53F3AB3 /* h3@2x.png */; }; - EE15065FDD6C408D819704689DBDB5CF /* RichEditorView-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DD32808DF405AA521F25A283F463810 /* RichEditorView-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EEE045D85E96DE982F056B4E591E0683 /* text_color@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2969C69DA545E44CE336A3E685A6B6C1 /* text_color@3x.png */; }; - FCE2D5FD591E1CAB57BB1EF248271990 /* normalize.css in Resources */ = {isa = PBXBuildFile; fileRef = 68A7058A72A7A2D9ED5603114806E616 /* normalize.css */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - BACE1CB2B7DE2EB0A62CC24E65E677D0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = EE1675A9CD3D9AB59F10128C452292F9; - remoteInfo = RichEditorView; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 000E92600184FE23A1016669DE914972 /* outdent@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "outdent@2x.png"; sourceTree = ""; }; - 030186350F3A7E15A07FB41BEC999892 /* italic@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "italic@2x.png"; sourceTree = ""; }; - 040F20B63149FAB4728B07654431C749 /* rich_editor.html */ = {isa = PBXFileReference; includeInIndex = 1; path = rich_editor.html; sourceTree = ""; }; - 05C303ED2FFE7B149D637E240F4D0398 /* Pods-RichEditorViewSample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-RichEditorViewSample.modulemap"; sourceTree = ""; }; - 0622620F51CE7D92DDC3CF63B7A4D89A /* Pods-RichEditorViewSample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-RichEditorViewSample-acknowledgements.markdown"; sourceTree = ""; }; - 162EE66FA0FFC2AB14C88883BC73626F /* String+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extensions.swift"; path = "RichEditorView/Classes/String+Extensions.swift"; sourceTree = ""; }; - 18A8A5EC271AEC1E49F930F77D85A249 /* Pods_RichEditorViewSample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_RichEditorViewSample.framework; path = "Pods-RichEditorViewSample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1C40A154A87BF425B7D61D15000F9628 /* bold@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "bold@2x.png"; sourceTree = ""; }; - 2969C69DA545E44CE336A3E685A6B6C1 /* text_color@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "text_color@3x.png"; sourceTree = ""; }; - 2CDC6C73446595B2FF7DDCD53AFF4417 /* assert.js */ = {isa = PBXFileReference; includeInIndex = 1; path = assert.js; sourceTree = ""; }; - 3FC4C4D02CC76CC7BFE4EC233DA7064D /* RichEditorToolbar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RichEditorToolbar.swift; path = RichEditorView/Classes/RichEditorToolbar.swift; sourceTree = ""; }; - 4389C19B2113730D9F2F2C38A060DFF7 /* RichEditorOptionItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RichEditorOptionItem.swift; path = RichEditorView/Classes/RichEditorOptionItem.swift; sourceTree = ""; }; - 4743E1EA252FE052E1603D312D3A3CC6 /* h1@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "h1@2x.png"; sourceTree = ""; }; - 49C5FE5B6B0FD3C7C4B6663DDE637816 /* RichEditorView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RichEditorView.swift; path = RichEditorView/Classes/RichEditorView.swift; sourceTree = ""; }; - 4C71882894493E256680E4CB04974C72 /* UIColor+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UIColor+Extensions.swift"; path = "RichEditorView/Classes/UIColor+Extensions.swift"; sourceTree = ""; }; - 4DD6BD21BD7DDC5C2FFE0EA2327BE516 /* Pods-RichEditorViewSample-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RichEditorViewSample-Info.plist"; sourceTree = ""; }; - 532EBA851A47134B706B878BE73FEA02 /* bg_color@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "bg_color@2x.png"; sourceTree = ""; }; - 585280D98F9C0753BC69ABA58CDF653E /* h4@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "h4@2x.png"; sourceTree = ""; }; - 58DE3DBFB81461370A900EB84E936E10 /* underline@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "underline@2x.png"; sourceTree = ""; }; - 5C7AC815F6255F6CB6066F33F6C6957C /* Pods-RichEditorViewSample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RichEditorViewSample.debug.xcconfig"; sourceTree = ""; }; - 5DA85B62B8158D56C1DD902ECCE49BEF /* RichEditorView.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RichEditorView.release.xcconfig; sourceTree = ""; }; - 605A6BDE91BAC37DD838D42C5D37CBAD /* redo@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "redo@2x.png"; sourceTree = ""; }; - 6285727958C495A948DA4667C2810F46 /* undo@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "undo@3x.png"; sourceTree = ""; }; - 646C8743306C4559E0829D66DB6027A0 /* Pods-RichEditorViewSample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-RichEditorViewSample-dummy.m"; sourceTree = ""; }; - 653F86C27885272C393737519D648E56 /* Pods-RichEditorViewSample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-RichEditorViewSample-acknowledgements.plist"; sourceTree = ""; }; - 68A7058A72A7A2D9ED5603114806E616 /* normalize.css */ = {isa = PBXFileReference; includeInIndex = 1; path = normalize.css; sourceTree = ""; }; - 6986180DAB59947F394C0A31FA8BAE48 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 69885E01C8865B3B2A52BA19D4F163EE /* ordered_list@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ordered_list@3x.png"; sourceTree = ""; }; - 6C614A86A3A063D255C141F4DF9D8809 /* RichEditorView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = RichEditorView.framework; path = RichEditorView.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 7735416C9EC45231287BFB067F36C663 /* indent@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "indent@3x.png"; sourceTree = ""; }; - 7BE81EA4CFE4AE6E88674314B43F0FF9 /* rich_editor_tests.js */ = {isa = PBXFileReference; includeInIndex = 1; path = rich_editor_tests.js; sourceTree = ""; }; - 7DD32808DF405AA521F25A283F463810 /* RichEditorView-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RichEditorView-umbrella.h"; sourceTree = ""; }; - 7F7996C846A71E93871DEEBDAEC26DA5 /* underline@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "underline@3x.png"; sourceTree = ""; }; - 88863D9A62ECCA0794C70414455FA3C5 /* ordered_list@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ordered_list@2x.png"; sourceTree = ""; }; - 8CB465EB49A095BB6452C2B2A5AA7058 /* RichEditorView.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = RichEditorView.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 8D71F2EB53BA839CF0378AA5888FDBFF /* insert_link@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "insert_link@2x.png"; sourceTree = ""; }; - 987635C4DC655647A8353A1CBB43845D /* justify_center@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "justify_center@2x.png"; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A19DC18C6D9953EED3AA7F6B835677B0 /* Pods-RichEditorViewSample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-RichEditorViewSample-umbrella.h"; sourceTree = ""; }; - A564315FBB3CDB0A7C19F3A3169FAF03 /* clear@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "clear@2x.png"; sourceTree = ""; }; - A5E5FB0CB52FA79C1E8F7C21536A6E06 /* RichEditorWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RichEditorWebView.swift; path = RichEditorView/Classes/RichEditorWebView.swift; sourceTree = ""; }; - A655F58C9AE9B44A69DFBF00025C7BAB /* justify_right@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "justify_right@2x.png"; sourceTree = ""; }; - A7BA9C98B2DCEA805406960E56095263 /* indent@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "indent@2x.png"; sourceTree = ""; }; - AA1E4CAA2DADEBF26BC826974CB309E8 /* h2@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "h2@2x.png"; sourceTree = ""; }; - AAE92BD2012E899D45780E92D2E2F212 /* rich_editor_tests.html */ = {isa = PBXFileReference; includeInIndex = 1; path = rich_editor_tests.html; sourceTree = ""; }; - B143F62832798C327FC9E445D8700407 /* RichEditorView-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RichEditorView-prefix.pch"; sourceTree = ""; }; - B6F7AA42129BBE401E141F3A94DE7B78 /* justify_left@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "justify_left@2x.png"; sourceTree = ""; }; - B885781B7A346D8D5C8585D6817E6F3C /* h5@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "h5@2x.png"; sourceTree = ""; }; - BBDF92A0180DFCD36E34C02A90FB0BEF /* bold@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "bold@3x.png"; sourceTree = ""; }; - BBFA39FC558A8863856BAA239FC204A2 /* Pods-RichEditorViewSample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-RichEditorViewSample-frameworks.sh"; sourceTree = ""; }; - BC5112A95736657BB0B8EEA7AEB9C37D /* unordered_list@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "unordered_list@3x.png"; sourceTree = ""; }; - C3F21B4CD082E6E587B068EB1DA9E2F0 /* insert_image@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "insert_image@2x.png"; sourceTree = ""; }; - C505818A909533B596DE313F0BCDD6DE /* redo@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "redo@3x.png"; sourceTree = ""; }; - C6FD55A2B5D0927D60CADA1F53A5DE74 /* outdent@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "outdent@3x.png"; sourceTree = ""; }; - C91714D00AA9CFDD87364A58243CDDCE /* LICENSE.md */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE.md; sourceTree = ""; }; - CD300778AC711A9EEC3E8E25ACA4BA5C /* strikethrough@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "strikethrough@2x.png"; sourceTree = ""; }; - CF8AF16E9326CC267172E201ED7D00C8 /* RichEditorView-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "RichEditorView-Info.plist"; sourceTree = ""; }; - D0A0D6A3D74B1887CCE00D0C1B1F8B55 /* rich_editor.js */ = {isa = PBXFileReference; includeInIndex = 1; path = rich_editor.js; sourceTree = ""; }; - D0A3B576F57C5E0E833AAE1A2DE99960 /* superscript@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "superscript@2x.png"; sourceTree = ""; }; - D332FB28B6C3C2F0A66D6F512E6669D7 /* undo@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "undo@2x.png"; sourceTree = ""; }; - DE4538D5806A22A0719B84E10992B8FE /* RichEditorView-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RichEditorView-dummy.m"; sourceTree = ""; }; - DEBFFEB4FE2517D62927CFBE219CE5F7 /* Pods-RichEditorViewSample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-RichEditorViewSample.release.xcconfig"; sourceTree = ""; }; - E0F5346E65F89F3F2D5FBFC47E0926A8 /* subscript@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "subscript@2x.png"; sourceTree = ""; }; - E327C2D9CC4986C89DD4C89DE3943BAD /* style.css */ = {isa = PBXFileReference; includeInIndex = 1; path = style.css; sourceTree = ""; }; - E37F83E76757F9068A4E1AE6713CED3D /* italic@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "italic@3x.png"; sourceTree = ""; }; - E4D545AB2D9505D950D28941B53F3AB3 /* h3@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "h3@2x.png"; sourceTree = ""; }; - E525F3439285F67452C3331F41725B22 /* h6@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "h6@2x.png"; sourceTree = ""; }; - E96869E7EAFB2854E711CA3321CACA4E /* RichEditorView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RichEditorView.debug.xcconfig; sourceTree = ""; }; - EDD5D4233D840FD8B659681C67643487 /* unordered_list@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "unordered_list@2x.png"; sourceTree = ""; }; - EF6C5FD18A970013DC6FA2E3BB8C62F6 /* RichEditorView.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = RichEditorView.modulemap; sourceTree = ""; }; - F86EEF8368A853A2B5B12C4AF2DFF082 /* text_color@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "text_color@2x.png"; sourceTree = ""; }; - F9823D909F56564519C4C153CC53E314 /* bg_color@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "bg_color@3x.png"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 4B9D6F893C7290677723F6E9AC3AFF26 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 72055F1FC91855E4AB233C1BB8AA7F42 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D9A4211F6A55990C97D31D94A6A19C40 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6E6F8DE1613433F5566E21A28DAB4534 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 182CF90D0CCC0AE2D66EA6DCE2744B56 /* editor */ = { - isa = PBXGroup; - children = ( - 2CDC6C73446595B2FF7DDCD53AFF4417 /* assert.js */, - 68A7058A72A7A2D9ED5603114806E616 /* normalize.css */, - 040F20B63149FAB4728B07654431C749 /* rich_editor.html */, - D0A0D6A3D74B1887CCE00D0C1B1F8B55 /* rich_editor.js */, - AAE92BD2012E899D45780E92D2E2F212 /* rich_editor_tests.html */, - 7BE81EA4CFE4AE6E88674314B43F0FF9 /* rich_editor_tests.js */, - E327C2D9CC4986C89DD4C89DE3943BAD /* style.css */, - ); - name = editor; - path = RichEditorView/Assets/editor; - sourceTree = ""; - }; - 2C4DC57F202C67D19F27203068FBE556 /* RichEditorView */ = { - isa = PBXGroup; - children = ( - 4389C19B2113730D9F2F2C38A060DFF7 /* RichEditorOptionItem.swift */, - 3FC4C4D02CC76CC7BFE4EC233DA7064D /* RichEditorToolbar.swift */, - 49C5FE5B6B0FD3C7C4B6663DDE637816 /* RichEditorView.swift */, - A5E5FB0CB52FA79C1E8F7C21536A6E06 /* RichEditorWebView.swift */, - 162EE66FA0FFC2AB14C88883BC73626F /* String+Extensions.swift */, - 4C71882894493E256680E4CB04974C72 /* UIColor+Extensions.swift */, - 182CF90D0CCC0AE2D66EA6DCE2744B56 /* editor */, - CB28C3401747BD6163F58AFCA2E5CBD2 /* icons */, - 32372EB70AA3746422ADCB782A2A9353 /* Pod */, - DCF04CF798D4A2B17A722BAB6CD29B3C /* Support Files */, - ); - name = RichEditorView; - path = ../..; - sourceTree = ""; - }; - 32372EB70AA3746422ADCB782A2A9353 /* Pod */ = { - isa = PBXGroup; - children = ( - C91714D00AA9CFDD87364A58243CDDCE /* LICENSE.md */, - 6986180DAB59947F394C0A31FA8BAE48 /* README.md */, - 8CB465EB49A095BB6452C2B2A5AA7058 /* RichEditorView.podspec */, - ); - name = Pod; - sourceTree = ""; - }; - 578452D2E740E91742655AC8F1636D1F /* iOS */ = { - isa = PBXGroup; - children = ( - 73010CC983E3809BECEE5348DA1BB8C6 /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 58D8717819B7304A8665E34A00713C25 /* Products */ = { - isa = PBXGroup; - children = ( - 18A8A5EC271AEC1E49F930F77D85A249 /* Pods_RichEditorViewSample.framework */, - 6C614A86A3A063D255C141F4DF9D8809 /* RichEditorView.framework */, - ); - name = Products; - sourceTree = ""; - }; - 741073698130FE815C02F15B379D5D65 /* Pods-RichEditorViewSample */ = { - isa = PBXGroup; - children = ( - 05C303ED2FFE7B149D637E240F4D0398 /* Pods-RichEditorViewSample.modulemap */, - 0622620F51CE7D92DDC3CF63B7A4D89A /* Pods-RichEditorViewSample-acknowledgements.markdown */, - 653F86C27885272C393737519D648E56 /* Pods-RichEditorViewSample-acknowledgements.plist */, - 646C8743306C4559E0829D66DB6027A0 /* Pods-RichEditorViewSample-dummy.m */, - BBFA39FC558A8863856BAA239FC204A2 /* Pods-RichEditorViewSample-frameworks.sh */, - 4DD6BD21BD7DDC5C2FFE0EA2327BE516 /* Pods-RichEditorViewSample-Info.plist */, - A19DC18C6D9953EED3AA7F6B835677B0 /* Pods-RichEditorViewSample-umbrella.h */, - 5C7AC815F6255F6CB6066F33F6C6957C /* Pods-RichEditorViewSample.debug.xcconfig */, - DEBFFEB4FE2517D62927CFBE219CE5F7 /* Pods-RichEditorViewSample.release.xcconfig */, - ); - name = "Pods-RichEditorViewSample"; - path = "Target Support Files/Pods-RichEditorViewSample"; - sourceTree = ""; - }; - CB28C3401747BD6163F58AFCA2E5CBD2 /* icons */ = { - isa = PBXGroup; - children = ( - 532EBA851A47134B706B878BE73FEA02 /* bg_color@2x.png */, - F9823D909F56564519C4C153CC53E314 /* bg_color@3x.png */, - 1C40A154A87BF425B7D61D15000F9628 /* bold@2x.png */, - BBDF92A0180DFCD36E34C02A90FB0BEF /* bold@3x.png */, - A564315FBB3CDB0A7C19F3A3169FAF03 /* clear@2x.png */, - 4743E1EA252FE052E1603D312D3A3CC6 /* h1@2x.png */, - AA1E4CAA2DADEBF26BC826974CB309E8 /* h2@2x.png */, - E4D545AB2D9505D950D28941B53F3AB3 /* h3@2x.png */, - 585280D98F9C0753BC69ABA58CDF653E /* h4@2x.png */, - B885781B7A346D8D5C8585D6817E6F3C /* h5@2x.png */, - E525F3439285F67452C3331F41725B22 /* h6@2x.png */, - A7BA9C98B2DCEA805406960E56095263 /* indent@2x.png */, - 7735416C9EC45231287BFB067F36C663 /* indent@3x.png */, - C3F21B4CD082E6E587B068EB1DA9E2F0 /* insert_image@2x.png */, - 8D71F2EB53BA839CF0378AA5888FDBFF /* insert_link@2x.png */, - 030186350F3A7E15A07FB41BEC999892 /* italic@2x.png */, - E37F83E76757F9068A4E1AE6713CED3D /* italic@3x.png */, - 987635C4DC655647A8353A1CBB43845D /* justify_center@2x.png */, - B6F7AA42129BBE401E141F3A94DE7B78 /* justify_left@2x.png */, - A655F58C9AE9B44A69DFBF00025C7BAB /* justify_right@2x.png */, - 88863D9A62ECCA0794C70414455FA3C5 /* ordered_list@2x.png */, - 69885E01C8865B3B2A52BA19D4F163EE /* ordered_list@3x.png */, - 000E92600184FE23A1016669DE914972 /* outdent@2x.png */, - C6FD55A2B5D0927D60CADA1F53A5DE74 /* outdent@3x.png */, - 605A6BDE91BAC37DD838D42C5D37CBAD /* redo@2x.png */, - C505818A909533B596DE313F0BCDD6DE /* redo@3x.png */, - CD300778AC711A9EEC3E8E25ACA4BA5C /* strikethrough@2x.png */, - E0F5346E65F89F3F2D5FBFC47E0926A8 /* subscript@2x.png */, - D0A3B576F57C5E0E833AAE1A2DE99960 /* superscript@2x.png */, - F86EEF8368A853A2B5B12C4AF2DFF082 /* text_color@2x.png */, - 2969C69DA545E44CE336A3E685A6B6C1 /* text_color@3x.png */, - 58DE3DBFB81461370A900EB84E936E10 /* underline@2x.png */, - 7F7996C846A71E93871DEEBDAEC26DA5 /* underline@3x.png */, - D332FB28B6C3C2F0A66D6F512E6669D7 /* undo@2x.png */, - 6285727958C495A948DA4667C2810F46 /* undo@3x.png */, - EDD5D4233D840FD8B659681C67643487 /* unordered_list@2x.png */, - BC5112A95736657BB0B8EEA7AEB9C37D /* unordered_list@3x.png */, - ); - name = icons; - path = RichEditorView/Assets/icons; - sourceTree = ""; - }; - CF1408CF629C7361332E53B88F7BD30C = { - isa = PBXGroup; - children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - E6407EDDD41758FE2781879CDCCEB35F /* Development Pods */, - D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */, - 58D8717819B7304A8665E34A00713C25 /* Products */, - E3E0F13F6F3B99D2CE3FA4001E538CA4 /* Targets Support Files */, - ); - sourceTree = ""; - }; - D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 578452D2E740E91742655AC8F1636D1F /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - DCF04CF798D4A2B17A722BAB6CD29B3C /* Support Files */ = { - isa = PBXGroup; - children = ( - EF6C5FD18A970013DC6FA2E3BB8C62F6 /* RichEditorView.modulemap */, - DE4538D5806A22A0719B84E10992B8FE /* RichEditorView-dummy.m */, - CF8AF16E9326CC267172E201ED7D00C8 /* RichEditorView-Info.plist */, - B143F62832798C327FC9E445D8700407 /* RichEditorView-prefix.pch */, - 7DD32808DF405AA521F25A283F463810 /* RichEditorView-umbrella.h */, - E96869E7EAFB2854E711CA3321CACA4E /* RichEditorView.debug.xcconfig */, - 5DA85B62B8158D56C1DD902ECCE49BEF /* RichEditorView.release.xcconfig */, - ); - name = "Support Files"; - path = "RichEditorViewSample/Pods/Target Support Files/RichEditorView"; - sourceTree = ""; - }; - E3E0F13F6F3B99D2CE3FA4001E538CA4 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 741073698130FE815C02F15B379D5D65 /* Pods-RichEditorViewSample */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - E6407EDDD41758FE2781879CDCCEB35F /* Development Pods */ = { - isa = PBXGroup; - children = ( - 2C4DC57F202C67D19F27203068FBE556 /* RichEditorView */, - ); - name = "Development Pods"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2B39C68FFEA77744CC8713ED323AA842 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E6C1508F04C714C7CF7D88B8EE5F3F3F /* Pods-RichEditorViewSample-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A4D52703FEED1C7225833E17ECB2E84B /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - EE15065FDD6C408D819704689DBDB5CF /* RichEditorView-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 737BA223DB1CCE508AF5096FB998C795 /* Pods-RichEditorViewSample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 44E7CF421DFF80A249AE43E1CDDE1EA1 /* Build configuration list for PBXNativeTarget "Pods-RichEditorViewSample" */; - buildPhases = ( - 2B39C68FFEA77744CC8713ED323AA842 /* Headers */, - F49DF101B4FCBCA4CB5340EB84214E23 /* Sources */, - D9A4211F6A55990C97D31D94A6A19C40 /* Frameworks */, - 23C524A8C79819CE41343B568C7F8340 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 0103CB2EEF8DE46A417077D3E48349C8 /* PBXTargetDependency */, - ); - name = "Pods-RichEditorViewSample"; - productName = "Pods-RichEditorViewSample"; - productReference = 18A8A5EC271AEC1E49F930F77D85A249 /* Pods_RichEditorViewSample.framework */; - productType = "com.apple.product-type.framework"; - }; - EE1675A9CD3D9AB59F10128C452292F9 /* RichEditorView */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F14A55D0B1FB580697985071A233310 /* Build configuration list for PBXNativeTarget "RichEditorView" */; - buildPhases = ( - A4D52703FEED1C7225833E17ECB2E84B /* Headers */, - 9CE94E86A312BE970F6626CCBDE471DF /* Sources */, - 4B9D6F893C7290677723F6E9AC3AFF26 /* Frameworks */, - C89DC1D7E5F040C1E6F7A8A7C2884AAA /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RichEditorView; - productName = RichEditorView; - productReference = 6C614A86A3A063D255C141F4DF9D8809 /* RichEditorView.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1100; - LastUpgradeCheck = 1100; - }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 58D8717819B7304A8665E34A00713C25 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 737BA223DB1CCE508AF5096FB998C795 /* Pods-RichEditorViewSample */, - EE1675A9CD3D9AB59F10128C452292F9 /* RichEditorView */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 23C524A8C79819CE41343B568C7F8340 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C89DC1D7E5F040C1E6F7A8A7C2884AAA /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8A20E483DC4987B3909E50665ADF6844 /* assert.js in Resources */, - 2B9C4775F3E11F1C8F4A420F82C15E7A /* bg_color@2x.png in Resources */, - 31E21133C76F33F5FA6A8A5A55F1A383 /* bg_color@3x.png in Resources */, - 79769168DB67D7BAC380F6C5D65F1699 /* bold@2x.png in Resources */, - 68536B6756C3C93913ABBEC8EBEE56BB /* bold@3x.png in Resources */, - 8928628087C70C2D8FAC6A46DB5FA9EB /* clear@2x.png in Resources */, - 4757CBC644C492A8E03DE702AFD69C46 /* h1@2x.png in Resources */, - 926DCCA57876E71BB5CE1E13F937D1C8 /* h2@2x.png in Resources */, - ED6804BDB1BDAEE1D77B58ECBA4A3D84 /* h3@2x.png in Resources */, - 45F4536E6782F41C19F35922F932D79A /* h4@2x.png in Resources */, - A8F35FB36899E709CAEC535E3FBB0677 /* h5@2x.png in Resources */, - DC54ACCE8EF21CED89F8FDA06D76DE11 /* h6@2x.png in Resources */, - 8860D47BABB7AA9ACAC93488CD4063EF /* indent@2x.png in Resources */, - 2EC53210D122C463DB3EBCEE80877C87 /* indent@3x.png in Resources */, - 2B9B798A8CDCAFD9E4D0F1C1BDA8BB64 /* insert_image@2x.png in Resources */, - 21A0CABBBE1047EE45D996D44716F88F /* insert_link@2x.png in Resources */, - 070E21CA22AB74C8F90DE22279F6D18B /* italic@2x.png in Resources */, - C48E71C057EDE793A95584808A52281F /* italic@3x.png in Resources */, - 4C9F8D54B589677A94A3F7F239D0F706 /* justify_center@2x.png in Resources */, - 7F50F3870A3083C2A0E7B2D64C08C8A6 /* justify_left@2x.png in Resources */, - 9219A6979C32B5AEB11CD5E9EB1B9AAF /* justify_right@2x.png in Resources */, - FCE2D5FD591E1CAB57BB1EF248271990 /* normalize.css in Resources */, - 7A8EECCCC3A103664204BAE0E9707450 /* ordered_list@2x.png in Resources */, - 1FB1CC16A0A412F6E3A45F81C948CF6C /* ordered_list@3x.png in Resources */, - E2729755B11B9853C107CEEB04E8826C /* outdent@2x.png in Resources */, - 9A893619AD20310DF28AB4B7C14325B4 /* outdent@3x.png in Resources */, - AC1958E4588D8691DAEA92CEE280D140 /* redo@2x.png in Resources */, - DBD18AA218C7A60BE091AA1DFC425EF1 /* redo@3x.png in Resources */, - 98DD02C44C5F8A88E8ED745BEB8E11D7 /* rich_editor.html in Resources */, - DAB1B03E6FBA2EDB8371EDEB59B82424 /* rich_editor.js in Resources */, - 7DED0936DB98B35D02B38A673D5121B3 /* rich_editor_tests.html in Resources */, - A1E41160481A56859B1B7C8B61611265 /* rich_editor_tests.js in Resources */, - 332EA6066364EE9554B27DB9D5858013 /* strikethrough@2x.png in Resources */, - 83CBDD6F57C241A1642673BD23F2FE83 /* style.css in Resources */, - 98F2506A2F20862CEDE9907B869A5911 /* subscript@2x.png in Resources */, - C21D233F62F0449AA323AB70393F849F /* superscript@2x.png in Resources */, - 900614E139C150390EA221A82D72CF8E /* text_color@2x.png in Resources */, - EEE045D85E96DE982F056B4E591E0683 /* text_color@3x.png in Resources */, - AC1D9561A9EA656BBD10CE5527C2D916 /* underline@2x.png in Resources */, - 6050F6AE7CE622915DC9E33AB24FC2B5 /* underline@3x.png in Resources */, - A5CB91367421613709294EF30A1CC3CF /* undo@2x.png in Resources */, - 96E8A890A5E6C4E4A5413790FD7D6735 /* undo@3x.png in Resources */, - 84DE55BF600FAF4E50F0F9E4CFE7C931 /* unordered_list@2x.png in Resources */, - 522367D4AB1EF4B235AEA80DB3073A3E /* unordered_list@3x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 9CE94E86A312BE970F6626CCBDE471DF /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8B6AAE3E1C9030D3D061DCC5FB810C97 /* RichEditorOptionItem.swift in Sources */, - 5A5514B5D976ABF90CD4114278334607 /* RichEditorToolbar.swift in Sources */, - 087CCED2EB866E538E9FCCA24993CEDD /* RichEditorView-dummy.m in Sources */, - 74DE4A3FC32D406E833EF5FA833AEC84 /* RichEditorView.swift in Sources */, - 0F7A4A8296A33345F6E7967BCFF336DC /* RichEditorWebView.swift in Sources */, - 25C66F633705C4E953715583BB510DD3 /* String+Extensions.swift in Sources */, - 7E47C19BF270D58D5CF4FD5B43E882A0 /* UIColor+Extensions.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F49DF101B4FCBCA4CB5340EB84214E23 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 44652639BF737B8DF859836ABF5C5703 /* Pods-RichEditorViewSample-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 0103CB2EEF8DE46A417077D3E48349C8 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RichEditorView; - target = EE1675A9CD3D9AB59F10128C452292F9 /* RichEditorView */; - targetProxy = BACE1CB2B7DE2EB0A62CC24E65E677D0 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 0360D275E1BA44F92525F13260AF0390 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DEBFFEB4FE2517D62927CFBE219CE5F7 /* Pods-RichEditorViewSample.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-RichEditorViewSample/Pods-RichEditorViewSample-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RichEditorViewSample/Pods-RichEditorViewSample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 4BC7450F9457737EE3E637BA155B56F7 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 8B5A46FF8D3C1289CDEE3BAFACABCD2A /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - 94DF48BBD132C327BB37F88331930F5B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5C7AC815F6255F6CB6066F33F6C6957C /* Pods-RichEditorViewSample.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-RichEditorViewSample/Pods-RichEditorViewSample-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-RichEditorViewSample/Pods-RichEditorViewSample.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - ECB0923831A8E86F5EC88445F44BAB67 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E96869E7EAFB2854E711CA3321CACA4E /* RichEditorView.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RichEditorView/RichEditorView-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RichEditorView/RichEditorView-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RichEditorView/RichEditorView.modulemap"; - PRODUCT_MODULE_NAME = RichEditorView; - PRODUCT_NAME = RichEditorView; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - FFFC5B764953BC5EE0934BDBB250CFD7 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5DA85B62B8158D56C1DD902ECCE49BEF /* RichEditorView.release.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/RichEditorView/RichEditorView-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/RichEditorView/RichEditorView-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/RichEditorView/RichEditorView.modulemap"; - PRODUCT_MODULE_NAME = RichEditorView; - PRODUCT_NAME = RichEditorView; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 3F14A55D0B1FB580697985071A233310 /* Build configuration list for PBXNativeTarget "RichEditorView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - ECB0923831A8E86F5EC88445F44BAB67 /* Debug */, - FFFC5B764953BC5EE0934BDBB250CFD7 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 44E7CF421DFF80A249AE43E1CDDE1EA1 /* Build configuration list for PBXNativeTarget "Pods-RichEditorViewSample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 94DF48BBD132C327BB37F88331930F5B /* Debug */, - 0360D275E1BA44F92525F13260AF0390 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 4BC7450F9457737EE3E637BA155B56F7 /* Debug */, - 8B5A46FF8D3C1289CDEE3BAFACABCD2A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; -} diff --git a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/Info.plist b/RichEditorViewSample/Pods/Target Support Files/RichEditorView/Info.plist deleted file mode 100644 index 2b93c43b..00000000 --- a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-dummy.m b/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-dummy.m deleted file mode 100644 index dd3d215c..00000000 --- a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_RichEditorView : NSObject -@end -@implementation PodsDummy_RichEditorView -@end diff --git a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-prefix.pch b/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-prefix.pch deleted file mode 100644 index beb2a244..00000000 --- a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-umbrella.h b/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-umbrella.h deleted file mode 100644 index 2b3d16b9..00000000 --- a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double RichEditorViewVersionNumber; -FOUNDATION_EXPORT const unsigned char RichEditorViewVersionString[]; - diff --git a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView.modulemap b/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView.modulemap deleted file mode 100644 index 884eed3e..00000000 --- a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module RichEditorView { - umbrella header "RichEditorView-umbrella.h" - - export * - module * { export * } -} diff --git a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView.xcconfig b/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView.xcconfig deleted file mode 100644 index f7f76b89..00000000 --- a/RichEditorViewSample/Pods/Target Support Files/RichEditorView/RichEditorView.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/RichEditorView -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES