Showing preview only (749K chars total). Download the full file or copy to clipboard to get everything.
Repository: huri000/SwiftEntryKit
Branch: master
Commit: 5ad36cccf0c4
Files: 209
Total size: 685.5 KB
Directory structure:
gitextract_o_kfc_hq/
├── .codecov.yml
├── .github/
│ └── ISSUE_TEMPLATE/
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── .gitmodules
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CREDITS.md
├── Example/
│ ├── Podfile
│ ├── Pods/
│ │ ├── Local Podspecs/
│ │ │ └── SwiftEntryKit.podspec.json
│ │ ├── Pods.xcodeproj/
│ │ │ └── project.pbxproj
│ │ └── Target Support Files/
│ │ ├── Pods-SwiftEntryKitDemo/
│ │ │ ├── Pods-SwiftEntryKitDemo-Info.plist
│ │ │ ├── Pods-SwiftEntryKitDemo-acknowledgements.markdown
│ │ │ ├── Pods-SwiftEntryKitDemo-acknowledgements.plist
│ │ │ ├── Pods-SwiftEntryKitDemo-dummy.m
│ │ │ ├── Pods-SwiftEntryKitDemo-frameworks.sh
│ │ │ ├── Pods-SwiftEntryKitDemo-umbrella.h
│ │ │ ├── Pods-SwiftEntryKitDemo.debug.xcconfig
│ │ │ ├── Pods-SwiftEntryKitDemo.modulemap
│ │ │ └── Pods-SwiftEntryKitDemo.release.xcconfig
│ │ ├── Pods-SwiftEntryKitTests/
│ │ │ ├── Pods-SwiftEntryKitTests-Info.plist
│ │ │ ├── Pods-SwiftEntryKitTests-acknowledgements.markdown
│ │ │ ├── Pods-SwiftEntryKitTests-acknowledgements.plist
│ │ │ ├── Pods-SwiftEntryKitTests-dummy.m
│ │ │ ├── Pods-SwiftEntryKitTests-frameworks.sh
│ │ │ ├── Pods-SwiftEntryKitTests-umbrella.h
│ │ │ ├── Pods-SwiftEntryKitTests.debug.xcconfig
│ │ │ ├── Pods-SwiftEntryKitTests.modulemap
│ │ │ └── Pods-SwiftEntryKitTests.release.xcconfig
│ │ └── SwiftEntryKit/
│ │ ├── SwiftEntryKit-Info.plist
│ │ ├── SwiftEntryKit-dummy.m
│ │ ├── SwiftEntryKit-prefix.pch
│ │ ├── SwiftEntryKit-umbrella.h
│ │ ├── SwiftEntryKit.debug.xcconfig
│ │ ├── SwiftEntryKit.modulemap
│ │ └── SwiftEntryKit.release.xcconfig
│ ├── SwiftEntryKit/
│ │ ├── AppDelegate.swift
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.xib
│ │ │ └── Main.storyboard
│ │ ├── DemoAppInfo.plist
│ │ ├── Images.xcassets/
│ │ │ ├── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── audience-band-blur-518389.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── battery/
│ │ │ │ ├── Contents.json
│ │ │ │ ├── battery0.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── battery1.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── battery2.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── battery3.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── battery4.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── battery5.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── iPhone Icons/
│ │ │ │ ├── Contents.json
│ │ │ │ ├── ic_bottom_float.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ic_bottom_popup.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ic_bottom_toast.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ic_sb_note.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ic_top_float.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ic_top_note.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ └── ic_top_toast.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_apple.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_books.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_coffee_light.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_done_all_dark_48pt.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_done_all_light_48pt.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_fast_forward_white.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_fast_rewind_white.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_info_outline.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_lock_dark.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_lock_light.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_madi_profile.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_mail_dark.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_mail_light.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_pause_circle_outline_white_36pt.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_pause_white.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_phone_dark.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_phone_light.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_pizza.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_star_selected.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_star_unselected.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_success.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_user_dark.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_user_light.imageset/
│ │ │ │ └── Contents.json
│ │ │ ├── ic_wifi.imageset/
│ │ │ │ └── Contents.json
│ │ │ └── paper-plane-light.imageset/
│ │ │ └── Contents.json
│ │ ├── Info.plist
│ │ ├── Playground/
│ │ │ ├── Cells/
│ │ │ │ ├── AnimationSelectionTableViewCell.swift
│ │ │ │ ├── BackgroundStyleSelectionTableViewCell.swift
│ │ │ │ ├── BorderSelectionTableViewCell.swift
│ │ │ │ ├── DisplayDurationSelectionTableViewCell.swift
│ │ │ │ ├── HapticFeedbackSelectionTableViewCell.swift
│ │ │ │ ├── HeightSelectionTableViewCell.swift
│ │ │ │ ├── MaxWidthSelectionTableViewCell.swift
│ │ │ │ ├── PositionSelectionTableViewCell.swift
│ │ │ │ ├── PrioritySelectionTableViewCell.swift
│ │ │ │ ├── RoundCornersSelectionTableViewCell.swift
│ │ │ │ ├── SafeAreaSelectionTableViewCell.swift
│ │ │ │ ├── ScrollSelectionTableViewCell.swift
│ │ │ │ ├── SelectionHeaderView.swift
│ │ │ │ ├── SelectionTableViewCell.swift
│ │ │ │ ├── ShadowSelectionTableViewCell.swift
│ │ │ │ ├── UserInteractionSelectionTableViewCell.swift
│ │ │ │ ├── WidthSelectionTableViewCell.swift
│ │ │ │ └── WindowLevelSelectionTableViewCell.swift
│ │ │ ├── EntryAttributeWrapper.swift
│ │ │ └── PlaygroundViewController.swift
│ │ ├── Presets/
│ │ │ ├── FormFieldPresetFactory.swift
│ │ │ ├── PresetTableViewCell.swift
│ │ │ ├── PresetsData/
│ │ │ │ ├── PresetDescription.swift
│ │ │ │ └── PresetsDataSource.swift
│ │ │ ├── PresetsViewController.swift
│ │ │ └── Samples/
│ │ │ ├── ExampleNavigationController/
│ │ │ │ ├── ContactsViewController.swift
│ │ │ │ ├── ContactsViewController.xib
│ │ │ │ ├── DescriptionViewController.swift
│ │ │ │ ├── DescriptionViewController.xib
│ │ │ │ └── ExampleNavigationViewController.swift
│ │ │ ├── ExampleViewController/
│ │ │ │ └── ExampleViewController.swift
│ │ │ └── NibExampleView/
│ │ │ ├── NibExampleView.swift
│ │ │ └── NibExampleView.xib
│ │ ├── SwiftEntryKit.h
│ │ └── Utils/
│ │ ├── CGRect+Utils.swift
│ │ ├── Font.swift
│ │ ├── Object+ClassName.swift
│ │ ├── UIColor+Utils.swift
│ │ ├── UIScreen+Utils.swift
│ │ └── UIView+Nib.swift
│ ├── SwiftEntryKit.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcshareddata/
│ │ └── xcschemes/
│ │ ├── SwiftEntryKit.xcscheme
│ │ └── SwiftEntryKitDemo.xcscheme
│ ├── SwiftEntryKit.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ └── Tests/
│ ├── AttributesCreationTest.swift
│ └── Info.plist
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── Package.swift
├── README.md
├── Source/
│ ├── Extensions/
│ │ ├── QuickLayout/
│ │ │ ├── QLCompatibility.swift
│ │ │ ├── QLUtils.swift
│ │ │ ├── UIView+QLContentWrap.swift
│ │ │ ├── UIView+QuickLayout.swift
│ │ │ └── UIViewArray+QuickLayout.swift
│ │ ├── UIApplication+EKAppearance.swift
│ │ ├── UIColor+Utils.swift
│ │ ├── UIEdgeInsets+Utils.swift
│ │ ├── UIRectCorner+Short.swift
│ │ ├── UIView+Shadow.swift
│ │ └── UIView+Utils.swift
│ ├── Infra/
│ │ ├── EKBackgroundView.swift
│ │ ├── EKContentView.swift
│ │ ├── EKEntryView.swift
│ │ ├── EKRootViewController.swift
│ │ ├── EKStyleView.swift
│ │ ├── EKWindow.swift
│ │ ├── EKWindowProvider.swift
│ │ ├── EKWrapperView.swift
│ │ └── EntryCachingHeuristic.swift
│ ├── MessageViews/
│ │ ├── EKAlertMessageView.swift
│ │ ├── EKFormMessageView.swift
│ │ ├── EKMessageContentView.swift
│ │ ├── EKNotificationMessageView.swift
│ │ ├── EKPopUpMessageView.swift
│ │ ├── EKRatingMessageView.swift
│ │ ├── EKSimpleMessageView.swift
│ │ ├── MessagesUtils/
│ │ │ ├── EKButtonBarView.swift
│ │ │ ├── EKButtonView.swift
│ │ │ ├── EKRatingSymbolView.swift
│ │ │ ├── EKRatingSymbolsContainerView.swift
│ │ │ ├── EKTextField.swift
│ │ │ └── EntryAppearanceDescriptor.swift
│ │ └── Notes/
│ │ ├── EKAccessoryNoteMessageView.swift
│ │ ├── EKImageNoteMessageView.swift
│ │ ├── EKNoteMessageView.swift
│ │ ├── EKProcessingNoteMessageView.swift
│ │ └── EKXStatusBarMessageView.swift
│ ├── Model/
│ │ ├── EKAlertMessage.swift
│ │ ├── EKColor.swift
│ │ ├── EKNotificationMessage.swift
│ │ ├── EKPopUpMessage.swift
│ │ ├── EKProperty.swift
│ │ ├── EKRatingMessage.swift
│ │ ├── EKSimpleMessage.swift
│ │ └── EntryAttributes/
│ │ ├── EKAttributes+Animation.swift
│ │ ├── EKAttributes+BackgroundStyle.swift
│ │ ├── EKAttributes+DisplayMode.swift
│ │ ├── EKAttributes+Duration.swift
│ │ ├── EKAttributes+FrameStyle.swift
│ │ ├── EKAttributes+HapticFeedback.swift
│ │ ├── EKAttributes+LifecycleActions.swift
│ │ ├── EKAttributes+PopBehavior.swift
│ │ ├── EKAttributes+Position.swift
│ │ ├── EKAttributes+PositionConstraints.swift
│ │ ├── EKAttributes+Precedence.swift
│ │ ├── EKAttributes+Presets.swift
│ │ ├── EKAttributes+Scroll.swift
│ │ ├── EKAttributes+Shadow.swift
│ │ ├── EKAttributes+StatusBar.swift
│ │ ├── EKAttributes+UserInteraction.swift
│ │ ├── EKAttributes+Validations.swift
│ │ ├── EKAttributes+WindowLevel.swift
│ │ └── EKAttributes.swift
│ ├── SwiftEntryKit.swift
│ └── Utils/
│ ├── GradientView.swift
│ ├── HapticFeedbackGenerator.swift
│ └── UIView+Responder.swift
└── SwiftEntryKit.podspec
================================================
FILE CONTENTS
================================================
================================================
FILE: .codecov.yml
================================================
coverage:
status:
project: off
patch: off
ignore:
- cmake-debug-build/*
- Example/*
- Scripts/*
- Documentaion/*
- Tests/*
- Pods/*
- Applications/Xcode.app/*
- vendor/*
- Carthage/*
- build/*
- .build/*
- .vagrant/*
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**iPhone (please complete the following information):**
- Device: [e.g. iPhone6]
- iOS Version: [e.g. iOS9.3]
- Xcode Version [e.g. 9.3]
- Dependency Manager Version [e.g. CocoaPods 1.5.2, Carthage 0.29.0]
- SwiftEntryKit Release # [e.g. 0.2.0]
**Additional context**
Add any other context about the problem here.
**Screenshots / Video Links**
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.
================================================
FILE: .gitignore
================================================
# OS X
.DS_Store
# Xcode
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
*.xccheckout
profile
*.moved-aside
DerivedData
*.hmap
*.ipa
# Bundler
.bundle
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
# SwiftPM
.swiftpm/
Package.resolved
================================================
FILE: .gitmodules
================================================
================================================
FILE: .travis.yml
================================================
language: objective-c
osx_image: xcode12.5
cache: cocoapods
podfile: Example/Podfile
env:
global:
- WORKSPACE=Example/SwiftEntryKit.xcworkspace
- SCHEME=SwiftEntryKitDemo
# travis cache isn't kept between builds
before_install:
- rvm use system
- sudo gem install xcpretty
- sudo gem install cocoapods -v '1.11.2'
- pod repo update
script:
- set -o pipefail
- carthage update --use-xcframeworks
- xcodebuild clean build test -workspace "$WORKSPACE" -scheme "$SCHEME" -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=13.6,name=iPhone 11' -configuration Debug | xcpretty
- bash <(curl -s https://codecov.io/bash) -J 'SwiftEntryKit'
================================================
FILE: CHANGELOG.md
================================================
# Change Log
Any notable changes to this project will be documented in this file.
## 2.0.0
- Embed QuickLayout's source files within SwiftEntryKit
## 1.2.7
### Fixes
- #324 - iOS 14.2 keyWindow is always EKWindow
- #277 - EKContentView.panGestureRecognized(gr:) crash
## 1.2.6
### Features
https://github.com/huri000/SwiftEntryKit/pull/307
### Fixes
Setting key window correctly:
See https://github.com/huri000/SwiftEntryKit/issues/308 and https://github.com/huri000/SwiftEntryKit/pull/309.
## 1.2.5
### Accessibility
- https://github.com/huri000/SwiftEntryKit/issues/222
- https://github.com/huri000/SwiftEntryKit/issues/294
## 1.2.4
### Fixes
- Remove scene from window: https://github.com/huri000/SwiftEntryKit/pull/299
- Added size option for EKRatingSymbolsContainerView: https://github.com/huri000/SwiftEntryKit/pull/266
- Access the foreground active window using connectedScenes: https://github.com/huri000/SwiftEntryKit/pull/257
### Chore
- Fix CI: https://github.com/huri000/SwiftEntryKit/pull/300
## 1.2.3
Fix #253 - force unwrap for `EKMessageContentView`'s `subtitleContent` when `nil` is provided.
## 1.2.1
Expose `EKWindow` publicly as `UIWindow`.
Add a warning for misuse of `EKAttributes.PopBehavior`.
## 1.2.0
Adjustment for iOS projects are are using `SwiftUI` as their default setup in their `plist`.
## 1.1.4
Fixes: #231 (iPad + iOS13) entries background is not interactable.
## 1.1.3
Fix `SPM` release
## 1.1.2
Fix: `EKTextField` crashes once no `tintColor` is provided.
## 1.1.1
iOS 13 color fix
## 1.1.0
### Support dark mode (breaking change)
Fully support dark mode pre iOS 13. New requirments were introduced:
- `UIColor` was replaced with `EKColor` to allow specifying colors for light and dark modes.
- `UIBlurEffect.Style` was replacd with `EKAttributes.BackgroundStyle.BlurStyle` to allow specifying visual effects for light and dark modes.
- `EKAttributes` contains a new attribute named `displayMode: DisplayMode`. `displayMode` has the default value `.inferred`, which means that the display mode will be inferred from the user interface style. If the running iOS version is lower than 13, the display mode will be inferred as light mode.
- All the presets support the new display mode by allowing to specify `displayMode` for their `EKProperty`
The list of `EKProperty` constructs that contain `displayMode`:
- `ButtonContent` - button descriptor
- `LabelStyle` - label style descriptor
- `ImageContent` - image view descriptor
- `TextFieldContent` - text field descriptor
- `ButtonBarContent` - button bar descriptor
### Revamp coding style
The project coding style was revamped to be more friendly and readable.
## 1.0.4
### Issues:
- #191 - customized components support accessibility.
## 1.0.2
### Issues:
- #187 - ButtonBarContent` initialized with multiple buttons received as either variadic parameter or array.
## 1.0.1
### Bug Fixes:
#### #171
[Issue #171](https://github.com/huri000/SwiftEntryKit/issues/171) - Unable to dismiss a ViewControllerEntry in Xcode 10.2 (work in Xcode 10.1).
Diagnosis:
Only on Xcode 10.2. Probably be a Swift compiler bug.
Reproduced using Release configuration.
The compiler mistreats `UserInteraction.isResponsive` thus it always returns `false` when used on `attributes.screenInteraction`.
## 1.0.0
Swift 5 / Xcode 10.2 compatible.
## 0.8.9
### Features:
#### #155
[Issue #155](https://github.com/huri000/SwiftEntryKit/issues/155) - Setting textfield cursor color for EKProperty.TextFieldContent.
`TextFieldContent` receives `tintColor` from now on.
#### #160
[Issue #160](https://github.com/huri000/SwiftEntryKit/issues/160) - Animation with sequence of images
From now on developers are able to sequence-animate and transform-animate every image within the presets using one of the designated public initializers available for `EKProperty.ImageContent`.
## 0.8.8
### Bug Fixes:
#### #109
[Issue #109](https://github.com/huri000/SwiftEntryKit/issues/109) - StatusBar appareance when moving to another UIViewController. Added another tatus bar type - `.ignored`. Using this ignores the status bar when the entry enters/exits the screen.
#### #143
[Issue #143](https://github.com/huri000/SwiftEntryKit/issues/143) - Orientation incorrect when set to .portraitUpsideDown on iPhone.
Changed `isRotationEnabled` to `Rotation` structure.
```Swift
/** Rotation related position constraints */
public struct Rotation {
/** Attributes of supported interface orientations */
public enum SupportedInterfaceOrientation {
/** Uses standard supported interface orientation (target specification in general settings) */
case standard
/** Supports all orinetations */
case all
}
/** Autorotate the entry along with the device orientation */
public var isEnabled: Bool
/** The screen autorotates with accordance to this option */
public var supportedInterfaceOrientations: SwiftEntryKit.EKAttributes.PositionConstraints.Rotation.SupportedInterfaceOrientation
}
```
#### Button Bar Horizontal Distribution Threshold
`EKProperty.ButtonBarContent` supports an upper horizontal threshold for its button distribution.
`EKProperty.ButtonBarContent` has an `Int` property named `horizontalDistributionThreshold`. It must be positive.
## 0.8.7
### Bug Fixes:
[Issue #117](https://github.com/huri000/SwiftEntryKit/issues/117) - Round buttons in alert.
## 0.8.6
[Issue #121](https://github.com/huri000/SwiftEntryKit/issues/121) - Long title for alert buttons.
## 0.8.4
### Bug Fixes:
[Issue #131](https://github.com/huri000/SwiftEntryKit/issues/131) - `EKAttributes.PositionConstraints` initializer parameter isn't referenced in implementation.
## 0.8.3
### Bug Fixes:
[Issue #132](https://github.com/huri000/SwiftEntryKit/issues/132) - Background dimmed view is NOT animating.
## 0.8.2
### Bug Fixes:
[Issue #119](https://github.com/huri000/SwiftEntryKit/issues/119) - Entry tap gesture doesn't cancel touches inside the entry view.
## 0.8.1
Apply a necessary fix for Xcode 10 and older than 4.2 Swift version compatibility.
## 0.8.0
### Enhancements
Adjustments for Swift 4.2.
Related Issue: [Swift 4.2 Support #108](https://github.com/huri000/SwiftEntryKit/issues/108)
## 0.7.2
### Bug Fixes
[numberOfLines property #111](https://github.com/huri000/SwiftEntryKit/issues/111) - Allow multiple lines in image notes.
## 0.7.1
### Feature - Add a way to make a specific text field first responder in `EKFormMessageView`
Related issue: [Best way to present keyboard #107](https://github.com/huri000/SwiftEntryKit/issues/107).
The window must be a key window, so setting `presentInsideKeyWindow` to `true` is necessary to achieve that goal. Likewise:
```Swift
SwiftEntryKit.display(entry: formMessageView, using: attributes, presentInsideKeyWindow: true)
```
It is recommended to set `lifecycleEvents.didAppear` to perform the keyboard showing action. For example:
```Swift
attributes.lifecycleEvents.didAppear = {
formMessageView.becomeFirstResponder(with: 0)
}
```
## 0.7.0
### Feature - Queue of Entries
`displayPriority` is no longer nested inside `EKAttributes`. It has been replaced by another construct called `precedence`.
`precedence` defines the manner in which a new entry is treated in case there already is another displayed entry.
- See [Issue #103](https://github.com/huri000/SwiftEntryKit/issues/103) for feature basic requirements.
- Please review the README.md and the API documentation to gain additional information.
#### Backward Compatibility
Be aware that `0.7.0` breaks previous releases.
In order to adjust previous usage to current behavior, just replace any instance of:
```Swift
attributes.displayPriority = value
````
To the following:
```Swift
attributes.precedence = .override(priority: value, dropEnqueuedEntries: false)
````
## 0.6.1
### Adjustments for Xcode 10.
## 0.6.0
### Autorotation flag for entries - [pull-request](https://github.com/huri000/SwiftEntryKit/pull/80)
### Additional documentation in README.md.
## 0.5.9
### Issue [#85](https://github.com/huri000/SwiftEntryKit/pull/86)
Lifecycle event `willDisappear` does not get called on swipe and prompt removeal of entry.
## 0.5.8
### Issues Resolved:
#### Allow injecting content into text field in form entry preset
[How to set the value (not placeholder) to textfield for Forms preset? #79](https://github.com/huri000/SwiftEntryKit/issues/79)
To support text injection to `EKTextField`, some minor changes have been done:
1. `EKTextField`'s `text` property has a setter now.
2. `TextFieldContent`'s `output` has been changed to `textContent` and has a setter now.
3. `outputWrapper` - changed to `contentWrapper`.
## 0.5.7
### Changes:
Dismiss entries using `touchesEnded` instead of `touchesBegan`.
### Issues Fixed
[Deployment target is 9.3, not 9.0 #78](https://github.com/huri000/SwiftEntryKit/issues/78)
## 0.5.6
### Bug Fixes:
[App freezes on iOS 9.3.2 when displaying an entry and there is one shown already #73](https://github.com/huri000/SwiftEntryKit/issues/73)
## 0.5.5
### Bug Fix
#### Status Bar Visibility
Status bar visibility using a view controller based status bar appearance
### Improvements
#### Entry Name
Entry can have a name. That property can be optionally set.
Also, `SwiftEntryKit` is added a new method:
```Swift
public class func isCurrentlyDisplaying(entryNamed name: String? = default) -> Bool
````
It can be used to inquire if a certain entry is currently displayed.
It might prove helpful to troubleshoot some issues using it, and it also a boilerplate for future developments.
## 0.5.4
### Changes
#### Status Bar Style Appearance
SwiftEntryKit supports applications that defines status bar behaviour that is based on the presented view controller. The related [issue](https://github.com/huri000/SwiftEntryKit/issues/66).
#### Key Window
Setting the entry window is key is not the default behavior anymore. The API
`public class func display(entry view: UIView, using attributes: EKAttributes, presentInsideKeyWindow: Bool = default, rollbackWindow: RollbackWindow = default)`
`public class func display(entry viewController: UIViewController, using attributes: EKAttributes, presentInsideKeyWindow: Bool = default, rollbackWindow: RollbackWindow = default)`
#### Visual Effect View Mask (Entry Background)
Performed only when really needed
## 0.5.3
### Feature:
- [EKNotificationMessage has broken layout #64](https://github.com/huri000/SwiftEntryKit/issues/64) - Add margins to `EKNotificationMessage`.
### Bug Fixes:
- Animations of alert and EKRatingMessageView.
- Constraints conflict in EKRatingMessageView
## 0.5.2
### Bug Fixes:
- [iPhone X issue with presenting Alert right after previous was closed #62](https://github.com/huri000/SwiftEntryKit/issues/62)
## 0.5.1
Rollback window bug fix
## 0.5.0
### Features
Handled the issue *[Exclude keyWindow occupancy #56](https://github.com/huri000/SwiftEntryKit/issues/56)* by adding an additional parameter `rollbackWindow` to `SwiftEntryKit.display` methods.
The revised interface is as follows:
`public class func display(entry view: UIView, using attributes: EKAttributes, rollbackWindow: UIWindow = default)`
`public class func display(entry viewController: UIViewController, using attributes: EKAttributes, rollbackWindow: UIWindow = default)`
After the entry has been dismissed, SwiftEntryKit rolls back to the given window value. By default it is the application key window.
## 0.4.3
### Bug Fixes
- [Shadow won't work with round corners #55](https://github.com/huri000/SwiftEntryKit/issues/55)
- Small fix related to `EKRatingMessageView` initial presentation.
## 0.4.2
### Features
[Feature request: Callback when presented and dismissed #50](https://github.com/huri000/SwiftEntryKit/issues/50)
- Added a `LifecycleEvents` construct to `EKAttributes`. It contains the following optional callbacks: willAppear, didAppear, willDisappear, didDisappear for the currently displayed entry.
- Added an optional completion handler for `SwiftEntryKit`'s `dismiss` method.
## 0.4.1
### Issues Handled
[Keep Background Unchanged when 2 Consecutive Entry Screen Backgrounds Match #46](https://github.com/huri000/SwiftEntryKit/issues/46)
## 0.4.0
### Features
#### [Use UIViewController as an entry #40](https://github.com/huri000/SwiftEntryKit/issues/40)
Developers can now use a customized view controller as an entry.
A sample has been added to the custom presets section in example project.
## 0.3.3
### Issues Handled:
* [Multiple button support? #19](https://github.com/huri000/SwiftEntryKit/issues/19)
### Changes:
EKButtonBarView exposes `func expand()`, it
## 0.3.2
### Bug Fixes
* [EKAlertMessageView fail to layout all of the ButtonContents inside EKAlertMessage #41](https://github.com/huri000/SwiftEntryKit/issues/41)
## 0.3.1
### Features
* Alert & Notification Entries are image-less as well. The image parameter is optional, in case it has a `nil` value, the entry is generated without it.
* Added `numberOfLines` to `EKProperty.LabelStyle`.
## 0.3.0
### Bug Fixes
#### Typos
`EKAttributes.PositionConstraints.SafeArea.isOverriden` to `EKAttributes.PositionConstraints.SafeArea.isOverridden`
`EKAttributes.PositionConstraints.SafeArea.overriden` to `EKAttributes.PositionConstraints.SafeArea.overridden`
### Features
#### Added an entry transform feature (ALPHA FEATURE)
Developers are able to transform an entry to another entry using the same attributes.
```Swift
let view = UIView()
// Customize
SwiftEntryKit.transform(to: view)
```
#### Rating Popup
Added a rating popup (See custom presets).
See also: `EKRatingMessage` and `EKRatingMessageView`
### Other Changes:
#### Image-less popups
`EKPopUpMessage` can be image-less by simply setting `themeImage` to `nil` (or leaving its default value as is).
```Swift
/** Popup theme image */
public struct ThemeImage {
/** Position of the theme image */
public enum Position {
case topToTop(offset: CGFloat)
case centerToTop(offset: CGFloat)
}
/** The content of the image */
public var image: EKProperty.ImageContent
/** The psotion of the image */
public var position: Position
}
public init(themeImage: ThemeImage? = default, title: EKProperty.LabelContent, description: EKProperty.LabelContent, button: EKProperty.ButtonContent, action: @escaping EKPopUpMessageAction)
```
## 0.2.4
### Features
### Explicit direction of translation animation
`EKAttributes.Animation.Translate` is added an `anchorPosition: AnchorPosition` property:
That means that an entry can translate from the top and exit from the bottom, and vice versa.
```Swift
/** Describes the anchor position */
public enum AnchorPosition {
/** Top position - the entry shows from top or exits towards the top */
case top
/** Bottom position - the entry shows from bottom or exits towards the bottom */
case bottom
/** Automatic position - the entry shows and exits according to EKAttributes.Position value. If the position of the entry is top, bottom, the entry's translation anchor is top, bottom - respectively.*/
case automatic
}
```
`anchorPosition` is determined the direction of the translation animation and is `.automatic` by default, meaning that the anchor is set automatically according to its position - if the position (`EKAttributes.Position`) is `.top` / `bottom`, then the entry enters and exit from the top / bottom edge.
## 0.2.3
### Features
#### Status bar revised
* Instead of assigning the `UIStatusBarStyle`, use `EKAttributes.StatusBar` to define the status bar.
* The benefit is an absolute control over the status bar appearance.
* New statuses:
- `.hidden` - Hides the status bar.
- `inferred` - Infer the style from the previous style.
## 0.2.2
### Features
Added Carthage Support
## 0.2.1
### Bug Fix
The text of the text-fields is accessible after tapping the button using `EKFormMessageView`.
Use `output` property inside `EKProperty.TextFieldContent`.
## 0.2.0
### Features
#### Keyboard support
Keyboard support can be enabled using `EKAttributes.PositionConstraints.KeyboardRelation` enum.
```Swift
// 10pt bottom offset from keyboard and at least 5pts from the screen edge while the keyboard is displayed.
attributes.positionConstraints.keyboardRelation = .bind(offset: .init(bottom: 10, screenEdgeResistance: 5))
```
#### Is Displaying
Inquire if SwiftEntryKit is currently displaying an entry:
```Swift
if SwiftEntryKit.isCurrentlyDisplaying {
/* Do Something */
}
```
#### Naming
`EKProperty.LabelStyle` replaced `EKProperty.Label`.
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at huri000@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
When contributing to this repository, please first discuss the change you wish to make via issue before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
## Pull Request Process
1. Ensure any install or build dependencies are removed before the end of the layer when doing a
build.
2. Ensure that no newly created warnings where generated by SwiftLint in the process of building the project.
3. Test that your code compiles using all dependency managers that are integrated into the project (for example: CocoaPods / Carthage / Swift Package Manager).
4. In case of a newly created entry preset, please update the example project preset screen by adding an example.
5. Update the README.md and the CHANGELOG.md with details of changes to the interface, this includes new environment
variables, exposed ports, useful file locations and container parameters.
6. Increase the version numbers in any examples files and the README.md to the new version that this
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
7. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
do not have permission to do that, you may request the second reviewer to merge it for you.
================================================
FILE: CREDITS.md
================================================
# CREDITS
## Attributions - Example Project Icons
Please be aware that any use of the icons included in the project requires attribution.
<div>Icons made by <a href="https://www.flaticon.com/authors/pause08" title="Pause08">Pause08</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div>
<div>Icons made by <a href="https://www.flaticon.com/authors/smashicons" title="Smashicons">Smashicons</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div>
<div>Icons made by <a href="http://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div>
<div>Icons made by <a href="https://www.flaticon.com/authors/iconnice" title="Iconnice">Iconnice</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div>
================================================
FILE: Example/Podfile
================================================
target 'SwiftEntryKitDemo' do
platform :ios, '9.0'
use_frameworks!
pod 'SwiftEntryKit', :path => '../'
end
target 'SwiftEntryKitTests' do
platform :ios, '9.0'
use_frameworks!
pod 'SwiftEntryKit', :path => '../'
end
================================================
FILE: Example/Pods/Local Podspecs/SwiftEntryKit.podspec.json
================================================
{
"name": "SwiftEntryKit",
"version": "2.0.0",
"summary": "A simple banner and pop-up displayer for iOS. Written in Swift.",
"platforms": {
"ios": "9.0"
},
"swift_versions": "5.0",
"requires_arc": true,
"description": "SwiftEntryKit is a banner presenter library for iOS. It can be used to easily display pop-ups and notification-like views within your iOS apps. SwiftEntryKit is highly customizable but also offers a bunch of beautiful presets that can be themed with your app fonts and colors.",
"homepage": "https://github.com/huri000/SwiftEntryKit",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": {
"Daniel Huri": "huri000@gmail.com"
},
"source": {
"git": "https://github.com/huri000/SwiftEntryKit.git",
"tag": "2.0.0"
},
"source_files": "Source/**/*",
"frameworks": "UIKit",
"swift_version": "5.0"
}
================================================
FILE: Example/Pods/Pods.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
0359FD65EC137FD6398B15FFA06FBD4E /* EKStyleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 355EC14B2CF1D527FABE1F54F422445D /* EKStyleView.swift */; };
0443B823D09728A6A4AAEA741ED0EC1A /* EKAttributes+StatusBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DD21DA534C8E34356D26932C0B72F1B /* EKAttributes+StatusBar.swift */; };
055EFFC858E25B12CE2921EC8C7233EB /* EKAttributes+Validations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 780B2C0C027974C5B034C4FB8559B10F /* EKAttributes+Validations.swift */; };
05D9D1E4C707A5F023A1F94ACF486AC2 /* EKPopUpMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3BEAB4B42918B40DE6441C8C1540552 /* EKPopUpMessageView.swift */; };
068E825D6FE9520EBE3FA985C5AE4DA0 /* Pods-SwiftEntryKitDemo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D0598CC5B54F64EFF897D87A397E403E /* Pods-SwiftEntryKitDemo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A68662146E1586B4456FAB071D11DE2 /* QLCompatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC25F9415CB019F995E220EF13ABAEE7 /* QLCompatibility.swift */; };
0D2B4E91DB02BDA04E6BDF6DBA4A546E /* EKAttributes+UserInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10BAD6713BF41F1F4581FF4905CF4BE8 /* EKAttributes+UserInteraction.swift */; };
0D6FB08663ED820FCE5FBE981E3C6A5A /* QLUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = B38771A605FA38F7F0D803B812F22552 /* QLUtils.swift */; };
11E4007894DF1F2A3F475FBB8229F3A4 /* EKImageNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82AD8AAF58BF64460BD8C07EC4DF6E35 /* EKImageNoteMessageView.swift */; };
14DE35A5C2A9CDA68974BB63E54E980E /* Pods-SwiftEntryKitTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 78239DB78DD3345BC32A5B876DEA9726 /* Pods-SwiftEntryKitTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
18734EC046ABAA79202629307DC9F249 /* UIView+Responder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1E8374EF3E6B232F142B5987EA67FCA /* UIView+Responder.swift */; };
2192DBD932E0F15BB67ACDC05443661A /* EKAccessoryNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF205874ABD02019016E8D6F4823DF66 /* EKAccessoryNoteMessageView.swift */; };
253D69D1B151BCD20DBBC6B6439C2033 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAB6F611E86A4758835A715E4B4184F6 /* Foundation.framework */; };
27AB779347FB4F77C5609ECC8E822D47 /* EKAlertMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9EEBC3A780D3C8A2EB25437BA8E46F5F /* EKAlertMessage.swift */; };
28E32E39AD8DAAF8D769DB804E262758 /* EKAttributes+PositionConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EBFF4F329202D38AE92B0E840A811B2 /* EKAttributes+PositionConstraints.swift */; };
29BEEBBF37CF019B510DBFB73345AD85 /* UIApplication+EKAppearance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F511D095B770B82902F13277AAF1AA6 /* UIApplication+EKAppearance.swift */; };
302E32F7BE65307E4A589AFF78B43BB5 /* EKRatingSymbolView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB0F9C7644E67B3E509B16CA9E1AE2E6 /* EKRatingSymbolView.swift */; };
348C406EE636A76C1FD17BB1D6524F76 /* UIColor+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65D30BCA570C5B5C8D4DA7E25F6254FA /* UIColor+Utils.swift */; };
34D13E6FCD9A83500030FA87732A91E0 /* SwiftEntryKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7CDDFB196B307A3EA5A9EDF93C2B1 /* SwiftEntryKit.swift */; };
36882C85632251103A44F147853939AA /* EKNotificationMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1DAD42E5C17E9F7FB324D45E3F7EDA42 /* EKNotificationMessage.swift */; };
462DE7325DE86EFA2F3EC52CEBD9C1E5 /* EKBackgroundView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FDEAA72AA62231A344DBE12315E9605 /* EKBackgroundView.swift */; };
4BA5FF5F702BD658E11F0DFFCBD8F48D /* EKButtonBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E075598D423EEA3ACC102DB53CDB8E8C /* EKButtonBarView.swift */; };
4E375F46869D4ACA0012FD19C628D27C /* EntryAppearanceDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED55558861058207FDC79BE639B3AB22 /* EntryAppearanceDescriptor.swift */; };
559047DE0FD0172BD098F42C46EC99BF /* GradientView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55224D7193D977B96C4236E1F74164C /* GradientView.swift */; };
55D8E7C94A4249CAD0CE60C5442C1647 /* UIView+Shadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04EAE264EC7EFF0DA7C878F93D038E0 /* UIView+Shadow.swift */; };
56E6DC85F5E9118377A587FB086E147B /* EKRootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDE85EC51CF37128659CEB00BB891354 /* EKRootViewController.swift */; };
595221C70FBCDB1D0B2A3A937F1920DF /* UIView+QLContentWrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45332FF34005CC3F284120BEEEA29FF2 /* UIView+QLContentWrap.swift */; };
5A88DF76317A991C11AEB8F1FE918FBB /* UIViewArray+QuickLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CCA1057080C500AF93E7231B4A6CA52 /* UIViewArray+QuickLayout.swift */; };
5C258564AFF20D612A3A339423F45584 /* Pods-SwiftEntryKitTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F352296AFDF8DE73AE8F78DB5150C5A7 /* Pods-SwiftEntryKitTests-dummy.m */; };
60FC20D83228B2C4E383524E56F95CE2 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D245E0514AAC1A2B9A6D5EA2F383E90F /* UIKit.framework */; };
6ED875168F056413ECC87C941731E714 /* EKPopUpMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D431D0B0894B4B4EE88E680419E14CD /* EKPopUpMessage.swift */; };
6FC9FC572974C469202D4ED5CD215B87 /* UIRectCorner+Short.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC54805D957AA8CD357A55ECD90EA0EF /* UIRectCorner+Short.swift */; };
7108EDEF3D6F20A74A001A6095D5CEAF /* EKAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC59CB5292F0EFB0006711614DE389E /* EKAttributes.swift */; };
714A8C1AC51A1123F085369F696D98E0 /* EKAttributes+LifecycleActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4727C79CD0DD7F6239E77E81AA1C6592 /* EKAttributes+LifecycleActions.swift */; };
734E4D1053D35D868CD9E2089C951A30 /* EKAttributes+FrameStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0B495FDB5638F0BC7EFCCEF42EA31A /* EKAttributes+FrameStyle.swift */; };
7BBD4032CA2769A7B3D5F79E95264689 /* EKRatingMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0CEBC832DB314A2208D054822F4DD85 /* EKRatingMessageView.swift */; };
83D05E692A0CE612F52BC0B18745B370 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAB6F611E86A4758835A715E4B4184F6 /* Foundation.framework */; };
85C9E605B0FDDDFAE52C4C098400BAB6 /* HapticFeedbackGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D09C2BD9BF43CB402ECC6239DDE80B1 /* HapticFeedbackGenerator.swift */; };
87DDE964048660CDA29BE9EFBB20A8A7 /* EKRatingMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CC6592DF43B43BA46FC2CCA00C4F96F /* EKRatingMessage.swift */; };
89A502FDBC5C0EF63831DD6A8537610A /* EntryCachingHeuristic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C977172E6A26597EAB05BDB41B2C104 /* EntryCachingHeuristic.swift */; };
8A0A768C3ECBEEA388452EC31BEF6500 /* EKRatingSymbolsContainerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D47B05649A80A383D3EF8B4D372370C5 /* EKRatingSymbolsContainerView.swift */; };
8B9C14384B947160FDC8C9082DFAC126 /* EKAttributes+HapticFeedback.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7286E41D0650723E149E86FD1C04AF /* EKAttributes+HapticFeedback.swift */; };
8BA44EB1BBDD85BB4527F5CA3A5776AD /* EKButtonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9B8F9B4651B86B74DCA4B914A4A1BE7 /* EKButtonView.swift */; };
8D80DF7CFA1BE70D46E90462AE24C472 /* EKNotificationMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2239582C73BFB3D83DFDF57021299158 /* EKNotificationMessageView.swift */; };
8E8D18BA7E2779FF915DD8D000E651F8 /* SwiftEntryKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E176C9E90FF69941C0F00D00FB87AF9 /* SwiftEntryKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
90F3D408915E74432EA7EEA31FA356E8 /* EKSimpleMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2BF4EDF85A16F4331293366AA50FF0E /* EKSimpleMessageView.swift */; };
92C9D280AC667D5F46DF47A9ECFD6CF8 /* EKAttributes+PopBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3ACA36A2CDB4DFCE6EF6D0E9F6CC937 /* EKAttributes+PopBehavior.swift */; };
952D70DA0B30FC34603159D7CCC7B3CE /* EKAttributes+Position.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5D859AAFC1AF2603E93156384B31D9B /* EKAttributes+Position.swift */; };
97AD66EB56B38157D92EEDBAEAECDBD0 /* EKWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32E1F387F3E3AE4CA929AB42EC170811 /* EKWindow.swift */; };
98C43F17EB6BE6D18F9DA8EC7B2E04B0 /* EKEntryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90D533185CEAE773480AB26167E64EF9 /* EKEntryView.swift */; };
A2413744FA4B848AA797FB365F69BFDC /* EKWrapperView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A9F62C7BFA289C715569ABCD8EC35AD /* EKWrapperView.swift */; };
A2BA4820371B5FEC4F05DAD50C6ABF6E /* EKAttributes+BackgroundStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B2EE663224F44CF351C3AF280D17945 /* EKAttributes+BackgroundStyle.swift */; };
A7011D8655938627E740F0C3CF8FA900 /* EKSimpleMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E7644AC1CA095C84B01E5BD5D080227 /* EKSimpleMessage.swift */; };
AFA1DC023B3E88B337F09BA31B2D648A /* EKWindowProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD9F579DFDB3C3CE8BE7E16084849EAB /* EKWindowProvider.swift */; };
B0598238BC5A442270D9461A0E5A1D9D /* UIEdgeInsets+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 960DADF2CCCBDE8608C8DEDCA0B252EB /* UIEdgeInsets+Utils.swift */; };
B3AE89438313BC2BACC4D0DE03FC3DEE /* EKXStatusBarMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31DB1E40DE39086DB4ADCFF6545A24E /* EKXStatusBarMessageView.swift */; };
BA2DA0C04BFBAEE25E534E24CFFF395A /* EKMessageContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A71EF7308CBBA90894BE1279E935279 /* EKMessageContentView.swift */; };
BC62184178B9BEB545A13961210A05DC /* EKAttributes+DisplayMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A1D227F016C19203F287375463699A /* EKAttributes+DisplayMode.swift */; };
C60B01D9CD508925C0CE73F3A494AC50 /* Pods-SwiftEntryKitDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9593CFAEB0028E56754D269C799C66B0 /* Pods-SwiftEntryKitDemo-dummy.m */; };
C82054AF37DEB07E384A1525C3A90447 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EAB6F611E86A4758835A715E4B4184F6 /* Foundation.framework */; };
C8887B7C8B331F253936A033C82E7035 /* EKContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F643E9B2DC1F62BA4538C437A5BCCDFA /* EKContentView.swift */; };
C98CD0D413A41E34BCE66218A759A400 /* EKAlertMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF1A0D1C37229695C259A378F96D0FC /* EKAlertMessageView.swift */; };
CB1EEDEDA94C738FAF66F1C885564292 /* EKAttributes+Animation.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6C0CFAEC4DF15650ED42C91AE124D09 /* EKAttributes+Animation.swift */; };
CF185599178E4DC6478502FAD3A58872 /* UIView+QuickLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D26C2C8F8C400F9BF58E6A104D4E446 /* UIView+QuickLayout.swift */; };
CF3C9AC716E31797CC2C3C81DECE4C97 /* UIView+Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E492E141CA1F65D689237579F214854C /* UIView+Utils.swift */; };
D51E20F00EB6CD7E0D7FF49D79E2F60C /* EKAttributes+Presets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 613497986B31AA146AC04D2FF125081D /* EKAttributes+Presets.swift */; };
D6AE33459B57384C2599C6C99F527BEB /* EKNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D88A10C90E97BC0A8854366B352F3EE /* EKNoteMessageView.swift */; };
D7662DCD3ADE9F482B12D960A4517476 /* EKProcessingNoteMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79629988A737E957C9B6F4684B504368 /* EKProcessingNoteMessageView.swift */; };
DA0EC170AAC94082A6B5F33CF4DD391F /* EKAttributes+Shadow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFE027CC4289C30AD3E768FCE5CEF0B /* EKAttributes+Shadow.swift */; };
DDA8C21B07CEAE9204BF7F435976CB9E /* EKFormMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3559532220E798158C20592737A02E39 /* EKFormMessageView.swift */; };
ED772CA4DAF478D6E0DF050C63F305F1 /* EKAttributes+Scroll.swift in Sources */ = {isa = PBXBuildFile; fileRef = D35FE84B7A5F378A9023B4D695D4B996 /* EKAttributes+Scroll.swift */; };
EF4520313EBDD8C00BD5ACED2BACA34F /* EKTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE3F0BD1D54DD958EBE89944FD4CEE99 /* EKTextField.swift */; };
F515A3A2C771F0BC0F95AA1BA4EEFFC1 /* EKAttributes+Duration.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6F169F2385B89ED18D6810657CDD3F6 /* EKAttributes+Duration.swift */; };
F59A2355405C20F6DBA556CADC3C8C13 /* SwiftEntryKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E20C7F7CA20B9D50699AFD4AD5BCE358 /* SwiftEntryKit-dummy.m */; };
F87B701EBA816F684B11F39CD1E39F47 /* EKAttributes+WindowLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7684F90C2E79E7591F8377058A81ADD0 /* EKAttributes+WindowLevel.swift */; };
F8D5E276EAFEE938C91DDCECB67EF87C /* EKAttributes+Precedence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11FCF376F5FE3AE52C3EE4D32A474534 /* EKAttributes+Precedence.swift */; };
F90BC550E43319147538AF88C987758E /* EKColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40327AF59BA584E6F6619BFCC3BAD434 /* EKColor.swift */; };
FC942184FF87AFA768AE2CA8218F1EC2 /* EKProperty.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F7A459E0E2A5540FEA8FDFEBD5766C1 /* EKProperty.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
963D784716C5E411F3ADD005A0BAC41B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = FEA6FF0588A91CCD972EDCD698B85647;
remoteInfo = SwiftEntryKit;
};
C83659509B9A824D8B8B5FEE03EC4F73 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = FEA6FF0588A91CCD972EDCD698B85647;
remoteInfo = SwiftEntryKit;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
0A1BEE5878A0598527D70E669A9DAF7E /* SwiftEntryKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SwiftEntryKit.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
0C6D2F6A9763A4610B812B9109ACA447 /* Pods-SwiftEntryKitDemo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SwiftEntryKitDemo.modulemap"; sourceTree = "<group>"; };
0DC40BB88676D9A88905C0581BC836B6 /* SwiftEntryKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftEntryKit.release.xcconfig; sourceTree = "<group>"; };
10BAD6713BF41F1F4581FF4905CF4BE8 /* EKAttributes+UserInteraction.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+UserInteraction.swift"; sourceTree = "<group>"; };
11FCF376F5FE3AE52C3EE4D32A474534 /* EKAttributes+Precedence.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Precedence.swift"; sourceTree = "<group>"; };
1A7286E41D0650723E149E86FD1C04AF /* EKAttributes+HapticFeedback.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+HapticFeedback.swift"; sourceTree = "<group>"; };
1DAD42E5C17E9F7FB324D45E3F7EDA42 /* EKNotificationMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKNotificationMessage.swift; sourceTree = "<group>"; };
1DD21DA534C8E34356D26932C0B72F1B /* EKAttributes+StatusBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+StatusBar.swift"; sourceTree = "<group>"; };
217D74CF28D2726D347E9E85D22057DA /* Pods-SwiftEntryKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftEntryKitTests.debug.xcconfig"; sourceTree = "<group>"; };
2239582C73BFB3D83DFDF57021299158 /* EKNotificationMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKNotificationMessageView.swift; sourceTree = "<group>"; };
2909A9134D532B091BC4BB03EAF83E0D /* Pods-SwiftEntryKitDemo-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftEntryKitDemo-Info.plist"; sourceTree = "<group>"; };
2E176C9E90FF69941C0F00D00FB87AF9 /* SwiftEntryKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftEntryKit-umbrella.h"; sourceTree = "<group>"; };
2EBFF4F329202D38AE92B0E840A811B2 /* EKAttributes+PositionConstraints.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+PositionConstraints.swift"; sourceTree = "<group>"; };
32E1F387F3E3AE4CA929AB42EC170811 /* EKWindow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKWindow.swift; sourceTree = "<group>"; };
3559532220E798158C20592737A02E39 /* EKFormMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKFormMessageView.swift; sourceTree = "<group>"; };
355EC14B2CF1D527FABE1F54F422445D /* EKStyleView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKStyleView.swift; sourceTree = "<group>"; };
3720AACA3DCA014803908A2E0592E7C5 /* Pods-SwiftEntryKitDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftEntryKitDemo-acknowledgements.markdown"; sourceTree = "<group>"; };
3A9F62C7BFA289C715569ABCD8EC35AD /* EKWrapperView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKWrapperView.swift; sourceTree = "<group>"; };
3FDEAA72AA62231A344DBE12315E9605 /* EKBackgroundView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKBackgroundView.swift; sourceTree = "<group>"; };
40327AF59BA584E6F6619BFCC3BAD434 /* EKColor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKColor.swift; sourceTree = "<group>"; };
45332FF34005CC3F284120BEEEA29FF2 /* UIView+QLContentWrap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+QLContentWrap.swift"; sourceTree = "<group>"; };
4727C79CD0DD7F6239E77E81AA1C6592 /* EKAttributes+LifecycleActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+LifecycleActions.swift"; sourceTree = "<group>"; };
498F2A87868A376E6C8B01A8EFF7D2AC /* SwiftEntryKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftEntryKit-prefix.pch"; sourceTree = "<group>"; };
4B2EE663224F44CF351C3AF280D17945 /* EKAttributes+BackgroundStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+BackgroundStyle.swift"; sourceTree = "<group>"; };
4DF7CDDFB196B307A3EA5A9EDF93C2B1 /* SwiftEntryKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftEntryKit.swift; path = Source/SwiftEntryKit.swift; sourceTree = "<group>"; };
5C977172E6A26597EAB05BDB41B2C104 /* EntryCachingHeuristic.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EntryCachingHeuristic.swift; sourceTree = "<group>"; };
5CC6592DF43B43BA46FC2CCA00C4F96F /* EKRatingMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKRatingMessage.swift; sourceTree = "<group>"; };
5D26C2C8F8C400F9BF58E6A104D4E446 /* UIView+QuickLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+QuickLayout.swift"; sourceTree = "<group>"; };
5D431D0B0894B4B4EE88E680419E14CD /* EKPopUpMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKPopUpMessage.swift; sourceTree = "<group>"; };
5E7D71B2861945983BDCF0A559AF1FC6 /* SwiftEntryKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftEntryKit.debug.xcconfig; sourceTree = "<group>"; };
5F7A459E0E2A5540FEA8FDFEBD5766C1 /* EKProperty.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKProperty.swift; sourceTree = "<group>"; };
613497986B31AA146AC04D2FF125081D /* EKAttributes+Presets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Presets.swift"; sourceTree = "<group>"; };
62F1B1D97C760AD62E5A49983D4BDFA9 /* Pods-SwiftEntryKitTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftEntryKitTests-frameworks.sh"; sourceTree = "<group>"; };
659C18D29D4B9D963A2AD7360AAACC30 /* Pods-SwiftEntryKitDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftEntryKitDemo.release.xcconfig"; sourceTree = "<group>"; };
65D30BCA570C5B5C8D4DA7E25F6254FA /* UIColor+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+Utils.swift"; sourceTree = "<group>"; };
67852BE5281D7C3C9D16CF8CB24FAEE4 /* SwiftEntryKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftEntryKit-Info.plist"; sourceTree = "<group>"; };
6D09C2BD9BF43CB402ECC6239DDE80B1 /* HapticFeedbackGenerator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HapticFeedbackGenerator.swift; sourceTree = "<group>"; };
7684F90C2E79E7591F8377058A81ADD0 /* EKAttributes+WindowLevel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+WindowLevel.swift"; sourceTree = "<group>"; };
780B2C0C027974C5B034C4FB8559B10F /* EKAttributes+Validations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Validations.swift"; sourceTree = "<group>"; };
78239DB78DD3345BC32A5B876DEA9726 /* Pods-SwiftEntryKitTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftEntryKitTests-umbrella.h"; sourceTree = "<group>"; };
79629988A737E957C9B6F4684B504368 /* EKProcessingNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKProcessingNoteMessageView.swift; sourceTree = "<group>"; };
7E7644AC1CA095C84B01E5BD5D080227 /* EKSimpleMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKSimpleMessage.swift; sourceTree = "<group>"; };
7F6008542D45CF6DA2CF5F20B1B389D9 /* Pods-SwiftEntryKitTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftEntryKitTests-Info.plist"; sourceTree = "<group>"; };
825DCCAAF219130678137286F5E77C47 /* Pods-SwiftEntryKitDemo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftEntryKitDemo-frameworks.sh"; sourceTree = "<group>"; };
82AD8AAF58BF64460BD8C07EC4DF6E35 /* EKImageNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKImageNoteMessageView.swift; sourceTree = "<group>"; };
8BFE027CC4289C30AD3E768FCE5CEF0B /* EKAttributes+Shadow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Shadow.swift"; sourceTree = "<group>"; };
8CCA1057080C500AF93E7231B4A6CA52 /* UIViewArray+QuickLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIViewArray+QuickLayout.swift"; sourceTree = "<group>"; };
8D88A10C90E97BC0A8854366B352F3EE /* EKNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKNoteMessageView.swift; sourceTree = "<group>"; };
90D533185CEAE773480AB26167E64EF9 /* EKEntryView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKEntryView.swift; sourceTree = "<group>"; };
92A9FFF66919FF57D45F01FF9060B9DD /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
9593CFAEB0028E56754D269C799C66B0 /* Pods-SwiftEntryKitDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftEntryKitDemo-dummy.m"; sourceTree = "<group>"; };
960DADF2CCCBDE8608C8DEDCA0B252EB /* UIEdgeInsets+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIEdgeInsets+Utils.swift"; sourceTree = "<group>"; };
9A71EF7308CBBA90894BE1279E935279 /* EKMessageContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKMessageContentView.swift; sourceTree = "<group>"; };
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; };
9EEBC3A780D3C8A2EB25437BA8E46F5F /* EKAlertMessage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKAlertMessage.swift; sourceTree = "<group>"; };
9F511D095B770B82902F13277AAF1AA6 /* UIApplication+EKAppearance.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIApplication+EKAppearance.swift"; sourceTree = "<group>"; };
A04A38B59673DEC84C7286AC1A5DD82E /* Pods-SwiftEntryKitTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftEntryKitTests-acknowledgements.plist"; sourceTree = "<group>"; };
A14EAEBB9BEC7C4A28F157DA31131232 /* Pods-SwiftEntryKitDemo */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SwiftEntryKitDemo"; path = Pods_SwiftEntryKitDemo.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A2BF4EDF85A16F4331293366AA50FF0E /* EKSimpleMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKSimpleMessageView.swift; sourceTree = "<group>"; };
A7A1D227F016C19203F287375463699A /* EKAttributes+DisplayMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+DisplayMode.swift"; sourceTree = "<group>"; };
AC54805D957AA8CD357A55ECD90EA0EF /* UIRectCorner+Short.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIRectCorner+Short.swift"; sourceTree = "<group>"; };
B1E8374EF3E6B232F142B5987EA67FCA /* UIView+Responder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Responder.swift"; sourceTree = "<group>"; };
B38771A605FA38F7F0D803B812F22552 /* QLUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = QLUtils.swift; sourceTree = "<group>"; };
B3ACA36A2CDB4DFCE6EF6D0E9F6CC937 /* EKAttributes+PopBehavior.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+PopBehavior.swift"; sourceTree = "<group>"; };
BC25F9415CB019F995E220EF13ABAEE7 /* QLCompatibility.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = QLCompatibility.swift; sourceTree = "<group>"; };
BFD8570D08FFA26DC70A6677B52879BE /* Pods-SwiftEntryKitDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftEntryKitDemo.debug.xcconfig"; sourceTree = "<group>"; };
C04EAE264EC7EFF0DA7C878F93D038E0 /* UIView+Shadow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Shadow.swift"; sourceTree = "<group>"; };
C31DB1E40DE39086DB4ADCFF6545A24E /* EKXStatusBarMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKXStatusBarMessageView.swift; sourceTree = "<group>"; };
C563C9CF87F0274D774DB1D0BB8756F1 /* Pods-SwiftEntryKitDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftEntryKitDemo-acknowledgements.plist"; sourceTree = "<group>"; };
CDE85EC51CF37128659CEB00BB891354 /* EKRootViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKRootViewController.swift; sourceTree = "<group>"; };
CDF1A0D1C37229695C259A378F96D0FC /* EKAlertMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKAlertMessageView.swift; sourceTree = "<group>"; };
CE2F7FD8E3DF8E80B033436940AFED3C /* Pods-SwiftEntryKitTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SwiftEntryKitTests.modulemap"; sourceTree = "<group>"; };
CF205874ABD02019016E8D6F4823DF66 /* EKAccessoryNoteMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKAccessoryNoteMessageView.swift; sourceTree = "<group>"; };
CFC59CB5292F0EFB0006711614DE389E /* EKAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKAttributes.swift; sourceTree = "<group>"; };
D0598CC5B54F64EFF897D87A397E403E /* Pods-SwiftEntryKitDemo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftEntryKitDemo-umbrella.h"; sourceTree = "<group>"; };
D0CEBC832DB314A2208D054822F4DD85 /* EKRatingMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKRatingMessageView.swift; sourceTree = "<group>"; };
D124E32A8ED6A6A48F5EBBD4F7156FA9 /* Pods-SwiftEntryKitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftEntryKitTests.release.xcconfig"; sourceTree = "<group>"; };
D245E0514AAC1A2B9A6D5EA2F383E90F /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
D35FE84B7A5F378A9023B4D695D4B996 /* EKAttributes+Scroll.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Scroll.swift"; sourceTree = "<group>"; };
D47B05649A80A383D3EF8B4D372370C5 /* EKRatingSymbolsContainerView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKRatingSymbolsContainerView.swift; sourceTree = "<group>"; };
D6C0CFAEC4DF15650ED42C91AE124D09 /* EKAttributes+Animation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Animation.swift"; sourceTree = "<group>"; };
DA5F7E5AA5A762E4504855EAF3216C8A /* SwiftEntryKit */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftEntryKit; path = SwiftEntryKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
DA7DE56E720D81AC3D90007A2F61A084 /* Pods-SwiftEntryKitTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftEntryKitTests-acknowledgements.markdown"; sourceTree = "<group>"; };
DB968E381D29D2484DC89ABEF5A08EF9 /* SwiftEntryKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftEntryKit.modulemap; sourceTree = "<group>"; };
E075598D423EEA3ACC102DB53CDB8E8C /* EKButtonBarView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKButtonBarView.swift; sourceTree = "<group>"; };
E20C7F7CA20B9D50699AFD4AD5BCE358 /* SwiftEntryKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftEntryKit-dummy.m"; sourceTree = "<group>"; };
E492E141CA1F65D689237579F214854C /* UIView+Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIView+Utils.swift"; sourceTree = "<group>"; };
E55224D7193D977B96C4236E1F74164C /* GradientView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = GradientView.swift; sourceTree = "<group>"; };
E6F169F2385B89ED18D6810657CDD3F6 /* EKAttributes+Duration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Duration.swift"; sourceTree = "<group>"; };
EAB6F611E86A4758835A715E4B4184F6 /* 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; };
EB0F9C7644E67B3E509B16CA9E1AE2E6 /* EKRatingSymbolView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKRatingSymbolView.swift; sourceTree = "<group>"; };
ED0B495FDB5638F0BC7EFCCEF42EA31A /* EKAttributes+FrameStyle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+FrameStyle.swift"; sourceTree = "<group>"; };
ED55558861058207FDC79BE639B3AB22 /* EntryAppearanceDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EntryAppearanceDescriptor.swift; sourceTree = "<group>"; };
EE3F0BD1D54DD958EBE89944FD4CEE99 /* EKTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKTextField.swift; sourceTree = "<group>"; };
F352296AFDF8DE73AE8F78DB5150C5A7 /* Pods-SwiftEntryKitTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftEntryKitTests-dummy.m"; sourceTree = "<group>"; };
F3BEAB4B42918B40DE6441C8C1540552 /* EKPopUpMessageView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKPopUpMessageView.swift; sourceTree = "<group>"; };
F47088C2B383BF12F74E0166C7B52E25 /* Pods-SwiftEntryKitTests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-SwiftEntryKitTests"; path = Pods_SwiftEntryKitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F5D859AAFC1AF2603E93156384B31D9B /* EKAttributes+Position.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "EKAttributes+Position.swift"; sourceTree = "<group>"; };
F643E9B2DC1F62BA4538C437A5BCCDFA /* EKContentView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKContentView.swift; sourceTree = "<group>"; };
F9B8F9B4651B86B74DCA4B914A4A1BE7 /* EKButtonView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKButtonView.swift; sourceTree = "<group>"; };
FC3447757DFE9D7077BC50CF56C53740 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; };
FD9F579DFDB3C3CE8BE7E16084849EAB /* EKWindowProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EKWindowProvider.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
AAFF79C079AD948F35442BB67EB8E40D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
C82054AF37DEB07E384A1525C3A90447 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
AE6149CDF2E36FC955A98352466B991D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
83D05E692A0CE612F52BC0B18745B370 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
EFBB4DEC1ECFAAFCD8722E3D003646FF /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
253D69D1B151BCD20DBBC6B6439C2033 /* Foundation.framework in Frameworks */,
60FC20D83228B2C4E383524E56F95CE2 /* UIKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0B0A0292996B17D3D92684F861EF0A04 /* Extensions */ = {
isa = PBXGroup;
children = (
9F511D095B770B82902F13277AAF1AA6 /* UIApplication+EKAppearance.swift */,
65D30BCA570C5B5C8D4DA7E25F6254FA /* UIColor+Utils.swift */,
960DADF2CCCBDE8608C8DEDCA0B252EB /* UIEdgeInsets+Utils.swift */,
AC54805D957AA8CD357A55ECD90EA0EF /* UIRectCorner+Short.swift */,
C04EAE264EC7EFF0DA7C878F93D038E0 /* UIView+Shadow.swift */,
E492E141CA1F65D689237579F214854C /* UIView+Utils.swift */,
E897D76C39B3787ECA71B6592BD3F08F /* QuickLayout */,
);
name = Extensions;
path = Source/Extensions;
sourceTree = "<group>";
};
1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = {
isa = PBXGroup;
children = (
59DA5C1F72E1D5BABC43EACBA672C3BA /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
19C48C63AF7B3E6901192100BC31B666 /* Pods-SwiftEntryKitTests */ = {
isa = PBXGroup;
children = (
CE2F7FD8E3DF8E80B033436940AFED3C /* Pods-SwiftEntryKitTests.modulemap */,
DA7DE56E720D81AC3D90007A2F61A084 /* Pods-SwiftEntryKitTests-acknowledgements.markdown */,
A04A38B59673DEC84C7286AC1A5DD82E /* Pods-SwiftEntryKitTests-acknowledgements.plist */,
F352296AFDF8DE73AE8F78DB5150C5A7 /* Pods-SwiftEntryKitTests-dummy.m */,
62F1B1D97C760AD62E5A49983D4BDFA9 /* Pods-SwiftEntryKitTests-frameworks.sh */,
7F6008542D45CF6DA2CF5F20B1B389D9 /* Pods-SwiftEntryKitTests-Info.plist */,
78239DB78DD3345BC32A5B876DEA9726 /* Pods-SwiftEntryKitTests-umbrella.h */,
217D74CF28D2726D347E9E85D22057DA /* Pods-SwiftEntryKitTests.debug.xcconfig */,
D124E32A8ED6A6A48F5EBBD4F7156FA9 /* Pods-SwiftEntryKitTests.release.xcconfig */,
);
name = "Pods-SwiftEntryKitTests";
path = "Target Support Files/Pods-SwiftEntryKitTests";
sourceTree = "<group>";
};
1A5FA4CB5975E4578D32C4FB0001A045 /* Infra */ = {
isa = PBXGroup;
children = (
3FDEAA72AA62231A344DBE12315E9605 /* EKBackgroundView.swift */,
F643E9B2DC1F62BA4538C437A5BCCDFA /* EKContentView.swift */,
90D533185CEAE773480AB26167E64EF9 /* EKEntryView.swift */,
CDE85EC51CF37128659CEB00BB891354 /* EKRootViewController.swift */,
355EC14B2CF1D527FABE1F54F422445D /* EKStyleView.swift */,
32E1F387F3E3AE4CA929AB42EC170811 /* EKWindow.swift */,
FD9F579DFDB3C3CE8BE7E16084849EAB /* EKWindowProvider.swift */,
3A9F62C7BFA289C715569ABCD8EC35AD /* EKWrapperView.swift */,
5C977172E6A26597EAB05BDB41B2C104 /* EntryCachingHeuristic.swift */,
);
name = Infra;
path = Source/Infra;
sourceTree = "<group>";
};
1C6D460CA567524F66BE585E5B07F4F7 /* EntryAttributes */ = {
isa = PBXGroup;
children = (
CFC59CB5292F0EFB0006711614DE389E /* EKAttributes.swift */,
D6C0CFAEC4DF15650ED42C91AE124D09 /* EKAttributes+Animation.swift */,
4B2EE663224F44CF351C3AF280D17945 /* EKAttributes+BackgroundStyle.swift */,
A7A1D227F016C19203F287375463699A /* EKAttributes+DisplayMode.swift */,
E6F169F2385B89ED18D6810657CDD3F6 /* EKAttributes+Duration.swift */,
ED0B495FDB5638F0BC7EFCCEF42EA31A /* EKAttributes+FrameStyle.swift */,
1A7286E41D0650723E149E86FD1C04AF /* EKAttributes+HapticFeedback.swift */,
4727C79CD0DD7F6239E77E81AA1C6592 /* EKAttributes+LifecycleActions.swift */,
B3ACA36A2CDB4DFCE6EF6D0E9F6CC937 /* EKAttributes+PopBehavior.swift */,
F5D859AAFC1AF2603E93156384B31D9B /* EKAttributes+Position.swift */,
2EBFF4F329202D38AE92B0E840A811B2 /* EKAttributes+PositionConstraints.swift */,
11FCF376F5FE3AE52C3EE4D32A474534 /* EKAttributes+Precedence.swift */,
613497986B31AA146AC04D2FF125081D /* EKAttributes+Presets.swift */,
D35FE84B7A5F378A9023B4D695D4B996 /* EKAttributes+Scroll.swift */,
8BFE027CC4289C30AD3E768FCE5CEF0B /* EKAttributes+Shadow.swift */,
1DD21DA534C8E34356D26932C0B72F1B /* EKAttributes+StatusBar.swift */,
10BAD6713BF41F1F4581FF4905CF4BE8 /* EKAttributes+UserInteraction.swift */,
780B2C0C027974C5B034C4FB8559B10F /* EKAttributes+Validations.swift */,
7684F90C2E79E7591F8377058A81ADD0 /* EKAttributes+WindowLevel.swift */,
);
name = EntryAttributes;
path = EntryAttributes;
sourceTree = "<group>";
};
22E1E4E9D635E1A61F945752082C4A00 /* MessagesUtils */ = {
isa = PBXGroup;
children = (
E075598D423EEA3ACC102DB53CDB8E8C /* EKButtonBarView.swift */,
F9B8F9B4651B86B74DCA4B914A4A1BE7 /* EKButtonView.swift */,
D47B05649A80A383D3EF8B4D372370C5 /* EKRatingSymbolsContainerView.swift */,
EB0F9C7644E67B3E509B16CA9E1AE2E6 /* EKRatingSymbolView.swift */,
EE3F0BD1D54DD958EBE89944FD4CEE99 /* EKTextField.swift */,
ED55558861058207FDC79BE639B3AB22 /* EntryAppearanceDescriptor.swift */,
);
name = MessagesUtils;
path = MessagesUtils;
sourceTree = "<group>";
};
3A2E3B3AB935C46DD4CD42871261C941 /* Notes */ = {
isa = PBXGroup;
children = (
CF205874ABD02019016E8D6F4823DF66 /* EKAccessoryNoteMessageView.swift */,
82AD8AAF58BF64460BD8C07EC4DF6E35 /* EKImageNoteMessageView.swift */,
8D88A10C90E97BC0A8854366B352F3EE /* EKNoteMessageView.swift */,
79629988A737E957C9B6F4684B504368 /* EKProcessingNoteMessageView.swift */,
C31DB1E40DE39086DB4ADCFF6545A24E /* EKXStatusBarMessageView.swift */,
);
name = Notes;
path = Notes;
sourceTree = "<group>";
};
51EA9FA7C39A49553F210B8F94DF5A34 /* Targets Support Files */ = {
isa = PBXGroup;
children = (
782EBC3ECB80CAFA27E5D2F6442EE0C2 /* Pods-SwiftEntryKitDemo */,
19C48C63AF7B3E6901192100BC31B666 /* Pods-SwiftEntryKitTests */,
);
name = "Targets Support Files";
sourceTree = "<group>";
};
59DA5C1F72E1D5BABC43EACBA672C3BA /* iOS */ = {
isa = PBXGroup;
children = (
EAB6F611E86A4758835A715E4B4184F6 /* Foundation.framework */,
D245E0514AAC1A2B9A6D5EA2F383E90F /* UIKit.framework */,
);
name = iOS;
sourceTree = "<group>";
};
782EBC3ECB80CAFA27E5D2F6442EE0C2 /* Pods-SwiftEntryKitDemo */ = {
isa = PBXGroup;
children = (
0C6D2F6A9763A4610B812B9109ACA447 /* Pods-SwiftEntryKitDemo.modulemap */,
3720AACA3DCA014803908A2E0592E7C5 /* Pods-SwiftEntryKitDemo-acknowledgements.markdown */,
C563C9CF87F0274D774DB1D0BB8756F1 /* Pods-SwiftEntryKitDemo-acknowledgements.plist */,
9593CFAEB0028E56754D269C799C66B0 /* Pods-SwiftEntryKitDemo-dummy.m */,
825DCCAAF219130678137286F5E77C47 /* Pods-SwiftEntryKitDemo-frameworks.sh */,
2909A9134D532B091BC4BB03EAF83E0D /* Pods-SwiftEntryKitDemo-Info.plist */,
D0598CC5B54F64EFF897D87A397E403E /* Pods-SwiftEntryKitDemo-umbrella.h */,
BFD8570D08FFA26DC70A6677B52879BE /* Pods-SwiftEntryKitDemo.debug.xcconfig */,
659C18D29D4B9D963A2AD7360AAACC30 /* Pods-SwiftEntryKitDemo.release.xcconfig */,
);
name = "Pods-SwiftEntryKitDemo";
path = "Target Support Files/Pods-SwiftEntryKitDemo";
sourceTree = "<group>";
};
9EE8007757EEFD14C62114882173F3C3 /* Utils */ = {
isa = PBXGroup;
children = (
E55224D7193D977B96C4236E1F74164C /* GradientView.swift */,
6D09C2BD9BF43CB402ECC6239DDE80B1 /* HapticFeedbackGenerator.swift */,
B1E8374EF3E6B232F142B5987EA67FCA /* UIView+Responder.swift */,
);
name = Utils;
path = Source/Utils;
sourceTree = "<group>";
};
A9A2577C6BECA8A4E94E1FF7CA2DBD08 /* SwiftEntryKit */ = {
isa = PBXGroup;
children = (
4DF7CDDFB196B307A3EA5A9EDF93C2B1 /* SwiftEntryKit.swift */,
0B0A0292996B17D3D92684F861EF0A04 /* Extensions */,
1A5FA4CB5975E4578D32C4FB0001A045 /* Infra */,
DD9349715C9792A78269FF61E726D532 /* MessageViews */,
E732E6E65BADA40D7AA84C450E4F4192 /* Model */,
EAFA7292DA2C19DFB8393C82375DFBE0 /* Pod */,
DD4A5106BAB6CB5031677AFB2567580D /* Support Files */,
9EE8007757EEFD14C62114882173F3C3 /* Utils */,
);
name = SwiftEntryKit;
path = ../..;
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
DE1A6CB57FB2556E66BBD204D206C703 /* Development Pods */,
1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */,
EA55FF6C4388512B5E53F22767C7731E /* Products */,
51EA9FA7C39A49553F210B8F94DF5A34 /* Targets Support Files */,
);
sourceTree = "<group>";
};
DD4A5106BAB6CB5031677AFB2567580D /* Support Files */ = {
isa = PBXGroup;
children = (
DB968E381D29D2484DC89ABEF5A08EF9 /* SwiftEntryKit.modulemap */,
E20C7F7CA20B9D50699AFD4AD5BCE358 /* SwiftEntryKit-dummy.m */,
67852BE5281D7C3C9D16CF8CB24FAEE4 /* SwiftEntryKit-Info.plist */,
498F2A87868A376E6C8B01A8EFF7D2AC /* SwiftEntryKit-prefix.pch */,
2E176C9E90FF69941C0F00D00FB87AF9 /* SwiftEntryKit-umbrella.h */,
5E7D71B2861945983BDCF0A559AF1FC6 /* SwiftEntryKit.debug.xcconfig */,
0DC40BB88676D9A88905C0581BC836B6 /* SwiftEntryKit.release.xcconfig */,
);
name = "Support Files";
path = "Example/Pods/Target Support Files/SwiftEntryKit";
sourceTree = "<group>";
};
DD9349715C9792A78269FF61E726D532 /* MessageViews */ = {
isa = PBXGroup;
children = (
CDF1A0D1C37229695C259A378F96D0FC /* EKAlertMessageView.swift */,
3559532220E798158C20592737A02E39 /* EKFormMessageView.swift */,
9A71EF7308CBBA90894BE1279E935279 /* EKMessageContentView.swift */,
2239582C73BFB3D83DFDF57021299158 /* EKNotificationMessageView.swift */,
F3BEAB4B42918B40DE6441C8C1540552 /* EKPopUpMessageView.swift */,
D0CEBC832DB314A2208D054822F4DD85 /* EKRatingMessageView.swift */,
A2BF4EDF85A16F4331293366AA50FF0E /* EKSimpleMessageView.swift */,
22E1E4E9D635E1A61F945752082C4A00 /* MessagesUtils */,
3A2E3B3AB935C46DD4CD42871261C941 /* Notes */,
);
name = MessageViews;
path = Source/MessageViews;
sourceTree = "<group>";
};
DE1A6CB57FB2556E66BBD204D206C703 /* Development Pods */ = {
isa = PBXGroup;
children = (
A9A2577C6BECA8A4E94E1FF7CA2DBD08 /* SwiftEntryKit */,
);
name = "Development Pods";
sourceTree = "<group>";
};
E732E6E65BADA40D7AA84C450E4F4192 /* Model */ = {
isa = PBXGroup;
children = (
9EEBC3A780D3C8A2EB25437BA8E46F5F /* EKAlertMessage.swift */,
40327AF59BA584E6F6619BFCC3BAD434 /* EKColor.swift */,
1DAD42E5C17E9F7FB324D45E3F7EDA42 /* EKNotificationMessage.swift */,
5D431D0B0894B4B4EE88E680419E14CD /* EKPopUpMessage.swift */,
5F7A459E0E2A5540FEA8FDFEBD5766C1 /* EKProperty.swift */,
5CC6592DF43B43BA46FC2CCA00C4F96F /* EKRatingMessage.swift */,
7E7644AC1CA095C84B01E5BD5D080227 /* EKSimpleMessage.swift */,
1C6D460CA567524F66BE585E5B07F4F7 /* EntryAttributes */,
);
name = Model;
path = Source/Model;
sourceTree = "<group>";
};
E897D76C39B3787ECA71B6592BD3F08F /* QuickLayout */ = {
isa = PBXGroup;
children = (
BC25F9415CB019F995E220EF13ABAEE7 /* QLCompatibility.swift */,
B38771A605FA38F7F0D803B812F22552 /* QLUtils.swift */,
45332FF34005CC3F284120BEEEA29FF2 /* UIView+QLContentWrap.swift */,
5D26C2C8F8C400F9BF58E6A104D4E446 /* UIView+QuickLayout.swift */,
8CCA1057080C500AF93E7231B4A6CA52 /* UIViewArray+QuickLayout.swift */,
);
name = QuickLayout;
path = QuickLayout;
sourceTree = "<group>";
};
EA55FF6C4388512B5E53F22767C7731E /* Products */ = {
isa = PBXGroup;
children = (
A14EAEBB9BEC7C4A28F157DA31131232 /* Pods-SwiftEntryKitDemo */,
F47088C2B383BF12F74E0166C7B52E25 /* Pods-SwiftEntryKitTests */,
DA5F7E5AA5A762E4504855EAF3216C8A /* SwiftEntryKit */,
);
name = Products;
sourceTree = "<group>";
};
EAFA7292DA2C19DFB8393C82375DFBE0 /* Pod */ = {
isa = PBXGroup;
children = (
92A9FFF66919FF57D45F01FF9060B9DD /* LICENSE */,
FC3447757DFE9D7077BC50CF56C53740 /* README.md */,
0A1BEE5878A0598527D70E669A9DAF7E /* SwiftEntryKit.podspec */,
);
name = Pod;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
99BABE702C3C493BA8CAB3E336A34B27 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
068E825D6FE9520EBE3FA985C5AE4DA0 /* Pods-SwiftEntryKitDemo-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E6BAD1529D8C727E12D41EDF7AD9152D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
14DE35A5C2A9CDA68974BB63E54E980E /* Pods-SwiftEntryKitTests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
F4783D94789658207BFCD39A626B865D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
8E8D18BA7E2779FF915DD8D000E651F8 /* SwiftEntryKit-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
B8014556AF0886B4EB6E36F9E2B39AD9 /* Pods-SwiftEntryKitDemo */ = {
isa = PBXNativeTarget;
buildConfigurationList = 4E88838E1E6C08C5578E22556F29CAA7 /* Build configuration list for PBXNativeTarget "Pods-SwiftEntryKitDemo" */;
buildPhases = (
99BABE702C3C493BA8CAB3E336A34B27 /* Headers */,
AB81991149CA6B4EF230C069201E4021 /* Sources */,
AE6149CDF2E36FC955A98352466B991D /* Frameworks */,
0A8161BE98F7D32C5840F08177AD3ADC /* Resources */,
);
buildRules = (
);
dependencies = (
C86C643BCFA6FDCA3B5C59BB383589B1 /* PBXTargetDependency */,
);
name = "Pods-SwiftEntryKitDemo";
productName = Pods_SwiftEntryKitDemo;
productReference = A14EAEBB9BEC7C4A28F157DA31131232 /* Pods-SwiftEntryKitDemo */;
productType = "com.apple.product-type.framework";
};
FCD9AC41A4A4EDDDE8502389BCD0C13B /* Pods-SwiftEntryKitTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 90A70CCE8C71B2D2C42B41405AA889B4 /* Build configuration list for PBXNativeTarget "Pods-SwiftEntryKitTests" */;
buildPhases = (
E6BAD1529D8C727E12D41EDF7AD9152D /* Headers */,
6F4C80DAEDD21B05210518D4EE069D77 /* Sources */,
AAFF79C079AD948F35442BB67EB8E40D /* Frameworks */,
DBF81C754494252ACC410282CE94329D /* Resources */,
);
buildRules = (
);
dependencies = (
2C6FC358BF1EBEE3E0C43EBD2EF4A94A /* PBXTargetDependency */,
);
name = "Pods-SwiftEntryKitTests";
productName = Pods_SwiftEntryKitTests;
productReference = F47088C2B383BF12F74E0166C7B52E25 /* Pods-SwiftEntryKitTests */;
productType = "com.apple.product-type.framework";
};
FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = D1BF1EE05C7922DC0C7CFB1924C63F69 /* Build configuration list for PBXNativeTarget "SwiftEntryKit" */;
buildPhases = (
F4783D94789658207BFCD39A626B865D /* Headers */,
FA2F292C528E0D64BE6614D4E34EE473 /* Sources */,
EFBB4DEC1ECFAAFCD8722E3D003646FF /* Frameworks */,
B5D1E1884FB3A1D0F211E939528A5B27 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = SwiftEntryKit;
productName = SwiftEntryKit;
productReference = DA5F7E5AA5A762E4504855EAF3216C8A /* SwiftEntryKit */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1240;
LastUpgradeCheck = 1240;
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
Base,
en,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = EA55FF6C4388512B5E53F22767C7731E /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
B8014556AF0886B4EB6E36F9E2B39AD9 /* Pods-SwiftEntryKitDemo */,
FCD9AC41A4A4EDDDE8502389BCD0C13B /* Pods-SwiftEntryKitTests */,
FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
0A8161BE98F7D32C5840F08177AD3ADC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
B5D1E1884FB3A1D0F211E939528A5B27 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
DBF81C754494252ACC410282CE94329D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
6F4C80DAEDD21B05210518D4EE069D77 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
5C258564AFF20D612A3A339423F45584 /* Pods-SwiftEntryKitTests-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
AB81991149CA6B4EF230C069201E4021 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C60B01D9CD508925C0CE73F3A494AC50 /* Pods-SwiftEntryKitDemo-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
FA2F292C528E0D64BE6614D4E34EE473 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2192DBD932E0F15BB67ACDC05443661A /* EKAccessoryNoteMessageView.swift in Sources */,
27AB779347FB4F77C5609ECC8E822D47 /* EKAlertMessage.swift in Sources */,
C98CD0D413A41E34BCE66218A759A400 /* EKAlertMessageView.swift in Sources */,
7108EDEF3D6F20A74A001A6095D5CEAF /* EKAttributes.swift in Sources */,
CB1EEDEDA94C738FAF66F1C885564292 /* EKAttributes+Animation.swift in Sources */,
A2BA4820371B5FEC4F05DAD50C6ABF6E /* EKAttributes+BackgroundStyle.swift in Sources */,
BC62184178B9BEB545A13961210A05DC /* EKAttributes+DisplayMode.swift in Sources */,
F515A3A2C771F0BC0F95AA1BA4EEFFC1 /* EKAttributes+Duration.swift in Sources */,
734E4D1053D35D868CD9E2089C951A30 /* EKAttributes+FrameStyle.swift in Sources */,
8B9C14384B947160FDC8C9082DFAC126 /* EKAttributes+HapticFeedback.swift in Sources */,
714A8C1AC51A1123F085369F696D98E0 /* EKAttributes+LifecycleActions.swift in Sources */,
92C9D280AC667D5F46DF47A9ECFD6CF8 /* EKAttributes+PopBehavior.swift in Sources */,
952D70DA0B30FC34603159D7CCC7B3CE /* EKAttributes+Position.swift in Sources */,
28E32E39AD8DAAF8D769DB804E262758 /* EKAttributes+PositionConstraints.swift in Sources */,
F8D5E276EAFEE938C91DDCECB67EF87C /* EKAttributes+Precedence.swift in Sources */,
D51E20F00EB6CD7E0D7FF49D79E2F60C /* EKAttributes+Presets.swift in Sources */,
ED772CA4DAF478D6E0DF050C63F305F1 /* EKAttributes+Scroll.swift in Sources */,
DA0EC170AAC94082A6B5F33CF4DD391F /* EKAttributes+Shadow.swift in Sources */,
0443B823D09728A6A4AAEA741ED0EC1A /* EKAttributes+StatusBar.swift in Sources */,
0D2B4E91DB02BDA04E6BDF6DBA4A546E /* EKAttributes+UserInteraction.swift in Sources */,
055EFFC858E25B12CE2921EC8C7233EB /* EKAttributes+Validations.swift in Sources */,
F87B701EBA816F684B11F39CD1E39F47 /* EKAttributes+WindowLevel.swift in Sources */,
462DE7325DE86EFA2F3EC52CEBD9C1E5 /* EKBackgroundView.swift in Sources */,
4BA5FF5F702BD658E11F0DFFCBD8F48D /* EKButtonBarView.swift in Sources */,
8BA44EB1BBDD85BB4527F5CA3A5776AD /* EKButtonView.swift in Sources */,
F90BC550E43319147538AF88C987758E /* EKColor.swift in Sources */,
C8887B7C8B331F253936A033C82E7035 /* EKContentView.swift in Sources */,
98C43F17EB6BE6D18F9DA8EC7B2E04B0 /* EKEntryView.swift in Sources */,
DDA8C21B07CEAE9204BF7F435976CB9E /* EKFormMessageView.swift in Sources */,
11E4007894DF1F2A3F475FBB8229F3A4 /* EKImageNoteMessageView.swift in Sources */,
BA2DA0C04BFBAEE25E534E24CFFF395A /* EKMessageContentView.swift in Sources */,
D6AE33459B57384C2599C6C99F527BEB /* EKNoteMessageView.swift in Sources */,
36882C85632251103A44F147853939AA /* EKNotificationMessage.swift in Sources */,
8D80DF7CFA1BE70D46E90462AE24C472 /* EKNotificationMessageView.swift in Sources */,
6ED875168F056413ECC87C941731E714 /* EKPopUpMessage.swift in Sources */,
05D9D1E4C707A5F023A1F94ACF486AC2 /* EKPopUpMessageView.swift in Sources */,
D7662DCD3ADE9F482B12D960A4517476 /* EKProcessingNoteMessageView.swift in Sources */,
FC942184FF87AFA768AE2CA8218F1EC2 /* EKProperty.swift in Sources */,
87DDE964048660CDA29BE9EFBB20A8A7 /* EKRatingMessage.swift in Sources */,
7BBD4032CA2769A7B3D5F79E95264689 /* EKRatingMessageView.swift in Sources */,
8A0A768C3ECBEEA388452EC31BEF6500 /* EKRatingSymbolsContainerView.swift in Sources */,
302E32F7BE65307E4A589AFF78B43BB5 /* EKRatingSymbolView.swift in Sources */,
56E6DC85F5E9118377A587FB086E147B /* EKRootViewController.swift in Sources */,
A7011D8655938627E740F0C3CF8FA900 /* EKSimpleMessage.swift in Sources */,
90F3D408915E74432EA7EEA31FA356E8 /* EKSimpleMessageView.swift in Sources */,
0359FD65EC137FD6398B15FFA06FBD4E /* EKStyleView.swift in Sources */,
EF4520313EBDD8C00BD5ACED2BACA34F /* EKTextField.swift in Sources */,
97AD66EB56B38157D92EEDBAEAECDBD0 /* EKWindow.swift in Sources */,
AFA1DC023B3E88B337F09BA31B2D648A /* EKWindowProvider.swift in Sources */,
A2413744FA4B848AA797FB365F69BFDC /* EKWrapperView.swift in Sources */,
B3AE89438313BC2BACC4D0DE03FC3DEE /* EKXStatusBarMessageView.swift in Sources */,
4E375F46869D4ACA0012FD19C628D27C /* EntryAppearanceDescriptor.swift in Sources */,
89A502FDBC5C0EF63831DD6A8537610A /* EntryCachingHeuristic.swift in Sources */,
559047DE0FD0172BD098F42C46EC99BF /* GradientView.swift in Sources */,
85C9E605B0FDDDFAE52C4C098400BAB6 /* HapticFeedbackGenerator.swift in Sources */,
0A68662146E1586B4456FAB071D11DE2 /* QLCompatibility.swift in Sources */,
0D6FB08663ED820FCE5FBE981E3C6A5A /* QLUtils.swift in Sources */,
34D13E6FCD9A83500030FA87732A91E0 /* SwiftEntryKit.swift in Sources */,
F59A2355405C20F6DBA556CADC3C8C13 /* SwiftEntryKit-dummy.m in Sources */,
29BEEBBF37CF019B510DBFB73345AD85 /* UIApplication+EKAppearance.swift in Sources */,
348C406EE636A76C1FD17BB1D6524F76 /* UIColor+Utils.swift in Sources */,
B0598238BC5A442270D9461A0E5A1D9D /* UIEdgeInsets+Utils.swift in Sources */,
6FC9FC572974C469202D4ED5CD215B87 /* UIRectCorner+Short.swift in Sources */,
595221C70FBCDB1D0B2A3A937F1920DF /* UIView+QLContentWrap.swift in Sources */,
CF185599178E4DC6478502FAD3A58872 /* UIView+QuickLayout.swift in Sources */,
18734EC046ABAA79202629307DC9F249 /* UIView+Responder.swift in Sources */,
55D8E7C94A4249CAD0CE60C5442C1647 /* UIView+Shadow.swift in Sources */,
CF3C9AC716E31797CC2C3C81DECE4C97 /* UIView+Utils.swift in Sources */,
5A88DF76317A991C11AEB8F1FE918FBB /* UIViewArray+QuickLayout.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
2C6FC358BF1EBEE3E0C43EBD2EF4A94A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = SwiftEntryKit;
target = FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */;
targetProxy = 963D784716C5E411F3ADD005A0BAC41B /* PBXContainerItemProxy */;
};
C86C643BCFA6FDCA3B5C59BB383589B1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = SwiftEntryKit;
target = FEA6FF0588A91CCD972EDCD698B85647 /* SwiftEntryKit */;
targetProxy = C83659509B9A824D8B8B5FEE03EC4F73 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
25AD9454612BF454A1E3DC4CD4FA8C6D /* 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 = 9.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;
};
85FC0D3EAE3F86C9BA6B769F2CCDFD83 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = D124E32A8ED6A6A48F5EBBD4F7156FA9 /* Pods-SwiftEntryKitTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = 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-SwiftEntryKitTests/Pods-SwiftEntryKitTests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.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;
};
974FE3B7E5BC8335BB591829F9B5A22B /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 0DC40BB88676D9A88905C0581BC836B6 /* SwiftEntryKit.release.xcconfig */;
buildSettings = {
"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/SwiftEntryKit/SwiftEntryKit-prefix.pch";
INFOPLIST_FILE = "Target Support Files/SwiftEntryKit/SwiftEntryKit-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/SwiftEntryKit/SwiftEntryKit.modulemap";
PRODUCT_MODULE_NAME = SwiftEntryKit;
PRODUCT_NAME = SwiftEntryKit;
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;
};
99962B8BE26F904FBDF6FB1B445A6003 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 5E7D71B2861945983BDCF0A559AF1FC6 /* SwiftEntryKit.debug.xcconfig */;
buildSettings = {
"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/SwiftEntryKit/SwiftEntryKit-prefix.pch";
INFOPLIST_FILE = "Target Support Files/SwiftEntryKit/SwiftEntryKit-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/SwiftEntryKit/SwiftEntryKit.modulemap";
PRODUCT_MODULE_NAME = SwiftEntryKit;
PRODUCT_NAME = SwiftEntryKit;
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;
};
B49B2FDC6E95FC5D63C413BCC63A3521 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = BFD8570D08FFA26DC70A6677B52879BE /* Pods-SwiftEntryKitDemo.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = 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-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.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;
};
CA547D2C7E9A8A153DC2B27FBE00B112 /* 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 = 9.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;
};
CF077D663DDCCD59AC06D753AA16D0A2 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 659C18D29D4B9D963A2AD7360AAACC30 /* Pods-SwiftEntryKitDemo.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = 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-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.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;
};
D47E402F78A11C41B5BA98FE73CAEC40 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 217D74CF28D2726D347E9E85D22057DA /* Pods-SwiftEntryKitTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = 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-SwiftEntryKitTests/Pods-SwiftEntryKitTests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.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;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
25AD9454612BF454A1E3DC4CD4FA8C6D /* Debug */,
CA547D2C7E9A8A153DC2B27FBE00B112 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4E88838E1E6C08C5578E22556F29CAA7 /* Build configuration list for PBXNativeTarget "Pods-SwiftEntryKitDemo" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B49B2FDC6E95FC5D63C413BCC63A3521 /* Debug */,
CF077D663DDCCD59AC06D753AA16D0A2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
90A70CCE8C71B2D2C42B41405AA889B4 /* Build configuration list for PBXNativeTarget "Pods-SwiftEntryKitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
D47E402F78A11C41B5BA98FE73CAEC40 /* Debug */,
85FC0D3EAE3F86C9BA6B769F2CCDFD83 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
D1BF1EE05C7922DC0C7CFB1924C63F69 /* Build configuration list for PBXNativeTarget "SwiftEntryKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
99962B8BE26F904FBDF6FB1B445A6003 /* Debug */,
974FE3B7E5BC8335BB591829F9B5A22B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
}
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-acknowledgements.markdown
================================================
# Acknowledgements
This application makes use of the following third party libraries:
## SwiftEntryKit
MIT License
Copyright (c) 2018 Daniel Huri, huri000@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-acknowledgements.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>MIT License
Copyright (c) 2018 Daniel Huri, huri000@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>SwiftEntryKit</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-dummy.m
================================================
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_SwiftEntryKitDemo : NSObject
@end
@implementation PodsDummy_Pods_SwiftEntryKitDemo
@end
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-frameworks.sh
================================================
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
# frameworks to, so exit 0 (signalling the script phase was successful).
exit 0
fi
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
BCSYMBOLMAP_DIR="BCSymbolMaps"
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
# Copies and strips a vendored framework
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
# Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
echo "Installing $f"
install_bcsymbolmap "$f" "$destination"
rm "$f"
done
rmdir "${source}/${BCSYMBOLMAP_DIR}"
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
binary="${destination}/${basename}.framework/${basename}"
if ! [ -r "$binary" ]; then
binary="${destination}/${basename}"
elif [ -L "${binary}" ]; then
echo "Destination binary is symlinked..."
dirname="$(dirname "${binary}")"
binary="${dirname}/$(readlink "${binary}")"
fi
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
}
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures from the dSYM.
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=1
return
fi
stripped=""
for arch in $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
lipo -remove "$arch" -output "$binary" "$binary"
stripped="$stripped $arch"
fi
done
if [[ "$stripped" ]]; then
echo "Stripped $binary of architectures:$stripped"
fi
STRIP_BINARY_RETVAL=0
}
# Copies the bcsymbolmap files of a vendored framework
install_bcsymbolmap() {
local bcsymbolmap_path="$1"
local destination="${BUILT_PRODUCTS_DIR}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/SwiftEntryKit/SwiftEntryKit.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/SwiftEntryKit/SwiftEntryKit.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-umbrella.h
================================================
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_SwiftEntryKitDemoVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_SwiftEntryKitDemoVersionString[];
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.debug.xcconfig
================================================
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_LDFLAGS = $(inherited) -framework "SwiftEntryKit" -framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.modulemap
================================================
framework module Pods_SwiftEntryKitDemo {
umbrella header "Pods-SwiftEntryKitDemo-umbrella.h"
export *
module * { export * }
}
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.release.xcconfig
================================================
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_LDFLAGS = $(inherited) -framework "SwiftEntryKit" -framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-acknowledgements.markdown
================================================
# Acknowledgements
This application makes use of the following third party libraries:
## SwiftEntryKit
MIT License
Copyright (c) 2018 Daniel Huri, huri000@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-acknowledgements.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>MIT License
Copyright (c) 2018 Daniel Huri, huri000@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>SwiftEntryKit</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-dummy.m
================================================
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_SwiftEntryKitTests : NSObject
@end
@implementation PodsDummy_Pods_SwiftEntryKitTests
@end
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-frameworks.sh
================================================
#!/bin/sh
set -e
set -u
set -o pipefail
function on_error {
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
}
trap 'on_error $LINENO' ERR
if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then
# If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy
# frameworks to, so exit 0 (signalling the script phase was successful).
exit 0
fi
echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
BCSYMBOLMAP_DIR="BCSymbolMaps"
# This protects against multiple targets copying the same framework dependency at the same time. The solution
# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html
RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????")
# Copies and strips a vendored framework
install_framework()
{
if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then
# Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied
find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do
echo "Installing $f"
install_bcsymbolmap "$f" "$destination"
rm "$f"
done
rmdir "${source}/${BCSYMBOLMAP_DIR}"
fi
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}"
local basename
basename="$(basename -s .framework "$1")"
binary="${destination}/${basename}.framework/${basename}"
if ! [ -r "$binary" ]; then
binary="${destination}/${basename}"
elif [ -L "${binary}" ]; then
echo "Destination binary is symlinked..."
dirname="$(dirname "${binary}")"
binary="${dirname}/$(readlink "${binary}")"
fi
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# Embed linked Swift runtime libraries. No longer necessary as of Xcode 7.
if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then
local swift_runtime_libs
swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
fi
}
# Copies and strips a vendored dSYM
install_dsym() {
local source="$1"
warn_missing_arch=${2:-true}
if [ -r "$source" ]; then
# Copy the dSYM into the targets temp dir.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}"
local basename
basename="$(basename -s .dSYM "$source")"
binary_name="$(ls "$source/Contents/Resources/DWARF")"
binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}"
# Strip invalid architectures from the dSYM.
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary" "$warn_missing_arch"
fi
if [[ $STRIP_BINARY_RETVAL == 0 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}"
else
# The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing.
mkdir -p "${DWARF_DSYM_FOLDER_PATH}"
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM"
fi
fi
}
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
warn_missing_arch=${2:-true}
# Get architectures for current target binary
binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)"
# Intersect them with the architectures we are building for
intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)"
# If there are no archs supported by this binary then warn the user
if [[ -z "$intersected_archs" ]]; then
if [[ "$warn_missing_arch" == "true" ]]; then
echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)."
fi
STRIP_BINARY_RETVAL=1
return
fi
stripped=""
for arch in $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
lipo -remove "$arch" -output "$binary" "$binary"
stripped="$stripped $arch"
fi
done
if [[ "$stripped" ]]; then
echo "Stripped $binary of architectures:$stripped"
fi
STRIP_BINARY_RETVAL=0
}
# Copies the bcsymbolmap files of a vendored framework
install_bcsymbolmap() {
local bcsymbolmap_path="$1"
local destination="${BUILT_PRODUCTS_DIR}"
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"
}
# Signs a framework with the provided identity
code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'"
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
code_sign_cmd="$code_sign_cmd &"
fi
echo "$code_sign_cmd"
eval "$code_sign_cmd"
fi
}
if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/SwiftEntryKit/SwiftEntryKit.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/SwiftEntryKit/SwiftEntryKit.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-umbrella.h
================================================
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_SwiftEntryKitTestsVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_SwiftEntryKitTestsVersionString[];
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.debug.xcconfig
================================================
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_LDFLAGS = $(inherited) -framework "SwiftEntryKit" -framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.modulemap
================================================
framework module Pods_SwiftEntryKitTests {
umbrella header "Pods-SwiftEntryKitTests-umbrella.h"
export *
module * { export * }
}
================================================
FILE: Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.release.xcconfig
================================================
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit/SwiftEntryKit.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift "$(PLATFORM_DIR)/Developer/Library/Frameworks" '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_LDFLAGS = $(inherited) -framework "SwiftEntryKit" -framework "UIKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
PODS_ROOT = ${SRCROOT}/Pods
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>2.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-dummy.m
================================================
#import <Foundation/Foundation.h>
@interface PodsDummy_SwiftEntryKit : NSObject
@end
@implementation PodsDummy_SwiftEntryKit
@end
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-prefix.pch
================================================
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-umbrella.h
================================================
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double SwiftEntryKitVersionNumber;
FOUNDATION_EXPORT const unsigned char SwiftEntryKitVersionString[];
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit.debug.xcconfig
================================================
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_LDFLAGS = $(inherited) -framework "UIKit"
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}/../..
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit.modulemap
================================================
framework module SwiftEntryKit {
umbrella header "SwiftEntryKit-umbrella.h"
export *
module * { export * }
}
================================================
FILE: Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit.release.xcconfig
================================================
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryKit
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift
OTHER_LDFLAGS = $(inherited) -framework "UIKit"
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}/../..
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: Example/SwiftEntryKit/AppDelegate.swift
================================================
//
// AppDelegate.swift
// SwiftEntryKit
//
// Created by huri000@gmail.com on 04/21/2018.
// Copyright (c) 2018 huri000@gmail.com. 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
}
}
================================================
FILE: Example/SwiftEntryKit/Base.lproj/LaunchScreen.xib
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SwiftEntryKit" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<rect key="frame" x="20" y="140" width="441" height="43"/>
<fontDescription key="fontDescription" name="HelveticaNeue-Bold" family="Helvetica Neue" pointSize="36"/>
<color key="textColor" red="0.5411764979" green="0.58431375029999999" blue="0.61960786580000005" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="548" y="455"/>
</view>
</objects>
</document>
================================================
FILE: Example/SwiftEntryKit/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14845" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="GJh-t4-OgG">
<device id="retina4_7" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14799.2"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Presets-->
<scene sceneID="ufC-wZ-h7g">
<objects>
<viewController id="vXZ-lx-hvc" customClass="PresetsViewController" customModule="SwiftEntryKitDemo" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="jyV-Pf-zRb"/>
<viewControllerLayoutGuide type="bottom" id="2fi-mo-0CV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<navigationItem key="navigationItem" title="Presets" id="coN-y3-4zm">
<barButtonItem key="leftBarButtonItem" style="plain" id="SwH-fx-J00">
<segmentedControl key="customView" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="bar" selectedSegmentIndex="0" id="V1g-o8-2Y5">
<rect key="frame" x="16" y="5.5" width="113" height="33"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<segments>
<segment title="☀️" width="35"/>
<segment title="🌑" width="35"/>
<segment title="off" width="35"/>
</segments>
<connections>
<action selector="displayModeSegmentedControlValueChanged" destination="vXZ-lx-hvc" eventType="valueChanged" id="JXS-ao-eeP"/>
</connections>
</segmentedControl>
</barButtonItem>
<barButtonItem key="rightBarButtonItem" title="Playground" id="IX0-qK-RAk">
<connections>
<segue destination="hAa-pE-SAe" kind="show" id="WMZ-op-Cyq"/>
</connections>
</barButtonItem>
</navigationItem>
<connections>
<outlet property="displayModeSegmentedControl" destination="V1g-o8-2Y5" id="Xzk-pX-1aU"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="982" y="439"/>
</scene>
<!--Playground-->
<scene sceneID="6CQ-Ki-hYC">
<objects>
<viewController id="hAa-pE-SAe" customClass="PlaygroundViewController" customModule="SwiftEntryKitDemo" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="DSG-Fp-vjt"/>
<viewControllerLayoutGuide type="bottom" id="zT4-fx-ydB"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="pqE-zB-oBo">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</view>
<toolbarItems/>
<navigationItem key="navigationItem" title="Playground" id="uMb-FP-a2v">
<barButtonItem key="backBarButtonItem" title="Back" id="Zvk-BE-qQ1"/>
<barButtonItem key="rightBarButtonItem" systemItem="play" id="e2Q-Yz-Q9Z">
<connections>
<action selector="play" destination="hAa-pE-SAe" id="SjT-9Z-CQC"/>
</connections>
</barButtonItem>
</navigationItem>
<simulatedToolbarMetrics key="simulatedBottomBarMetrics"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="CjF-WE-dXu" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="2031" y="439"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="VAr-ql-LMB">
<objects>
<navigationController automaticallyAdjustsScrollViewInsets="NO" id="GJh-t4-OgG" sceneMemberID="viewController">
<toolbarItems/>
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="G5B-fH-GBM">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<nil name="viewControllers"/>
<connections>
<segue destination="vXZ-lx-hvc" kind="relationship" relationship="rootViewController" id="0Tf-h1-nwl"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="UDz-eg-cSm" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="136.80000000000001" y="791.15442278860576"/>
</scene>
</scenes>
</document>
================================================
FILE: Example/SwiftEntryKit/DemoAppInfo.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/AppIcon.appiconset/Contents.json
================================================
{
"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" : "ios-marketing",
"size" : "1024x1024",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/Contents.json
================================================
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/audience-band-blur-518389.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "audience-band-blur-518389.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/Contents.json
================================================
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/battery0.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "battery.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "battery@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "battery@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/battery1.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "battery (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "battery (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "battery (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/battery2.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "battery (2).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "battery (2)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "battery (2)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/battery3.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "battery (3).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "battery (3)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "battery (3)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/battery4.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "battery (4).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "battery (4)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "battery (4)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/battery/battery5.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "battery (5).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "battery (5)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "battery (5)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/Contents.json
================================================
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_bottom_float.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon1.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon1@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon1@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_bottom_popup.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon4.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon4@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon4@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_bottom_toast.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon3.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon3@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon3@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_sb_note.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon7.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon7@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon7@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_top_float.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon2.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon2@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon2@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_top_note.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon6.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon6@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon6@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_top_toast.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "icon5.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "icon5@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "icon5@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_apple.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "apple.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "apple@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "apple@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_books.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "books.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "books@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "books@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_coffee_light.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "coffee (2).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "coffee (2)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "coffee (2)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_done_all_dark_48pt.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_done_all_48pt.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_done_all_48pt_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_done_all_48pt_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_done_all_light_48pt.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_done_all_white_48pt.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_done_all_white_48pt_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_done_all_white_48pt_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
},
"properties" : {
"template-rendering-intent" : "template"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_fast_forward_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_fast_forward_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_fast_forward_white_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_fast_forward_white_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_fast_rewind_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_fast_rewind_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_fast_rewind_white_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_fast_rewind_white_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_info_outline.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_info_outline.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_info_outline_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_info_outline_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_lock_dark.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "key.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "key@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "key@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_lock_light.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "key (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "key (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "key (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_madi_profile.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "madlen.jpg",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_mail_dark.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "mail.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "mail@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "mail@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_mail_light.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "mail (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "mail (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "mail (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_pause_circle_outline_white_36pt.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_pause_circle_outline_white_36pt.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_pause_circle_outline_white_36pt_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_pause_circle_outline_white_36pt_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_pause_white.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_pause_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_pause_white_2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_pause_white_3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_phone_dark.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "phone-call.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "phone-call@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "phone-call@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_phone_light.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "phone-call (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "phone-call (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "phone-call (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_pizza.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "pizza.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "pizza@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "pizza@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_star_selected.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "star.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "star@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "star@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_star_unselected.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "star (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "star (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "star (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_success.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "success.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "success@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "success@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_user_dark.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "user (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "user (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "user (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_user_light.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "user (2).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "user (2)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "user (2)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/ic_wifi.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "wifi (3).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "wifi (3)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "wifi (3)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Images.xcassets/paper-plane-light.imageset/Contents.json
================================================
{
"images" : [
{
"idiom" : "universal",
"filename" : "paper-plane (1).png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "paper-plane (1)@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "paper-plane (1)@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: Example/SwiftEntryKit/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/AnimationSelectionTableViewCell.swift
================================================
//
// AnimationSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/26/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import SwiftEntryKit
final class AnimationSelectionTableViewCell: SelectionTableViewCell {
enum Action: String {
case entrance
case exit
case pop
var isOut: Bool {
return Set([.exit, .pop]).contains(self)
}
}
var action: Action = .entrance
var animation: EKAttributes.Animation {
set {
switch action {
case .entrance:
attributesWrapper.attributes.entranceAnimation = newValue
case .exit:
attributesWrapper.attributes.exitAnimation = newValue
case .pop:
attributesWrapper.attributes.popBehavior = EKAttributes.PopBehavior.animated(animation: newValue)
}
}
get {
switch action {
case .entrance:
return attributesWrapper.attributes.entranceAnimation
case .exit:
return attributesWrapper.attributes.exitAnimation
case .pop:
if case EKAttributes.PopBehavior.animated(animation: let animation) = attributesWrapper.attributes.popBehavior {
return animation
} else {
fatalError()
}
}
}
}
func configure(attributesWrapper: EntryAttributeWrapper, action: Action) {
self.action = action
configure(attributesWrapper: attributesWrapper)
}
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "\(action.rawValue.capitalized) Animation"
descriptionValue = "Describes the \(action.rawValue) animation of the entry"
insertSegments(by: ["Translate", "Scale", "Fade"])
selectSegment()
}
private func selectSegment() {
if animation.containsTranslation {
segmentedControl.selectedSegmentIndex = 0
} else if animation.containsScale {
segmentedControl.selectedSegmentIndex = 1
} else if animation.containsFade {
segmentedControl.selectedSegmentIndex = 2
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
animation = .translation
case 1 where action.isOut:
animation = .init(scale: .init(from: 1, to: 0, duration: 0.3))
case 1:
animation = .init(scale: .init(from: 0, to: 1, duration: 0.3))
case 2 where action.isOut:
animation = .init(fade: .init(from: 1, to: 0, duration: 0.3))
case 2:
animation = .init(fade: .init(from: 0, to: 1, duration: 0.3))
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/BackgroundStyleSelectionTableViewCell.swift
================================================
//
// ScreenBackgroundStyleSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/25/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
import SwiftEntryKit
final class BackgroundStyleSelectionTableViewCell: SelectionTableViewCell {
private var focus: Focus = .entry
private var backgroundStyle: EKAttributes.BackgroundStyle {
get {
switch focus {
case .entry:
return attributesWrapper.attributes.entryBackground
case .screen:
return attributesWrapper.attributes.screenBackground
}
}
set {
switch focus {
case .entry:
attributesWrapper.attributes.entryBackground = newValue
case .screen:
attributesWrapper.attributes.screenBackground = newValue
}
}
}
func configure(attributesWrapper: EntryAttributeWrapper, focus: Focus) {
self.focus = focus
configure(attributesWrapper: attributesWrapper)
}
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "\(focus.rawValue.capitalized) Background Style"
descriptionValue = "The style of the \(focus.rawValue)'s background can be one of the following options"
insertSegments(by: ["Clear", "Blur", "Gradient", "Color"])
selectSegment()
}
private func selectSegment() {
switch backgroundStyle {
case .clear:
segmentedControl.selectedSegmentIndex = 0
case .visualEffect(style: _):
segmentedControl.selectedSegmentIndex = 1
case .gradient(gradient: _):
segmentedControl.selectedSegmentIndex = 2
case .color(color: _):
segmentedControl.selectedSegmentIndex = 3
default:
// TODO: Image isn't handled yet
break
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
backgroundStyle = .clear
case 1:
backgroundStyle = .visualEffect(style: .standard)
case 2:
let gradient = EKAttributes.BackgroundStyle.Gradient(
colors: [Color.BlueGray.c100, Color.BlueGray.c300],
startPoint: .zero,
endPoint: CGPoint(x: 1, y: 1)
)
backgroundStyle = .gradient(gradient: gradient)
case 3:
let color: EKColor
switch focus {
case .entry:
color = .amber
case .screen:
color = EKColor.black.with(alpha: 0.5)
}
backgroundStyle = .color(color: color)
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/BorderSelectionTableViewCell.swift
================================================
//
// BorderSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/28/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
final class BorderSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Border"
descriptionValue = "Add a border to the entry"
insertSegments(by: ["Off", "On"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.border {
case .none:
segmentedControl.selectedSegmentIndex = 0
case .value(color: _, width: _):
segmentedControl.selectedSegmentIndex = 1
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.border = .none
case 1:
attributesWrapper.attributes.border = .value(color: UIColor.black, width: 0.5)
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/DisplayDurationSelectionTableViewCell.swift
================================================
//
// VisibleDurationTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/24/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
final class DisplayDurationSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Display Duration"
descriptionValue = "How long the entry is displayed"
insertSegments(by: ["2 Seconds", "4 Seconds", "infinite"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.displayDuration {
case 2:
segmentedControl.selectedSegmentIndex = 0
case 4:
segmentedControl.selectedSegmentIndex = 1
case .infinity:
segmentedControl.selectedSegmentIndex = 2
default:
break
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.displayDuration = 2
case 1:
attributesWrapper.attributes.displayDuration = 4
case 2:
attributesWrapper.attributes.displayDuration = .infinity
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/HapticFeedbackSelectionTableViewCell.swift
================================================
//
// NotificationFeedbackSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/25/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import Foundation
final class HapticFeedbackSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Notification Haptic Feedback"
descriptionValue = "Generate a haptic feedback once the entry shows"
insertSegments(by: ["Off", "Success", "Warning", "Error"])
selectSegment()
}
private func selectSegment() {
switch attributes.hapticFeedbackType {
case .none:
segmentedControl.selectedSegmentIndex = 0
case .success:
segmentedControl.selectedSegmentIndex = 1
case .warning:
segmentedControl.selectedSegmentIndex = 2
case .error:
segmentedControl.selectedSegmentIndex = 3
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.hapticFeedbackType = .none
case 1:
attributesWrapper.attributes.hapticFeedbackType = .success
case 2:
attributesWrapper.attributes.hapticFeedbackType = .warning
case 3:
attributesWrapper.attributes.hapticFeedbackType = .error
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/HeightSelectionTableViewCell.swift
================================================
//
// HeightSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/26/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
final class HeightSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Height"
descriptionValue = "Describes the entry's height inside the screen. It can be a constant, receive intrinsic height or even get a screen height ratio"
insertSegments(by: ["Intrinsic", "100pts", "50% Ratio"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.positionConstraints.size.height {
case .intrinsic:
segmentedControl.selectedSegmentIndex = 0
case .constant(value: 100):
segmentedControl.selectedSegmentIndex = 1
case .ratio(value: 0.5):
segmentedControl.selectedSegmentIndex = 2
default:
break
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.positionConstraints.size.height = .intrinsic
case 1:
attributesWrapper.attributes.positionConstraints.size.height = .constant(value: 100)
case 2:
attributesWrapper.attributes.positionConstraints.size.height = .ratio(value: 0.5)
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/MaxWidthSelectionTableViewCell.swift
================================================
//
// MaxWidthSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/26/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
final class MaxWidthSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Max Width"
descriptionValue = "Describes the entry's maximum width limitation. It can stretch to the width of the screen, get screen edge less 40pts, or be 90% of the screen width"
insertSegments(by: ["Stretch", "Min Edge", "90% Screen"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.positionConstraints.maxSize.width {
case .offset(value: _):
segmentedControl.selectedSegmentIndex = 0
case .constant(value: _):
segmentedControl.selectedSegmentIndex = 1
case .ratio(value: 0.9):
segmentedControl.selectedSegmentIndex = 2
default:
break
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.positionConstraints.maxSize.width = .offset(value: 0)
case 1:
attributesWrapper.attributes.positionConstraints.maxSize.width = .constant(value: UIScreen.main.minEdge - 40)
case 2:
attributesWrapper.attributes.positionConstraints.maxSize.width = .ratio(value: 0.9)
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/PositionSelectionTableViewCell.swift
================================================
//
// LocationSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/24/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
import SwiftEntryKit
final class PositionSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Position"
descriptionValue = "The position of the entry inside the screen"
insertSegments(by: ["Top", "Bottom", "Center"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.position {
case .top:
segmentedControl.selectedSegmentIndex = 0
case .bottom:
segmentedControl.selectedSegmentIndex = 1
case .center:
segmentedControl.selectedSegmentIndex = 2
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.position = .top
case 1:
attributesWrapper.attributes.position = .bottom
case 2:
attributesWrapper.attributes.position = .center
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/PrioritySelectionTableViewCell.swift
================================================
//
// PrioritySelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/29/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
final class PrioritySelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Display Priority"
descriptionValue = "The priority of the entry. *Max* overrides any other entry. *Normal* overrides only other normal priority entry"
insertSegments(by: ["Normal", "High", "Max"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.precedence.priority {
case .normal:
segmentedControl.selectedSegmentIndex = 0
case .high:
segmentedControl.selectedSegmentIndex = 1
case .max:
segmentedControl.selectedSegmentIndex = 2
default:
break
}
}
@objc override func segmentChanged() {
switch segmentedControl.selectedSegmentIndex {
case 0:
attributesWrapper.attributes.precedence.priority = .normal
case 1:
attributesWrapper.attributes.precedence.priority = .high
case 2:
attributesWrapper.attributes.precedence.priority = .max
default:
break
}
}
}
================================================
FILE: Example/SwiftEntryKit/Playground/Cells/RoundCornersSelectionTableViewCell.swift
================================================
//
// RoundCornersSelectionTableViewCell.swift
// SwiftEntryKit_Example
//
// Created by Daniel Huri on 4/25/18.
// Copyright (c) 2018 huri000@gmail.com. All rights reserved.
//
import UIKit
import SwiftEntryKit
final class RoundCornersSelectionTableViewCell: SelectionTableViewCell {
override func configure(attributesWrapper: EntryAttributeWrapper) {
super.configure(attributesWrapper: attributesWrapper)
titleValue = "Round Corners"
descriptionValue = "The entry's corners can be rounded in one of the following manner"
insertSegments(by: ["None", "Top", "Bottom", "All"])
selectSegment()
}
private func selectSegment() {
switch attributesWrapper.attributes.roundCorners {
case .none:
segmentedControl.selectedSegmentIndex = 0
case .top(radius: _):
gitextract_o_kfc_hq/ ├── .codecov.yml ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── CREDITS.md ├── Example/ │ ├── Podfile │ ├── Pods/ │ │ ├── Local Podspecs/ │ │ │ └── SwiftEntryKit.podspec.json │ │ ├── Pods.xcodeproj/ │ │ │ └── project.pbxproj │ │ └── Target Support Files/ │ │ ├── Pods-SwiftEntryKitDemo/ │ │ │ ├── Pods-SwiftEntryKitDemo-Info.plist │ │ │ ├── Pods-SwiftEntryKitDemo-acknowledgements.markdown │ │ │ ├── Pods-SwiftEntryKitDemo-acknowledgements.plist │ │ │ ├── Pods-SwiftEntryKitDemo-dummy.m │ │ │ ├── Pods-SwiftEntryKitDemo-frameworks.sh │ │ │ ├── Pods-SwiftEntryKitDemo-umbrella.h │ │ │ ├── Pods-SwiftEntryKitDemo.debug.xcconfig │ │ │ ├── Pods-SwiftEntryKitDemo.modulemap │ │ │ └── Pods-SwiftEntryKitDemo.release.xcconfig │ │ ├── Pods-SwiftEntryKitTests/ │ │ │ ├── Pods-SwiftEntryKitTests-Info.plist │ │ │ ├── Pods-SwiftEntryKitTests-acknowledgements.markdown │ │ │ ├── Pods-SwiftEntryKitTests-acknowledgements.plist │ │ │ ├── Pods-SwiftEntryKitTests-dummy.m │ │ │ ├── Pods-SwiftEntryKitTests-frameworks.sh │ │ │ ├── Pods-SwiftEntryKitTests-umbrella.h │ │ │ ├── Pods-SwiftEntryKitTests.debug.xcconfig │ │ │ ├── Pods-SwiftEntryKitTests.modulemap │ │ │ └── Pods-SwiftEntryKitTests.release.xcconfig │ │ └── SwiftEntryKit/ │ │ ├── SwiftEntryKit-Info.plist │ │ ├── SwiftEntryKit-dummy.m │ │ ├── SwiftEntryKit-prefix.pch │ │ ├── SwiftEntryKit-umbrella.h │ │ ├── SwiftEntryKit.debug.xcconfig │ │ ├── SwiftEntryKit.modulemap │ │ └── SwiftEntryKit.release.xcconfig │ ├── SwiftEntryKit/ │ │ ├── AppDelegate.swift │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.xib │ │ │ └── Main.storyboard │ │ ├── DemoAppInfo.plist │ │ ├── Images.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── audience-band-blur-518389.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── battery/ │ │ │ │ ├── Contents.json │ │ │ │ ├── battery0.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── battery1.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── battery2.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── battery3.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── battery4.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── battery5.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── iPhone Icons/ │ │ │ │ ├── Contents.json │ │ │ │ ├── ic_bottom_float.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_bottom_popup.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_bottom_toast.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_sb_note.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_top_float.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── ic_top_note.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── ic_top_toast.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_apple.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_books.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_coffee_light.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_done_all_dark_48pt.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_done_all_light_48pt.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_fast_forward_white.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_fast_rewind_white.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_info_outline.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_lock_dark.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_lock_light.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_madi_profile.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_mail_dark.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_mail_light.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_pause_circle_outline_white_36pt.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_pause_white.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_phone_dark.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_phone_light.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_pizza.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_star_selected.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_star_unselected.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_success.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_user_dark.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_user_light.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── ic_wifi.imageset/ │ │ │ │ └── Contents.json │ │ │ └── paper-plane-light.imageset/ │ │ │ └── Contents.json │ │ ├── Info.plist │ │ ├── Playground/ │ │ │ ├── Cells/ │ │ │ │ ├── AnimationSelectionTableViewCell.swift │ │ │ │ ├── BackgroundStyleSelectionTableViewCell.swift │ │ │ │ ├── BorderSelectionTableViewCell.swift │ │ │ │ ├── DisplayDurationSelectionTableViewCell.swift │ │ │ │ ├── HapticFeedbackSelectionTableViewCell.swift │ │ │ │ ├── HeightSelectionTableViewCell.swift │ │ │ │ ├── MaxWidthSelectionTableViewCell.swift │ │ │ │ ├── PositionSelectionTableViewCell.swift │ │ │ │ ├── PrioritySelectionTableViewCell.swift │ │ │ │ ├── RoundCornersSelectionTableViewCell.swift │ │ │ │ ├── SafeAreaSelectionTableViewCell.swift │ │ │ │ ├── ScrollSelectionTableViewCell.swift │ │ │ │ ├── SelectionHeaderView.swift │ │ │ │ ├── SelectionTableViewCell.swift │ │ │ │ ├── ShadowSelectionTableViewCell.swift │ │ │ │ ├── UserInteractionSelectionTableViewCell.swift │ │ │ │ ├── WidthSelectionTableViewCell.swift │ │ │ │ └── WindowLevelSelectionTableViewCell.swift │ │ │ ├── EntryAttributeWrapper.swift │ │ │ └── PlaygroundViewController.swift │ │ ├── Presets/ │ │ │ ├── FormFieldPresetFactory.swift │ │ │ ├── PresetTableViewCell.swift │ │ │ ├── PresetsData/ │ │ │ │ ├── PresetDescription.swift │ │ │ │ └── PresetsDataSource.swift │ │ │ ├── PresetsViewController.swift │ │ │ └── Samples/ │ │ │ ├── ExampleNavigationController/ │ │ │ │ ├── ContactsViewController.swift │ │ │ │ ├── ContactsViewController.xib │ │ │ │ ├── DescriptionViewController.swift │ │ │ │ ├── DescriptionViewController.xib │ │ │ │ └── ExampleNavigationViewController.swift │ │ │ ├── ExampleViewController/ │ │ │ │ └── ExampleViewController.swift │ │ │ └── NibExampleView/ │ │ │ ├── NibExampleView.swift │ │ │ └── NibExampleView.xib │ │ ├── SwiftEntryKit.h │ │ └── Utils/ │ │ ├── CGRect+Utils.swift │ │ ├── Font.swift │ │ ├── Object+ClassName.swift │ │ ├── UIColor+Utils.swift │ │ ├── UIScreen+Utils.swift │ │ └── UIView+Nib.swift │ ├── SwiftEntryKit.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── SwiftEntryKit.xcscheme │ │ └── SwiftEntryKitDemo.xcscheme │ ├── SwiftEntryKit.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── Tests/ │ ├── AttributesCreationTest.swift │ └── Info.plist ├── LICENSE ├── PULL_REQUEST_TEMPLATE.md ├── Package.swift ├── README.md ├── Source/ │ ├── Extensions/ │ │ ├── QuickLayout/ │ │ │ ├── QLCompatibility.swift │ │ │ ├── QLUtils.swift │ │ │ ├── UIView+QLContentWrap.swift │ │ │ ├── UIView+QuickLayout.swift │ │ │ └── UIViewArray+QuickLayout.swift │ │ ├── UIApplication+EKAppearance.swift │ │ ├── UIColor+Utils.swift │ │ ├── UIEdgeInsets+Utils.swift │ │ ├── UIRectCorner+Short.swift │ │ ├── UIView+Shadow.swift │ │ └── UIView+Utils.swift │ ├── Infra/ │ │ ├── EKBackgroundView.swift │ │ ├── EKContentView.swift │ │ ├── EKEntryView.swift │ │ ├── EKRootViewController.swift │ │ ├── EKStyleView.swift │ │ ├── EKWindow.swift │ │ ├── EKWindowProvider.swift │ │ ├── EKWrapperView.swift │ │ └── EntryCachingHeuristic.swift │ ├── MessageViews/ │ │ ├── EKAlertMessageView.swift │ │ ├── EKFormMessageView.swift │ │ ├── EKMessageContentView.swift │ │ ├── EKNotificationMessageView.swift │ │ ├── EKPopUpMessageView.swift │ │ ├── EKRatingMessageView.swift │ │ ├── EKSimpleMessageView.swift │ │ ├── MessagesUtils/ │ │ │ ├── EKButtonBarView.swift │ │ │ ├── EKButtonView.swift │ │ │ ├── EKRatingSymbolView.swift │ │ │ ├── EKRatingSymbolsContainerView.swift │ │ │ ├── EKTextField.swift │ │ │ └── EntryAppearanceDescriptor.swift │ │ └── Notes/ │ │ ├── EKAccessoryNoteMessageView.swift │ │ ├── EKImageNoteMessageView.swift │ │ ├── EKNoteMessageView.swift │ │ ├── EKProcessingNoteMessageView.swift │ │ └── EKXStatusBarMessageView.swift │ ├── Model/ │ │ ├── EKAlertMessage.swift │ │ ├── EKColor.swift │ │ ├── EKNotificationMessage.swift │ │ ├── EKPopUpMessage.swift │ │ ├── EKProperty.swift │ │ ├── EKRatingMessage.swift │ │ ├── EKSimpleMessage.swift │ │ └── EntryAttributes/ │ │ ├── EKAttributes+Animation.swift │ │ ├── EKAttributes+BackgroundStyle.swift │ │ ├── EKAttributes+DisplayMode.swift │ │ ├── EKAttributes+Duration.swift │ │ ├── EKAttributes+FrameStyle.swift │ │ ├── EKAttributes+HapticFeedback.swift │ │ ├── EKAttributes+LifecycleActions.swift │ │ ├── EKAttributes+PopBehavior.swift │ │ ├── EKAttributes+Position.swift │ │ ├── EKAttributes+PositionConstraints.swift │ │ ├── EKAttributes+Precedence.swift │ │ ├── EKAttributes+Presets.swift │ │ ├── EKAttributes+Scroll.swift │ │ ├── EKAttributes+Shadow.swift │ │ ├── EKAttributes+StatusBar.swift │ │ ├── EKAttributes+UserInteraction.swift │ │ ├── EKAttributes+Validations.swift │ │ ├── EKAttributes+WindowLevel.swift │ │ └── EKAttributes.swift │ ├── SwiftEntryKit.swift │ └── Utils/ │ ├── GradientView.swift │ ├── HapticFeedbackGenerator.swift │ └── UIView+Responder.swift └── SwiftEntryKit.podspec
Condensed preview — 209 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (754K chars).
[
{
"path": ".codecov.yml",
"chars": 278,
"preview": "coverage:\n status:\n project: off\n patch: off\n ignore:\n - cmake-debug-build/*\n - Example/*\n - Scripts/*\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 782,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\n\n---\n\n**Describe the bug**\nA clear and concise descriptio"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 560,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\n\n---\n\n**Is your feature request related to a problem? "
},
{
"path": ".gitignore",
"chars": 573,
"preview": "# OS X\n.DS_Store\n\n# Xcode\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.pers"
},
{
"path": ".gitmodules",
"chars": 0,
"preview": ""
},
{
"path": ".travis.yml",
"chars": 663,
"preview": "language: objective-c\nosx_image: xcode12.5\ncache: cocoapods\npodfile: Example/Podfile\n\nenv:\n global:\n - WORKSPACE=Exa"
},
{
"path": "CHANGELOG.md",
"chars": 16693,
"preview": "# Change Log\nAny notable changes to this project will be documented in this file.\n\n## 2.0.0\n\n- Embed QuickLayout's sourc"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3214,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
},
{
"path": "CONTRIBUTING.md",
"chars": 1342,
"preview": "# Contributing\n\nWhen contributing to this repository, please first discuss the change you wish to make via issue before "
},
{
"path": "CREDITS.md",
"chars": 1394,
"preview": "# CREDITS\n\n## Attributions - Example Project Icons\n\nPlease be aware that any use of the icons included in the project re"
},
{
"path": "Example/Podfile",
"chars": 240,
"preview": "target 'SwiftEntryKitDemo' do\n platform :ios, '9.0'\n use_frameworks!\n pod 'SwiftEntryKit', :path => '../'\nend\n\n"
},
{
"path": "Example/Pods/Local Podspecs/SwiftEntryKit.podspec.json",
"chars": 878,
"preview": "{\n \"name\": \"SwiftEntryKit\",\n \"version\": \"2.0.0\",\n \"summary\": \"A simple banner and pop-up displayer for iOS. Written i"
},
{
"path": "Example/Pods/Pods.xcodeproj/project.pbxproj",
"chars": 76839,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-Info.plist",
"chars": 828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-acknowledgements.markdown",
"chars": 1240,
"preview": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## SwiftEntryKit\n\nMIT License\n\nCo"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-acknowledgements.plist",
"chars": 2113,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-dummy.m",
"chars": 148,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_SwiftEntryKitDemo : NSObject\n@end\n@implementation PodsDummy_"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-frameworks.sh",
"chars": 8513,
"preview": "#!/bin/sh\nset -e\nset -u\nset -o pipefail\n\nfunction on_error {\n echo \"$(realpath -mq \"${0}\"):$1: error: Unexpected failur"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo-umbrella.h",
"chars": 336,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPO"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.debug.xcconfig",
"chars": 1012,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES\nCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO\nFRAMEWORK_SEARCH_PATHS = "
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.modulemap",
"chars": 134,
"preview": "framework module Pods_SwiftEntryKitDemo {\n umbrella header \"Pods-SwiftEntryKitDemo-umbrella.h\"\n\n export *\n module * {"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitDemo/Pods-SwiftEntryKitDemo.release.xcconfig",
"chars": 1012,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES\nCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO\nFRAMEWORK_SEARCH_PATHS = "
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-Info.plist",
"chars": 828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-acknowledgements.markdown",
"chars": 1240,
"preview": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## SwiftEntryKit\n\nMIT License\n\nCo"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-acknowledgements.plist",
"chars": 2113,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-dummy.m",
"chars": 150,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_SwiftEntryKitTests : NSObject\n@end\n@implementation PodsDummy"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-frameworks.sh",
"chars": 8513,
"preview": "#!/bin/sh\nset -e\nset -u\nset -o pipefail\n\nfunction on_error {\n echo \"$(realpath -mq \"${0}\"):$1: error: Unexpected failur"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests-umbrella.h",
"chars": 338,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPO"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.debug.xcconfig",
"chars": 1059,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES\nCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO\nFRAMEWORK_SEARCH_PATHS = "
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.modulemap",
"chars": 136,
"preview": "framework module Pods_SwiftEntryKitTests {\n umbrella header \"Pods-SwiftEntryKitTests-umbrella.h\"\n\n export *\n module *"
},
{
"path": "Example/Pods/Target Support Files/Pods-SwiftEntryKitTests/Pods-SwiftEntryKitTests.release.xcconfig",
"chars": 1059,
"preview": "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES\nCLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO\nFRAMEWORK_SEARCH_PATHS = "
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-Info.plist",
"chars": 828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-dummy.m",
"chars": 130,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_SwiftEntryKit : NSObject\n@end\n@implementation PodsDummy_SwiftEntr"
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-prefix.pch",
"chars": 195,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPO"
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit-umbrella.h",
"chars": 318,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPO"
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit.debug.xcconfig",
"chars": 796,
"preview": "CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO\nCONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryK"
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit.modulemap",
"chars": 116,
"preview": "framework module SwiftEntryKit {\n umbrella header \"SwiftEntryKit-umbrella.h\"\n\n export *\n module * { export * }\n}\n"
},
{
"path": "Example/Pods/Target Support Files/SwiftEntryKit/SwiftEntryKit.release.xcconfig",
"chars": 796,
"preview": "CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO\nCONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftEntryK"
},
{
"path": "Example/SwiftEntryKit/AppDelegate.swift",
"chars": 523,
"preview": "//\n// AppDelegate.swift\n// SwiftEntryKit\n//\n// Created by huri000@gmail.com on 04/21/2018.\n// Copyright (c) 2018 hur"
},
{
"path": "Example/SwiftEntryKit/Base.lproj/LaunchScreen.xib",
"chars": 2904,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Example/SwiftEntryKit/Base.lproj/Main.storyboard",
"chars": 6692,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "Example/SwiftEntryKit/DemoAppInfo.plist",
"chars": 1328,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/AppIcon.appiconset/Contents.json",
"chars": 849,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"size\" : \"20x20\",\n \"scale\" : \"2x\"\n },\n {\n \"idiom\""
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/audience-band-blur-518389.imageset/Contents.json",
"chars": 322,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"audience-band-blur-518389.png\",\n \"scale\" : "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/battery0.imageset/Contents.json",
"chars": 447,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"battery.png\",\n \"scale\" : \"1x\"\n },\n {\n"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/battery1.imageset/Contents.json",
"chars": 459,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"battery (1).png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/battery2.imageset/Contents.json",
"chars": 459,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"battery (2).png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/battery3.imageset/Contents.json",
"chars": 459,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"battery (3).png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/battery4.imageset/Contents.json",
"chars": 459,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"battery (4).png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/battery/battery5.imageset/Contents.json",
"chars": 459,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"battery (5).png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/Contents.json",
"chars": 62,
"preview": "{\n \"info\" : {\n \"version\" : 1,\n \"author\" : \"xcode\"\n }\n}"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_bottom_float.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon1.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_bottom_popup.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon4.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_bottom_toast.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon3.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_sb_note.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon7.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_top_float.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon2.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_top_note.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon6.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/iPhone Icons/ic_top_toast.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"icon5.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_apple.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"apple.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_books.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"books.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_coffee_light.imageset/Contents.json",
"chars": 387,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"coffee (2).png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_done_all_dark_48pt.imageset/Contents.json",
"chars": 405,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_done_all_48pt.png\",\n \"scale\" : \"1x\"\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_done_all_light_48pt.imageset/Contents.json",
"chars": 492,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_done_all_white_48pt.png\",\n \"scale\" : \"1x"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_fast_forward_white.imageset/Contents.json",
"chars": 420,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_fast_forward_white.png\",\n \"scale\" : \"1x\""
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_fast_rewind_white.imageset/Contents.json",
"chars": 417,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_fast_rewind_white.png\",\n \"scale\" : \"1x\"\n"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_info_outline.imageset/Contents.json",
"chars": 402,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_info_outline.png\",\n \"scale\" : \"1x\"\n }"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_lock_dark.imageset/Contents.json",
"chars": 366,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"key.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_lock_light.imageset/Contents.json",
"chars": 378,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"key (1).png\",\n \"scale\" : \"1x\"\n },\n {\n"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_madi_profile.imageset/Contents.json",
"chars": 303,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"madlen.jpg\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_mail_dark.imageset/Contents.json",
"chars": 369,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"mail.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_mail_light.imageset/Contents.json",
"chars": 381,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"mail (1).png\",\n \"scale\" : \"1x\"\n },\n {"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_pause_circle_outline_white_36pt.imageset/Contents.json",
"chars": 459,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_pause_circle_outline_white_36pt.png\",\n \""
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_pause_white.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"ic_pause_white.png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_phone_dark.imageset/Contents.json",
"chars": 387,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"phone-call.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_phone_light.imageset/Contents.json",
"chars": 399,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"phone-call (1).png\",\n \"scale\" : \"1x\"\n },"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_pizza.imageset/Contents.json",
"chars": 372,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"pizza.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_star_selected.imageset/Contents.json",
"chars": 369,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"star.png\",\n \"scale\" : \"1x\"\n },\n {\n "
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_star_unselected.imageset/Contents.json",
"chars": 381,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"star (1).png\",\n \"scale\" : \"1x\"\n },\n {"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_success.imageset/Contents.json",
"chars": 378,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"success.png\",\n \"scale\" : \"1x\"\n },\n {\n"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_user_dark.imageset/Contents.json",
"chars": 381,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"user (1).png\",\n \"scale\" : \"1x\"\n },\n {"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_user_light.imageset/Contents.json",
"chars": 381,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"user (2).png\",\n \"scale\" : \"1x\"\n },\n {"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/ic_wifi.imageset/Contents.json",
"chars": 381,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"wifi (3).png\",\n \"scale\" : \"1x\"\n },\n {"
},
{
"path": "Example/SwiftEntryKit/Images.xcassets/paper-plane-light.imageset/Contents.json",
"chars": 402,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"paper-plane (1).png\",\n \"scale\" : \"1x\"\n }"
},
{
"path": "Example/SwiftEntryKit/Info.plist",
"chars": 774,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/AnimationSelectionTableViewCell.swift",
"chars": 2986,
"preview": "//\n// AnimationSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/26/18.\n// Cop"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/BackgroundStyleSelectionTableViewCell.swift",
"chars": 2906,
"preview": "//\n// ScreenBackgroundStyleSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/BorderSelectionTableViewCell.swift",
"chars": 1163,
"preview": "//\n// BorderSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/28/18.\n// Copyri"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/DisplayDurationSelectionTableViewCell.swift",
"chars": 1370,
"preview": "//\n// VisibleDurationTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/24/18.\n// Copyri"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/HapticFeedbackSelectionTableViewCell.swift",
"chars": 1555,
"preview": "//\n// NotificationFeedbackSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/HeightSelectionTableViewCell.swift",
"chars": 1581,
"preview": "//\n// HeightSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/26/18.\n// Copyri"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/MaxWidthSelectionTableViewCell.swift",
"chars": 1652,
"preview": "//\n// MaxWidthSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/26/18.\n// Copy"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/PositionSelectionTableViewCell.swift",
"chars": 1330,
"preview": "//\n// LocationSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/24/18.\n// Copy"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/PrioritySelectionTableViewCell.swift",
"chars": 1454,
"preview": "//\n// PrioritySelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/29/18.\n// Copy"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/RoundCornersSelectionTableViewCell.swift",
"chars": 1601,
"preview": "//\n// RoundCornersSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// "
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/SafeAreaSelectionTableViewCell.swift",
"chars": 1582,
"preview": "//\n// SafeAreaSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copy"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/ScrollSelectionTableViewCell.swift",
"chars": 1415,
"preview": "//\n// ScrollSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copyri"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/SelectionHeaderView.swift",
"chars": 1424,
"preview": "//\n// SelectionHeaderView.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/26/18.\n// Copyright (c) 2"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/SelectionTableViewCell.swift",
"chars": 4985,
"preview": "//\n// SelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/23/18.\n// Copyright (c"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/ShadowSelectionTableViewCell.swift",
"chars": 1292,
"preview": "//\n// ShadowSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copyri"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/UserInteractionSelectionTableViewCell.swift",
"chars": 2500,
"preview": "//\n// UserInteractionSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n/"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/WidthSelectionTableViewCell.swift",
"chars": 1653,
"preview": "//\n// WidthSelectionTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copyrig"
},
{
"path": "Example/SwiftEntryKit/Playground/Cells/WindowLevelSelectionTableViewCell.swift",
"chars": 1400,
"preview": "//\n// WindowLevelTableViewCell.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/24/18.\n// Copyright "
},
{
"path": "Example/SwiftEntryKit/Playground/EntryAttributeWrapper.swift",
"chars": 342,
"preview": "//\n// EntryAttributeWrapper.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/23/18.\n// Copyright (c)"
},
{
"path": "Example/SwiftEntryKit/Playground/PlaygroundViewController.swift",
"chars": 8245,
"preview": "//\n// PlaygroundViewController.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright "
},
{
"path": "Example/SwiftEntryKit/Presets/FormFieldPresetFactory.swift",
"chars": 6987,
"preview": "//\n// FormFieldPresetFactory.swift\n// SwiftEntryKitDemo\n//\n// Created by Daniel Huri on 5/18/18.\n// Copyright (c) 20"
},
{
"path": "Example/SwiftEntryKit/Presets/PresetTableViewCell.swift",
"chars": 3337,
"preview": "//\n// PresetTableViewCell.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 04/14/2018.\n// Copyright (c) 2018 h"
},
{
"path": "Example/SwiftEntryKit/Presets/PresetsData/PresetDescription.swift",
"chars": 611,
"preview": "//\n// PresetDescription.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/24/18.\n// Copyright (c) 201"
},
{
"path": "Example/SwiftEntryKit/Presets/PresetsData/PresetsDataSource.swift",
"chars": 39654,
"preview": "//\n// PresetsDataSource.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/27/18.\n// Copyright (c) 201"
},
{
"path": "Example/SwiftEntryKit/Presets/PresetsViewController.swift",
"chars": 39726,
"preview": "//\n// PresetsViewController.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 04/14/2018.\n// Copyright (c) 2018"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/ExampleNavigationController/ContactsViewController.swift",
"chars": 1648,
"preview": "//\n// EmbeddedViewController.swift\n// SwiftEntryKitDemo\n//\n// Created by Daniel Huri on 3/15/19.\n// Copyright © 2019"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/ExampleNavigationController/ContactsViewController.xib",
"chars": 3277,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/ExampleNavigationController/DescriptionViewController.swift",
"chars": 1191,
"preview": "//\n// DescriptionViewController.swift\n// SwiftEntryKitDemo\n//\n// Created by Daniel Huri on 3/15/19.\n// Copyright © 2"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/ExampleNavigationController/DescriptionViewController.xib",
"chars": 4557,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/ExampleNavigationController/ExampleNavigationViewController.swift",
"chars": 472,
"preview": "//\n// ExampleNavigationViewController.swift\n// SwiftEntryKitDemo\n//\n// Created by Daniel Huri on 3/15/19.\n// Copyrig"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/ExampleViewController/ExampleViewController.swift",
"chars": 559,
"preview": "//\n// ExampleViewController.swift\n// SwiftEntryKitDemo\n//\n// Created by Daniel Huri on 6/8/18.\n// Copyright © 2018 C"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/NibExampleView/NibExampleView.swift",
"chars": 508,
"preview": "//\n// NibExampleView.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copyright (c) 2018 h"
},
{
"path": "Example/SwiftEntryKit/Presets/Samples/NibExampleView/NibExampleView.xib",
"chars": 9526,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
},
{
"path": "Example/SwiftEntryKit/SwiftEntryKit.h",
"chars": 531,
"preview": "//\n// SwiftEntryKit.h\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/23/18.\n// Copyright (c) 2018 huri000@gmail."
},
{
"path": "Example/SwiftEntryKit/Utils/CGRect+Utils.swift",
"chars": 257,
"preview": "//\n// CGRect.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/28/18.\n// Copyright (c) 2018 huri000@g"
},
{
"path": "Example/SwiftEntryKit/Utils/Font.swift",
"chars": 888,
"preview": "//\n// Font.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/23/18.\n// Copyright (c) 2018 huri000@gma"
},
{
"path": "Example/SwiftEntryKit/Utils/Object+ClassName.swift",
"chars": 376,
"preview": "//\n// Object+ClassName.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copyright (c) 2018"
},
{
"path": "Example/SwiftEntryKit/Utils/UIColor+Utils.swift",
"chars": 6403,
"preview": "//\n// UIColor+Utils.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/20/18.\n// Copyright (c) 2018 huri000@gm"
},
{
"path": "Example/SwiftEntryKit/Utils/UIScreen+Utils.swift",
"chars": 277,
"preview": "//\n// UIScreen+Utils.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/28/18.\n// Copyright (c) 2018 h"
},
{
"path": "Example/SwiftEntryKit/Utils/UIView+Nib.swift",
"chars": 537,
"preview": "//\n// UIView+Nib.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/25/18.\n// Copyright (c) 2018 huri0"
},
{
"path": "Example/SwiftEntryKit.xcodeproj/project.pbxproj",
"chars": 92196,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "Example/SwiftEntryKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 158,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:SwiftEntryKit.x"
},
{
"path": "Example/SwiftEntryKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/SwiftEntryKit.xcodeproj/xcshareddata/xcschemes/SwiftEntryKit.xcscheme",
"chars": 3733,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0930\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Example/SwiftEntryKit.xcodeproj/xcshareddata/xcschemes/SwiftEntryKitDemo.xcscheme",
"chars": 4386,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"0900\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "Example/SwiftEntryKit.xcworkspace/contents.xcworkspacedata",
"chars": 231,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:SwiftEntryKit."
},
{
"path": "Example/SwiftEntryKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/SwiftEntryKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "Example/Tests/AttributesCreationTest.swift",
"chars": 4376,
"preview": "//\n// AttributesCreation.swift\n// SwiftEntryKitDemo\n//\n// Created by Daniel Huri on 5/18/18.\n// Copyright (c) 2018 h"
},
{
"path": "Example/Tests/Info.plist",
"chars": 733,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "LICENSE",
"chars": 1087,
"preview": "MIT License\n\nCopyright (c) 2018 Daniel Huri, huri000@gmail.com\n\nPermission is hereby granted, free of charge, to any per"
},
{
"path": "PULL_REQUEST_TEMPLATE.md",
"chars": 382,
"preview": "### Issue Link 🔗\n*A link to the issue & short explanation*\n\n### Goals 🥅\n*What have I tried to achieve / improve + use ca"
},
{
"path": "Package.swift",
"chars": 445,
"preview": "// swift-tools-version:5.0\n// The swift-tools-version declares the minimum version of Swift required to build this packa"
},
{
"path": "README.md",
"chars": 34579,
"preview": "# SwiftEntryKit <img align=\"left\" height=42 src=\"https://github.com/huri000/assets/blob/master/swift-entrykit/project-ic"
},
{
"path": "Source/Extensions/QuickLayout/QLCompatibility.swift",
"chars": 314,
"preview": "//\n// QLCompatibility.swift\n// Pods\n//\n// Created by Daniel Huri on 5/12/18.\n//\n\nimport Foundation\nimport UIKit\n\npubl"
},
{
"path": "Source/Extensions/QuickLayout/QLUtils.swift",
"chars": 2293,
"preview": "//\n// QLUtils.swift\n// QuickLayout\n//\n// Created by Daniel Huri on 11/21/17.\n//\n\nimport Foundation\nimport UIKit\n\n/**\n"
},
{
"path": "Source/Extensions/QuickLayout/UIView+QLContentWrap.swift",
"chars": 3063,
"preview": "//\n// QLView+QLContentWrap.swift\n// QuickLayout\n//\n// Created by Daniel Huri on 11/21/17.\n//\n\nimport Foundation\nimpor"
},
{
"path": "Source/Extensions/QuickLayout/UIView+QuickLayout.swift",
"chars": 13710,
"preview": "//\n// QLView+QuickLayout.swift\n// QuickLayout\n//\n// Created by Daniel Huri on 11/19/17.\n//\n\nimport Foundation\nimport "
},
{
"path": "Source/Extensions/QuickLayout/UIViewArray+QuickLayout.swift",
"chars": 8846,
"preview": "//\n// QLViewArray+QuickLayout.swift\n// QuickLayout\n//\n// Created by Daniel Huri on 11/20/17.\n//\n\nimport Foundation\nim"
},
{
"path": "Source/Extensions/UIApplication+EKAppearance.swift",
"chars": 458,
"preview": "//\n// UIApplication+EKAppearance.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/25/18.\n// Copyright (c) 20"
},
{
"path": "Source/Extensions/UIColor+Utils.swift",
"chars": 766,
"preview": "//\n// UIColor+Utils.swift\n// SwiftEntryKit\n//\n// Created by Daniel on 21/07/2019.\n// Copyright © 2019 CocoaPods. All"
},
{
"path": "Source/Extensions/UIEdgeInsets+Utils.swift",
"chars": 213,
"preview": "//\n// UIEdgeInsets.swift\n// FBSnapshotTestCase\n//\n// Created by Daniel Huri on 4/21/18.\n//\n\nimport UIKit\n\nextension U"
},
{
"path": "Source/Extensions/UIRectCorner+Short.swift",
"chars": 316,
"preview": "//\n// UIView+FrameStyle.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/24/18.\n//\n\nimport Foundation\nimport "
},
{
"path": "Source/Extensions/UIView+Shadow.swift",
"chars": 1184,
"preview": "//\n// UIView+Shadow.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/25/18.\n//\n\nimport UIKit\n\nextension UIVie"
},
{
"path": "Source/Extensions/UIView+Utils.swift",
"chars": 5072,
"preview": "//\n// UILabel+Message.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 04/14/2018.\n// Copyright (c) 2018 huri0"
},
{
"path": "Source/Infra/EKBackgroundView.swift",
"chars": 3113,
"preview": "//\n// EKBackgroundView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/20/18.\n// Copyright (c) 2018 huri000"
},
{
"path": "Source/Infra/EKContentView.swift",
"chars": 28413,
"preview": "//\n// EKScrollView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri000@gma"
},
{
"path": "Source/Infra/EKEntryView.swift",
"chars": 6084,
"preview": "//\n// EKEntryView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/15/18.\n// Copyright (c) 2018 huri000@gmai"
},
{
"path": "Source/Infra/EKRootViewController.swift",
"chars": 8358,
"preview": "//\n// EntryViewController.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri"
},
{
"path": "Source/Infra/EKStyleView.swift",
"chars": 1730,
"preview": "//\n// EKStyleView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/28/18.\n//\n\nimport UIKit\n\nclass EKStyleView"
},
{
"path": "Source/Infra/EKWindow.swift",
"chars": 1433,
"preview": "//\n// EKWindow.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri000@gmail.c"
},
{
"path": "Source/Infra/EKWindowProvider.swift",
"chars": 9097,
"preview": "//\n// EKWindowProvider.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri000"
},
{
"path": "Source/Infra/EKWrapperView.swift",
"chars": 549,
"preview": "//\n// EKWrapperView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri000@gm"
},
{
"path": "Source/Infra/EntryCachingHeuristic.swift",
"chars": 2522,
"preview": "//\n// EKEntryCacher.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 9/1/18.\n// Copyright © 2018 CocoaPods. Al"
},
{
"path": "Source/MessageViews/EKAlertMessageView.swift",
"chars": 3207,
"preview": "//\n// EKAlertMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/5/18.\n//\n\nimport UIKit\n\nfinal publi"
},
{
"path": "Source/MessageViews/EKFormMessageView.swift",
"chars": 4611,
"preview": "//\n// EKFormMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/15/18.\n//\n\nimport UIKit\n\nfinal publi"
},
{
"path": "Source/MessageViews/EKMessageContentView.swift",
"chars": 3480,
"preview": "//\n// EKMessageContentView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 hur"
},
{
"path": "Source/MessageViews/EKNotificationMessageView.swift",
"chars": 2724,
"preview": "//\n// EKNotificationMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 201"
},
{
"path": "Source/MessageViews/EKPopUpMessageView.swift",
"chars": 3644,
"preview": "//\n// EKPopUpMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/20/18.\n// Copyright (c) 2018 huri0"
},
{
"path": "Source/MessageViews/EKRatingMessageView.swift",
"chars": 3560,
"preview": "//\n// EKRatingMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/1/18.\n// Copyright (c) 2018 huri0"
},
{
"path": "Source/MessageViews/EKSimpleMessageView.swift",
"chars": 1730,
"preview": "//\n// EKMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/5/18.\n//\n\nimport UIKit\n\npublic class EKS"
},
{
"path": "Source/MessageViews/MessagesUtils/EKButtonBarView.swift",
"chars": 6429,
"preview": "//\n// ButtonsBarView.swift\n// SwiftEntryKit_Example\n//\n// Created by Daniel Huri on 4/28/18.\n// Copyright (c) 2018 h"
},
{
"path": "Source/MessageViews/MessagesUtils/EKButtonView.swift",
"chars": 3054,
"preview": "//\n// EKButtonView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 12/8/18.\n// Copyright © 2018 CocoaPods. Al"
},
{
"path": "Source/MessageViews/MessagesUtils/EKRatingSymbolView.swift",
"chars": 2054,
"preview": "//\n// EKRatingSymbolView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/1/18.\n// Copyright (c) 2018 huri00"
},
{
"path": "Source/MessageViews/MessagesUtils/EKRatingSymbolsContainerView.swift",
"chars": 2419,
"preview": "//\n// EKRatingSymbolsContainerView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/1/18.\n// Copyright (c) 2"
},
{
"path": "Source/MessageViews/MessagesUtils/EKTextField.swift",
"chars": 2754,
"preview": "//\n// EKTextField.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/16/18.\n//\n\nimport Foundation\nimport UIKit\n"
},
{
"path": "Source/MessageViews/MessagesUtils/EntryAppearanceDescriptor.swift",
"chars": 472,
"preview": "//\n// EntryAppearanceDescriptor.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 1/5/19.\n// Copyright © 2019 C"
},
{
"path": "Source/MessageViews/Notes/EKAccessoryNoteMessageView.swift",
"chars": 1144,
"preview": "//\n// EKAccessoryNoteMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/4/18.\n//\n\nimport UIKit\n\npub"
},
{
"path": "Source/MessageViews/Notes/EKImageNoteMessageView.swift",
"chars": 803,
"preview": "//\n// EKImageNoteMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/4/18.\n//\n\nimport UIKit\n\npublic "
},
{
"path": "Source/MessageViews/Notes/EKNoteMessageView.swift",
"chars": 1575,
"preview": "//\n// EKNoteMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri00"
},
{
"path": "Source/MessageViews/Notes/EKProcessingNoteMessageView.swift",
"chars": 1465,
"preview": "//\n// EKProcessingNoteMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/20/18.\n// Copyright (c) 2"
},
{
"path": "Source/MessageViews/Notes/EKXStatusBarMessageView.swift",
"chars": 1406,
"preview": "//\n// EKXStatusBarMessageView.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 "
},
{
"path": "Source/Model/EKAlertMessage.swift",
"chars": 868,
"preview": "//\n// EKAlertMessage.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/1/18.\n// Copyright (c) 2018 huri000@gm"
},
{
"path": "Source/Model/EKColor.swift",
"chars": 3143,
"preview": "//\n// EKColor.swift\n// SwiftEntryKit\n//\n// Created by Daniel on 21/07/2019.\n// Copyright © 2019 CocoaPods. All right"
},
{
"path": "Source/Model/EKNotificationMessage.swift",
"chars": 1283,
"preview": "//\n// EKNotificationMessage.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/20/18.\n// Copyright (c) 2018 hu"
},
{
"path": "Source/Model/EKPopUpMessage.swift",
"chars": 1741,
"preview": "//\n// EKPopUpMessage.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright (c) 2018 huri000@g"
},
{
"path": "Source/Model/EKProperty.swift",
"chars": 15784,
"preview": "//\n// EKProperty.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/19/18.\n// Copyright (c) 2018 huri000@gmail"
},
{
"path": "Source/Model/EKRatingMessage.swift",
"chars": 1720,
"preview": "//\n// EKRatingMessage.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/1/18.\n// Copyright (c) 2018 huri000@g"
},
{
"path": "Source/Model/EKSimpleMessage.swift",
"chars": 754,
"preview": "//\n// EKSimpleMessage.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/1/18.\n// Copyright (c) 2018 huri000@g"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Animation.swift",
"chars": 6057,
"preview": "//\n// EKAttributes+Animation.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright (c) 2018 h"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+BackgroundStyle.swift",
"chars": 4845,
"preview": "//\n// EKAttributes+BackgroundStyle.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright (c) "
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+DisplayMode.swift",
"chars": 527,
"preview": "//\n// EKAttributes+DisplayMode.swift\n// SwiftEntryKit\n//\n// Created by Daniel on 26/07/2019.\n// Copyright © 2019 Coc"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Duration.swift",
"chars": 196,
"preview": "//\n// EKAttributes+Duration.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/4/18.\n//\n\nimport Foundation\n\npub"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+FrameStyle.swift",
"chars": 2055,
"preview": "//\n// EKAttributes+FrameStyle.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/28/18.\n//\n\nimport Foundation\ni"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+HapticFeedback.swift",
"chars": 998,
"preview": "//\n// EKAttributes+HapticFeedback.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/1/18.\n//\n\nimport UIKit\n\npu"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+LifecycleActions.swift",
"chars": 1401,
"preview": "//\n// EKAttributes+LifecycleActions.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 6/16/18.\n// Copyright (c)"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+PopBehavior.swift",
"chars": 1481,
"preview": "//\n// EKAttributes+PopBehavior.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/26/18.\n//\n\nimport Foundation\n"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Position.swift",
"chars": 811,
"preview": "//\n// EKAttributes+Position.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright (c) 2018 hu"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+PositionConstraints.swift",
"chars": 7248,
"preview": "//\n// EKAttributes+Frame.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright (c) 2018 huri0"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Precedence.swift",
"chars": 5388,
"preview": "//\n// EKAttributes+Precedence.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/29/18.\n//\n\nimport Foundation\n\n"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Presets.swift",
"chars": 3080,
"preview": "//\n// EKAttributes+Presets.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/23/18.\n//\n\nimport Foundation\n\npub"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Scroll.swift",
"chars": 2441,
"preview": "//\n// EKAttributes+Scroll.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/30/18.\n//\n\nimport Foundation\nimpor"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+Shadow.swift",
"chars": 1013,
"preview": "//\n// EKAttributes+Shadow.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 4/21/18.\n// Copyright (c) 2018 huri"
},
{
"path": "Source/Model/EntryAttributes/EKAttributes+StatusBar.swift",
"chars": 2947,
"preview": "//\n// EKAttributes+StatusBar.swift\n// SwiftEntryKit\n//\n// Created by Daniel Huri on 5/25/18.\n// Copyright (c) 2018 h"
}
]
// ... and 9 more files (download for full content)
About this extraction
This page contains the full source code of the huri000/SwiftEntryKit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 209 files (685.5 KB), approximately 184.7k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.