Showing preview only (438K chars total). Download the full file or copy to clipboard to get everything.
Repository: vpeschenkov/LetterAvatarKit
Branch: master
Commit: 21a6abe52835
Files: 109
Total size: 403.2 KB
Directory structure:
gitextract_ksb492si/
├── .gitignore
├── .swift-version
├── .swiftlint.yml
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Gemfile
├── ISSUE_TEMPLATE.md
├── LICENSE
├── LetterAvatarKit/
│ ├── Extensions/
│ │ ├── Character+LetterAvatarKit.swift
│ │ ├── String+LetterAvatarKit.swift
│ │ ├── UIColor+LetterAvatarKit.swift
│ │ └── UIImage+LetterAvatarKit.swift
│ ├── Info.plist
│ ├── LetterAvatarBuilder.swift
│ ├── LetterAvatarBuilderConfiguration.swift
│ ├── LetterAvatarKit.h
│ ├── LetterAvatarMaker.swift
│ └── LetterAvatarMakerExtendable.swift
├── LetterAvatarKit.podspec
├── LetterAvatarKit.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata/
│ └── xcschemes/
│ └── LetterAvatarKit.xcscheme
├── LetterAvatarKitExample/
│ ├── LetterAvatarKitExample/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ │ └── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── LetterAvatarController.swift
│ └── LetterAvatarKitExample.xcodeproj/
│ ├── project.pbxproj
│ └── project.xcworkspace/
│ ├── contents.xcworkspacedata
│ └── xcshareddata/
│ ├── IDEWorkspaceChecks.plist
│ └── swiftpm/
│ └── Package.resolved
├── LetterAvatarKitObjcExample/
│ ├── LetterAvatarKitObjcExample/
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets/
│ │ │ └── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ ├── ViewController.h
│ │ ├── ViewController.m
│ │ └── main.m
│ ├── LetterAvatarKitObjcExample.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ └── contents.xcworkspacedata
│ ├── LetterAvatarKitObjcExample.xcworkspace/
│ │ └── contents.xcworkspacedata
│ ├── Podfile
│ └── Pods/
│ ├── Local Podspecs/
│ │ └── LetterAvatarKit.podspec.json
│ ├── Pods.xcodeproj/
│ │ └── project.pbxproj
│ └── Target Support Files/
│ ├── LetterAvatarKit/
│ │ ├── Info.plist
│ │ ├── LetterAvatarKit-Info.plist
│ │ ├── LetterAvatarKit-dummy.m
│ │ ├── LetterAvatarKit-prefix.pch
│ │ ├── LetterAvatarKit-umbrella.h
│ │ ├── LetterAvatarKit.modulemap
│ │ └── LetterAvatarKit.xcconfig
│ └── Pods-LetterAvatarKitObjcExample/
│ ├── Info.plist
│ ├── Pods-LetterAvatarKitObjcExample-Info.plist
│ ├── Pods-LetterAvatarKitObjcExample-acknowledgements.markdown
│ ├── Pods-LetterAvatarKitObjcExample-acknowledgements.plist
│ ├── Pods-LetterAvatarKitObjcExample-dummy.m
│ ├── Pods-LetterAvatarKitObjcExample-frameworks.sh
│ ├── Pods-LetterAvatarKitObjcExample-resources.sh
│ ├── Pods-LetterAvatarKitObjcExample-umbrella.h
│ ├── Pods-LetterAvatarKitObjcExample.debug.xcconfig
│ ├── Pods-LetterAvatarKitObjcExample.modulemap
│ └── Pods-LetterAvatarKitObjcExample.release.xcconfig
├── LetterAvatarKitTests/
│ ├── Extensions/
│ │ ├── Character+LetterAvatarKitTests.swift
│ │ ├── String+LetterAvatarKitTests.swift
│ │ ├── UIColor+LetterAvatarKitTests.swift
│ │ └── UIImage+LetterAvatarKitTests.swift
│ ├── Info.plist
│ ├── LetterAvatarBuilderTests.swift
│ ├── LetterAvatarMakerTests.swift
│ └── Utilities/
│ └── UIImage+Compare.swift
├── PULL_REQUEST_TEMPLATE.md
├── Package.swift
├── README.md
├── docs/
│ ├── Classes/
│ │ ├── LetterAvatarBuilder.html
│ │ └── LetterAvatarBuilderConfiguration.html
│ ├── Classes.html
│ ├── Extensions/
│ │ ├── UIColor.html
│ │ └── UIImage.html
│ ├── Extensions.html
│ ├── css/
│ │ ├── highlight.css
│ │ └── jazzy.css
│ ├── docsets/
│ │ ├── LetterAvatarKit.docset/
│ │ │ └── Contents/
│ │ │ ├── Info.plist
│ │ │ └── Resources/
│ │ │ ├── Documents/
│ │ │ │ ├── Classes/
│ │ │ │ │ ├── LetterAvatarBuilder.html
│ │ │ │ │ └── LetterAvatarBuilderConfiguration.html
│ │ │ │ ├── Classes.html
│ │ │ │ ├── Extensions/
│ │ │ │ │ ├── UIColor.html
│ │ │ │ │ └── UIImage.html
│ │ │ │ ├── Extensions.html
│ │ │ │ ├── css/
│ │ │ │ │ ├── highlight.css
│ │ │ │ │ └── jazzy.css
│ │ │ │ ├── index.html
│ │ │ │ ├── js/
│ │ │ │ │ └── jazzy.js
│ │ │ │ └── search.json
│ │ │ └── docSet.dsidx
│ │ └── LetterAvatarKit.tgz
│ ├── index.html
│ ├── js/
│ │ └── jazzy.js
│ ├── search.json
│ └── undocumented.json
├── fastlane/
│ ├── Appfile
│ ├── Fastfile
│ └── README.md
└── scripts/
└── generate_docs.sh
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
================================================
FILE: .swift-version
================================================
5.0
================================================
FILE: .swiftlint.yml
================================================
disabled_rules:
- trailing_whitespace
included:
- LetterAvatarKit
- LetterAvatarKitTests
line_length:
- 110
- 110
type_body_length:
- 150
- 150
identifier_name:
excluded:
- i
- j
- c
- m
- to
- id
================================================
FILE: .travis.yml
================================================
language: objective-c
osx_image: xcode12
install:
- bundle install
script:
- fastlane test
================================================
FILE: CHANGELOG.md
================================================
# CHANGELOG
```
#### Added for new features.
#### Changed for changes in existing functionality.
#### Deprecated for once-stable features removed in upcoming releases.
#### Removed for deprecated features removed in this release.
#### Fixed for any bug fixes.
```
### 1.2.5
#### Removed
- Removed `SwiftUI` dependency (#31)
### 1.2.4
#### Added
- Xcode 12 support
### 1.2.1
#### Added
- An ability to add borders
- An ability to make the generated image circle
### 1.2.0
#### Added
- Builder pattern
#### Changed
- `LAK` prefix renamed to `LK`
### 1.1.9
#### Added
- Xcode 11 support
================================================
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 v.peschenkov@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
================================================
- If you **need help** or you'd like to **ask a general question**, open an issue.
- If you **found a bug**, open an issue.
- If you **have a feature request**, open an issue.
- If you **want to contribute**, submit a pull request.
================================================
FILE: Gemfile
================================================
source "https://rubygems.org"
gem "fastlane"
================================================
FILE: ISSUE_TEMPLATE.md
================================================
### Description
Describe your issue here.
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2017 Victor Peschenkov
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.
================================================
FILE: LetterAvatarKit/Extensions/Character+LetterAvatarKit.swift
================================================
//
// Character+LetterAvatarKit.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import Foundation
internal extension Character {
var ASCIIValue: Int {
let unicode = String(self).unicodeScalars
return Int(unicode[unicode.startIndex].value)
}
}
================================================
FILE: LetterAvatarKit/Extensions/String+LetterAvatarKit.swift
================================================
//
// String+LetterAvatarKit.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import Foundation
extension String {
/// Returns the first element of the collection of string. If a collection
/// is empty, returns nil.
var first: Character? {
if isEmpty {
return nil
}
return self[index(startIndex, offsetBy: 0)]
}
}
================================================
FILE: LetterAvatarKit/Extensions/UIColor+LetterAvatarKit.swift
================================================
//
// UIColor+LetterAvatarKit.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
import Foundation
/// Returns a color by HEX code.
///
/// - Parameters:
/// - hex: HEX code.
/// - Returns: The color by HEX code.
func LKUIColorByHEX(_ hex: Int) -> UIColor {
return LKUIColorByRGB(
red: CGFloat((hex & 0xFF0000) >> 16),
green: CGFloat((hex & 0x00FF00) >> 8),
blue: CGFloat((hex & 0x0000FF))
)
}
/// Returns a UIColor instance.
///
/// - Parameters:
/// - red: A value of the red color component.
/// - green: A value of the green color component.
/// - blue: A value of the blue color component.
/// - Returns: A UIColor instance.
func LKUIColorByRGB(red: CGFloat, green: CGFloat, blue: CGFloat) -> UIColor {
return UIColor(red: red / 255, green: green / 255, blue: blue / 255, alpha: CGFloat(1.0))
}
extension UIColor {
private struct ColorKey {
static var propertyReference = "org.peschenkov.LetterAvatarKit.UIColor.colors"
}
/// Colors from http://flatuicolors.com/
public enum HEXColor {
/// TURQUOISE
static let turquoiseColor = 0x1ABC9C
/// EMERALD
static let emeraldColor = 0x2ECC71
/// PITER RIVER
static let piterRiverColor = 0x3498DB
/// AMETHYST
static let amethystColor = 0x9B59B6
/// WET ASPHALT
static let wetAsphaltColor = 0x34495E
/// GREEN SEA
static let greenSeaColor = 0x16A085
/// NEPHRITIS
static let nephritisColor = 0x27AE60
/// BELIZE HOLE
static let belizeHoldeColor = 0x2980B9
/// WISTERIA
static let wisteriaColor = 0x8E44AD
/// MIDNIGHT BLUE
static let midnightBlueColor = 0x2C3E50
/// SUN FLOWER
static let sunflowerColor = 0xF1C40F
/// CARROT
static let carrotColor = 0xE67E22
/// ALIZARIN
static let alizarinColor = 0xE74C3C
/// CONCRETE
static let concreteColor = 0x95A5A6
/// ORANGE
static let orangeColor = 0xF39C12
/// PUMPKIN
static let pumpkinColor = 0xD35400
/// POMEGRANATE
static let pomegranateColor = 0xC0392B
/// SILVER
static let silverColor = 0xBDC3C7
/// ASBESTOS
static let asbestosColor = 0x7F8C8D
}
static public var colors: [UIColor] {
var colors = objc_getAssociatedObject(self, &ColorKey.propertyReference)
if colors == nil {
colors = [
LKUIColorByHEX(HEXColor.turquoiseColor),
LKUIColorByHEX(HEXColor.emeraldColor),
LKUIColorByHEX(HEXColor.piterRiverColor),
LKUIColorByHEX(HEXColor.amethystColor),
LKUIColorByHEX(HEXColor.wetAsphaltColor),
LKUIColorByHEX(HEXColor.greenSeaColor),
LKUIColorByHEX(HEXColor.nephritisColor),
LKUIColorByHEX(HEXColor.belizeHoldeColor),
LKUIColorByHEX(HEXColor.wisteriaColor),
LKUIColorByHEX(HEXColor.midnightBlueColor),
LKUIColorByHEX(HEXColor.sunflowerColor),
LKUIColorByHEX(HEXColor.carrotColor),
LKUIColorByHEX(HEXColor.alizarinColor),
LKUIColorByHEX(HEXColor.concreteColor),
LKUIColorByHEX(HEXColor.orangeColor),
LKUIColorByHEX(HEXColor.pumpkinColor),
LKUIColorByHEX(HEXColor.pomegranateColor),
LKUIColorByHEX(HEXColor.silverColor),
LKUIColorByHEX(HEXColor.asbestosColor)
]
objc_setAssociatedObject(
self,
&ColorKey.propertyReference,
colors,
.OBJC_ASSOCIATION_RETAIN_NONATOMIC
)
return colors as? [UIColor] ?? []
}
return colors as? [UIColor] ?? []
}
}
================================================
FILE: LetterAvatarKit/Extensions/UIImage+LetterAvatarKit.swift
================================================
//
// UIImage+LetterAvatarKit.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
import Foundation
extension UIImage {
/// Makes an letter-based avatar image using given configuration.
///
/// - Parameters:
/// - configuration: The configuration that uses to draw a
/// letter-based avatar image.
///
/// - Returns: Returns whether an instance of UIImage or nil.
@objc(lk_makeLetterAvatarWithConfiguration:)
static public func makeLetterAvatar(
withConfiguration configuration: LetterAvatarBuilderConfiguration
) -> UIImage? {
return LetterAvatarBuilder().makeAvatar(with: configuration)
}
/// Makes an letter-based avatar image using given username.
///
/// - Parameters:
/// - username: The username that uses to draw a
/// letter-based avatar image.
///
/// - Returns: Returns whether an instance of UIImage or nil.
@objc(lk_makeLetterAvatarWithUsername:)
static public func makeLetterAvatar(withUsername username: String?) -> UIImage? {
let configuration = LetterAvatarBuilderConfiguration()
configuration.username = username
return LetterAvatarBuilder().makeAvatar(with: configuration)
}
/// Makes an letter-based avatar image using given username and size.
///
/// - Parameters:
/// - username: The username that uses to draw a
/// letter-based avatar image.
/// - size: The avatar size.
///
/// - Returns: Returns whether an instance of UIImage or nil.
@objc(lk_makeLetterAvatarWithUsername:size:)
static public func makeLetterAvatar(withUsername username: String?, size: CGSize) -> UIImage? {
let configuration = LetterAvatarBuilderConfiguration()
configuration.username = username
configuration.size = size
return LetterAvatarBuilder().makeAvatar(with: configuration)
}
}
================================================
FILE: LetterAvatarKit/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>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: LetterAvatarKit/LetterAvatarBuilder.swift
================================================
//
// LetterAvatarKit.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
/// Uses for making letter-based avatar images.
@objc(LKLetterAvatarBuilder)
open class LetterAvatarBuilder: NSObject {
/// Makes a letter-based avatar image by using a given configuration.
///
/// - Parameters:
/// - configuration: A configuration that is used to draw a
/// letter-based avatar image.
///
/// - Returns: Returns whether an instance of UIImage or nil.
@objc(makeAvatarWithConfiguration:)
open func makeAvatar(with configuration: LetterAvatarBuilderConfiguration) -> UIImage? {
let colors = configuration.backgroundColors
guard let username = configuration.username else {
return drawAvatar(
with: configuration,
letters: NSLocalizedString("NA", comment: ""),
backgroundColor: colors[0].cgColor
)
}
let usernameInfo = UsernameInfo(
username: username,
singleLetter: configuration.useSingleLetter
)
var colorIndex = 0
if colors.count > 1 {
colorIndex = usernameInfo.ASCIIValue
colorIndex *= 3557 // Prime number
colorIndex %= colors.count - 1
}
let backgroundColor = colors[colorIndex].cgColor
return drawAvatar(
with: configuration,
letters: usernameInfo.letters,
backgroundColor: backgroundColor
)
}
private func drawAvatar(
with configuration: LetterAvatarBuilderConfiguration,
letters: String,
backgroundColor: CGColor
) -> UIImage? {
let rect = CGRect(x: 0.0, y: 0.0, width: configuration.size.width, height: configuration.size.height)
UIGraphicsBeginImageContextWithOptions(rect.size, configuration.isOpaque, UIScreen.main.scale)
if let context = UIGraphicsGetCurrentContext() {
let borderWidth = configuration.borderWidth
let borderColor = configuration.borderColor.cgColor
let strokeRect = rect.insetBy(dx: borderWidth * 0.5, dy: borderWidth * 0.5)
context.setFillColor(backgroundColor)
context.setStrokeColor(borderColor)
context.setLineWidth(borderWidth)
if configuration.circle {
context.fillEllipse(in: rect)
context.strokeEllipse(in: strokeRect)
} else {
context.fill(rect)
context.stroke(strokeRect)
}
var attributes = configuration.lettersFontAttributes
if attributes == nil {
attributes = [
.paragraphStyle: NSParagraphStyle.default.mutableCopy(),
.font: makeFitFont(withFont: configuration.lettersFont, forSize: rect.size),
.foregroundColor: configuration.lettersColor
]
}
let lettersSize = letters.size(withAttributes: attributes)
let lettersRect = CGRect(
x: (rect.size.width - lettersSize.width) / 2.0,
y: (rect.size.height - lettersSize.height) / 2.0,
width: lettersSize.width,
height: lettersSize.height
)
letters.draw(in: lettersRect, withAttributes: attributes)
let avatarImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return avatarImage
}
return nil
}
private func makeFitFont(withFont font: UIFont?, forSize size: CGSize) -> UIFont {
guard let font = font else {
return UIFont.systemFont(ofSize: min(size.height, size.width) / 2.0)
}
let fitFont = font.withSize(min(size.height, size.width) / 2.0)
return fitFont.pointSize < font.pointSize ? fitFont : font
}
}
private class UsernameInfo {
public var letters: String {
return userInfo.letters
}
public var ASCIIValue: Int {
return userInfo.value
}
private let username: String
private let useSingleLetter: Bool
private typealias InfoContainer = (letters: String, value: Int)
private lazy var userInfo: InfoContainer = {
var letters = String()
var lettersASCIIValue = 0
// Obtains an array of words by using a given username
let components = username.components(separatedBy: " ")
// If there are whether two words or more
if components.count > 1 {
if !useSingleLetter {
for component in components.prefix(3) {
if let letter = component.first {
letters.append(letter)
lettersASCIIValue += letter.ASCIIValue
}
}
} else {
if let firstComponent = components.first {
// Process the firs name letter
if let letter = firstComponent.first {
letters.append(letter)
lettersASCIIValue += letter.ASCIIValue
}
}
}
} else {
// If given just one word
if let component = components.first {
// Process the firs name letter
if let letter = component.first {
letters.append(letter)
lettersASCIIValue += letter.ASCIIValue
// If single Letter is passed as false but the string is a single char,
// this line fails due to out of bounds exception.
// https://github.com/vpeschenkov/LetterAvatarKit/issues/11
if !useSingleLetter && component.count >= 2 {
// Process the second name letter
let startIndex = component.index(after: component.startIndex)
let endIndex = component.index(component.startIndex, offsetBy: 2)
let substring = component[startIndex..<endIndex].capitalized
if let letter = substring.first {
letters.append(letter)
lettersASCIIValue += letter.ASCIIValue
}
}
}
}
}
return (letters: letters, value: lettersASCIIValue)
}()
init(username: String, singleLetter: Bool) {
self.username = username
self.useSingleLetter = singleLetter
}
}
================================================
FILE: LetterAvatarKit/LetterAvatarBuilderConfiguration.swift
================================================
//
// LetterAvatarBuilderConfiguration.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
import Foundation
/// Uses for configurating a LetterAvatarBuilder instance.
@objc(LKLetterAvatarBuilderConfiguration)
open class LetterAvatarBuilderConfiguration: NSObject {
/// A size of an avatar image.
@objc(size)
open var size: CGSize = CGSize(width: 80, height: 80)
/// An username.
@objc(username)
open var username: String?
/// A flag that indicates of using single only one letter, otherwise,
/// as much as wil be possible to obtain. But no more than 3 letters.
@objc(useSingleLetter)
open var useSingleLetter: Bool = false
/// Letters font.
@objc(lettersFont)
open var lettersFont: UIFont?
/// Colors that are used to draw image.
@objc(lettersColor)
open var lettersColor: UIColor = LKUIColorByRGB(red: 236, green: 240, blue: 241)
/// Background colors of the image.
@objc(backgroundColors)
open var backgroundColors: [UIColor] = UIColor.colors
/// Letters font attributes.
@objc(lettersFontAttributes)
open var lettersFontAttributes: [NSAttributedString.Key: Any]?
/// Indicates whether to generate circle or square image.
@objc(circle)
open var circle: Bool = false
/// A border width of the image.
@objc(borderWidth)
open var borderWidth: CGFloat = 0.0
/// A border color of the image.
@objc(borderColor)
open var borderColor: UIColor = UIColor.white
/// A Boolean flag indicating whether the avatar is opaque.
@objc(isOpaque)
open var isOpaque: Bool = false
}
================================================
FILE: LetterAvatarKit/LetterAvatarKit.h
================================================
//
// LetterAvatarKit.h
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
@import UIKit;
//! Project version number for LetterAvatarKit.
FOUNDATION_EXPORT double LetterAvatarKitVersionNumber;
//! Project version string for LetterAvatarKit.
FOUNDATION_EXPORT const unsigned char LetterAvatarKitVersionString[];
================================================
FILE: LetterAvatarKit/LetterAvatarMaker.swift
================================================
//
// LetterAvatarMaker.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
import Foundation
open class LetterAvatarMaker: NSObject {
fileprivate var configuration = LetterAvatarBuilderConfiguration()
}
extension LetterAvatarMaker: LetterAvatarMakerExtendable {
@discardableResult
public func setSize(_ size: CGSize) -> LetterAvatarMakerExtendable {
configuration.size = size
return self
}
@discardableResult
public func setUsername(_ username: String) -> LetterAvatarMakerExtendable {
configuration.username = username
return self
}
@discardableResult
public func setLettersFont(_ lettersFont: UIFont?) -> LetterAvatarMakerExtendable {
configuration.lettersFont = lettersFont
return self
}
@discardableResult
public func setLettersColor(_ lettersColor: UIColor) -> LetterAvatarMakerExtendable {
configuration.lettersColor = lettersColor
return self
}
@discardableResult
public func useSingleLetter(_ useSingleLetter: Bool) -> LetterAvatarMakerExtendable {
configuration.useSingleLetter = useSingleLetter
return self
}
@discardableResult
public func setBackgroundColors(_ backgroundColors: [UIColor]) -> LetterAvatarMakerExtendable {
configuration.backgroundColors = backgroundColors
return self
}
@discardableResult
public func setLettersFontAttributes(
_ lettersFontAttributes: [NSAttributedString.Key: Any]?
) -> LetterAvatarMakerExtendable {
configuration.lettersFontAttributes = lettersFontAttributes
return self
}
@discardableResult
public func setBorderWidth(_ borderWidth: CGFloat) -> LetterAvatarMakerExtendable {
configuration.borderWidth = borderWidth
return self
}
@discardableResult
public func setBorderColor(_ borderColor: UIColor) -> LetterAvatarMakerExtendable {
configuration.borderColor = borderColor
return self
}
@discardableResult
public func setCircle(_ circle: Bool) -> LetterAvatarMakerExtendable {
configuration.circle = circle
return self
}
@discardableResult
public func drawOpaqueBackground(_ isOpaque: Bool) -> LetterAvatarMakerExtendable {
configuration.isOpaque = isOpaque
return self
}
public func build(maker: (LetterAvatarBuilderConfiguration) -> Void) -> UIImage? {
maker(configuration)
return UIImage.makeLetterAvatar(withConfiguration: configuration)
}
public func build() -> UIImage? {
return UIImage.makeLetterAvatar(withConfiguration: configuration)
}
}
================================================
FILE: LetterAvatarKit/LetterAvatarMakerExtendable.swift
================================================
//
// LetterAvatarMakerExtendable.swift
// LetterAvatarKit
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
import Foundation
public protocol LetterAvatarMakerExtendable: NSObjectProtocol {
func setSize(_ size: CGSize) -> LetterAvatarMakerExtendable
func setUsername(_ username: String) -> LetterAvatarMakerExtendable
func setLettersFont(_ lettersFont: UIFont?) -> LetterAvatarMakerExtendable
func setLettersColor(_ lettersColor: UIColor) -> LetterAvatarMakerExtendable
func useSingleLetter(_ useSingleLetter: Bool) -> LetterAvatarMakerExtendable
func setBackgroundColors(_ backgroundColors: [UIColor]) -> LetterAvatarMakerExtendable
func setLettersFontAttributes(
_ lettersFontAttributes: [NSAttributedString.Key: Any]?
) -> LetterAvatarMakerExtendable
func setCircle(_ circle: Bool) -> LetterAvatarMakerExtendable
func setBorderWidth(_ borderWidth: CGFloat) -> LetterAvatarMakerExtendable
func setBorderColor(_ borderColor: UIColor) -> LetterAvatarMakerExtendable
func drawOpaqueBackground(_ isOpaque: Bool) -> LetterAvatarMakerExtendable
func build(maker: (LetterAvatarBuilderConfiguration) -> Void) -> UIImage?
func build() -> UIImage?
}
================================================
FILE: LetterAvatarKit.podspec
================================================
Pod::Spec.new do |spec|
spec.name = 'LetterAvatarKit'
spec.ios.deployment_target = '9.0'
spec.tvos.deployment_target = '9.0'
spec.version = '1.2.5'
spec.license = { :type => 'MIT' }
spec.homepage = 'https://github.com/vpeschenkov/LetterAvatarKit'
spec.authors = { 'Viktor Peschenkov' => 'v.peschenkov@gmail.com' }
spec.summary = 'An extension that generates letter-based avatars/placeholders written in Swift'
spec.source = { :git => 'https://github.com/vpeschenkov/LetterAvatarKit.git', :tag => spec.version.to_s }
spec.source_files = 'LetterAvatarKit/*.{h,swift}', 'LetterAvatarKit/Extensions/*.{swift}'
spec.requires_arc = true
spec.framework = 'Foundation', 'UIKit'
spec.swift_version = '5.0'
end
================================================
FILE: LetterAvatarKit.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
35089433210272B20024E7CA /* LetterAvatarBuilderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35089432210272B20024E7CA /* LetterAvatarBuilderConfiguration.swift */; };
351F38A31FAA386E0077F001 /* LetterAvatarSingleLetterTestImage@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 351F38A21FAA386E0077F001 /* LetterAvatarSingleLetterTestImage@3x.png */; };
351F38A51FAA38D10077F001 /* LetterAvatarSingleLetterTestImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 351F38A41FAA38D10077F001 /* LetterAvatarSingleLetterTestImage@2x.png */; };
351F6CEF1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 351F6CED1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@3x.png */; };
351F6CF01FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 351F6CEE1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@2x.png */; };
3591E079233C233F0041B834 /* LetterAvatarMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3591E078233C233F0041B834 /* LetterAvatarMakerExtendable.swift */; };
3591E07B233C24830041B834 /* LetterAvatarMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3591E07A233C24830041B834 /* LetterAvatarMaker.swift */; };
3591E07D233C26A50041B834 /* LetterAvatarMakerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3591E07C233C26A50041B834 /* LetterAvatarMakerTests.swift */; };
35AD1DA81FA8F4FC0059BC9A /* String+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35AD1DA71FA8F4FC0059BC9A /* String+LetterAvatarKit.swift */; };
35AD1DAA1FA929720059BC9A /* String+LetterAvatarKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35AD1DA91FA929720059BC9A /* String+LetterAvatarKitTests.swift */; };
EB516B651F8810D200BEA1F2 /* Character+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB516B621F8810D200BEA1F2 /* Character+LetterAvatarKit.swift */; };
EB516B661F8810D200BEA1F2 /* UIColor+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB516B631F8810D200BEA1F2 /* UIColor+LetterAvatarKit.swift */; };
EB516B671F8810D200BEA1F2 /* UIImage+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB516B641F8810D200BEA1F2 /* UIImage+LetterAvatarKit.swift */; };
EB516B6C1F88110A00BEA1F2 /* Character+LetterAvatarKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB516B691F88110A00BEA1F2 /* Character+LetterAvatarKitTests.swift */; };
EB516B6D1F88110A00BEA1F2 /* UIColor+LetterAvatarKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB516B6A1F88110A00BEA1F2 /* UIColor+LetterAvatarKitTests.swift */; };
EB516B6E1F88110A00BEA1F2 /* UIImage+LetterAvatarKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB516B6B1F88110A00BEA1F2 /* UIImage+LetterAvatarKitTests.swift */; };
EB821DF61F98B906009B3775 /* LetterAvatarEmptyTestImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = EB821DF21F98B906009B3775 /* LetterAvatarEmptyTestImage@2x.png */; };
EB821DF71F98B906009B3775 /* LetterAvatarEmptyTestImage@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EB821DF31F98B906009B3775 /* LetterAvatarEmptyTestImage@3x.png */; };
EB821DF81F98B906009B3775 /* LetterAvatarTestImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = EB821DF41F98B906009B3775 /* LetterAvatarTestImage@2x.png */; };
EB821DF91F98B906009B3775 /* LetterAvatarTestImage@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = EB821DF51F98B906009B3775 /* LetterAvatarTestImage@3x.png */; };
EB821DFC1F98C233009B3775 /* UIImage+Compare.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB821DFB1F98C233009B3775 /* UIImage+Compare.swift */; };
EB8EC4131F85929E000B7641 /* LetterAvatarKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB8EC4091F85929E000B7641 /* LetterAvatarKit.framework */; };
EB8EC4181F85929E000B7641 /* LetterAvatarBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB8EC4171F85929E000B7641 /* LetterAvatarBuilderTests.swift */; };
EB8EC41A1F85929E000B7641 /* LetterAvatarKit.h in Headers */ = {isa = PBXBuildFile; fileRef = EB8EC40C1F85929E000B7641 /* LetterAvatarKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
EB8EC4241F859382000B7641 /* LetterAvatarBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB8EC4231F859382000B7641 /* LetterAvatarBuilder.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
EB8EC4141F85929E000B7641 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = EB8EC4001F85929E000B7641 /* Project object */;
proxyType = 1;
remoteGlobalIDString = EB8EC4081F85929E000B7641;
remoteInfo = LetterAvatarKit;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
35089432210272B20024E7CA /* LetterAvatarBuilderConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LetterAvatarBuilderConfiguration.swift; sourceTree = "<group>"; };
351F38A21FAA386E0077F001 /* LetterAvatarSingleLetterTestImage@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarSingleLetterTestImage@3x.png"; sourceTree = "<group>"; };
351F38A41FAA38D10077F001 /* LetterAvatarSingleLetterTestImage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarSingleLetterTestImage@2x.png"; sourceTree = "<group>"; };
351F6CED1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarOneWordTestImage@3x.png"; sourceTree = "<group>"; };
351F6CEE1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarOneWordTestImage@2x.png"; sourceTree = "<group>"; };
3591E078233C233F0041B834 /* LetterAvatarMakerExtendable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LetterAvatarMakerExtendable.swift; sourceTree = "<group>"; };
3591E07A233C24830041B834 /* LetterAvatarMaker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LetterAvatarMaker.swift; sourceTree = "<group>"; };
3591E07C233C26A50041B834 /* LetterAvatarMakerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LetterAvatarMakerTests.swift; sourceTree = "<group>"; };
35AD1DA71FA8F4FC0059BC9A /* String+LetterAvatarKit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+LetterAvatarKit.swift"; sourceTree = "<group>"; };
35AD1DA91FA929720059BC9A /* String+LetterAvatarKitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+LetterAvatarKitTests.swift"; sourceTree = "<group>"; };
EB516B621F8810D200BEA1F2 /* Character+LetterAvatarKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Character+LetterAvatarKit.swift"; sourceTree = "<group>"; };
EB516B631F8810D200BEA1F2 /* UIColor+LetterAvatarKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+LetterAvatarKit.swift"; sourceTree = "<group>"; };
EB516B641F8810D200BEA1F2 /* UIImage+LetterAvatarKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+LetterAvatarKit.swift"; sourceTree = "<group>"; };
EB516B691F88110A00BEA1F2 /* Character+LetterAvatarKitTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Character+LetterAvatarKitTests.swift"; sourceTree = "<group>"; };
EB516B6A1F88110A00BEA1F2 /* UIColor+LetterAvatarKitTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+LetterAvatarKitTests.swift"; sourceTree = "<group>"; };
EB516B6B1F88110A00BEA1F2 /* UIImage+LetterAvatarKitTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIImage+LetterAvatarKitTests.swift"; sourceTree = "<group>"; };
EB821DF21F98B906009B3775 /* LetterAvatarEmptyTestImage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarEmptyTestImage@2x.png"; sourceTree = "<group>"; };
EB821DF31F98B906009B3775 /* LetterAvatarEmptyTestImage@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarEmptyTestImage@3x.png"; sourceTree = "<group>"; };
EB821DF41F98B906009B3775 /* LetterAvatarTestImage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarTestImage@2x.png"; sourceTree = "<group>"; };
EB821DF51F98B906009B3775 /* LetterAvatarTestImage@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "LetterAvatarTestImage@3x.png"; sourceTree = "<group>"; };
EB821DFB1F98C233009B3775 /* UIImage+Compare.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Compare.swift"; sourceTree = "<group>"; };
EB8EC4091F85929E000B7641 /* LetterAvatarKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LetterAvatarKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
EB8EC40C1F85929E000B7641 /* LetterAvatarKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LetterAvatarKit.h; sourceTree = "<group>"; };
EB8EC40D1F85929E000B7641 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
EB8EC4121F85929E000B7641 /* LetterAvatarKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LetterAvatarKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
EB8EC4171F85929E000B7641 /* LetterAvatarBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LetterAvatarBuilderTests.swift; sourceTree = "<group>"; };
EB8EC4191F85929E000B7641 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
EB8EC4231F859382000B7641 /* LetterAvatarBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LetterAvatarBuilder.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
EB8EC4051F85929E000B7641 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
EB8EC40F1F85929E000B7641 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
EB8EC4131F85929E000B7641 /* LetterAvatarKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
EB516B611F8810D200BEA1F2 /* Extensions */ = {
isa = PBXGroup;
children = (
35AD1DA71FA8F4FC0059BC9A /* String+LetterAvatarKit.swift */,
EB516B631F8810D200BEA1F2 /* UIColor+LetterAvatarKit.swift */,
EB516B641F8810D200BEA1F2 /* UIImage+LetterAvatarKit.swift */,
EB516B621F8810D200BEA1F2 /* Character+LetterAvatarKit.swift */,
);
path = Extensions;
sourceTree = "<group>";
};
EB516B681F88110A00BEA1F2 /* Extensions */ = {
isa = PBXGroup;
children = (
35AD1DA91FA929720059BC9A /* String+LetterAvatarKitTests.swift */,
EB516B6A1F88110A00BEA1F2 /* UIColor+LetterAvatarKitTests.swift */,
EB516B6B1F88110A00BEA1F2 /* UIImage+LetterAvatarKitTests.swift */,
EB516B691F88110A00BEA1F2 /* Character+LetterAvatarKitTests.swift */,
);
path = Extensions;
sourceTree = "<group>";
};
EB821DF11F98B906009B3775 /* Resources */ = {
isa = PBXGroup;
children = (
EB821DF41F98B906009B3775 /* LetterAvatarTestImage@2x.png */,
EB821DF51F98B906009B3775 /* LetterAvatarTestImage@3x.png */,
EB821DF21F98B906009B3775 /* LetterAvatarEmptyTestImage@2x.png */,
EB821DF31F98B906009B3775 /* LetterAvatarEmptyTestImage@3x.png */,
351F6CEE1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@2x.png */,
351F6CED1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@3x.png */,
351F38A41FAA38D10077F001 /* LetterAvatarSingleLetterTestImage@2x.png */,
351F38A21FAA386E0077F001 /* LetterAvatarSingleLetterTestImage@3x.png */,
);
path = Resources;
sourceTree = "<group>";
};
EB821DFA1F98C0D4009B3775 /* Utilities */ = {
isa = PBXGroup;
children = (
EB821DFB1F98C233009B3775 /* UIImage+Compare.swift */,
);
path = Utilities;
sourceTree = "<group>";
};
EB8EC3FF1F85929E000B7641 = {
isa = PBXGroup;
children = (
EB8EC40B1F85929E000B7641 /* LetterAvatarKit */,
EB8EC4161F85929E000B7641 /* LetterAvatarKitTests */,
EB8EC40A1F85929E000B7641 /* Products */,
);
sourceTree = "<group>";
};
EB8EC40A1F85929E000B7641 /* Products */ = {
isa = PBXGroup;
children = (
EB8EC4091F85929E000B7641 /* LetterAvatarKit.framework */,
EB8EC4121F85929E000B7641 /* LetterAvatarKitTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
EB8EC40B1F85929E000B7641 /* LetterAvatarKit */ = {
isa = PBXGroup;
children = (
EB516B611F8810D200BEA1F2 /* Extensions */,
EB8EC40C1F85929E000B7641 /* LetterAvatarKit.h */,
EB8EC4231F859382000B7641 /* LetterAvatarBuilder.swift */,
3591E078233C233F0041B834 /* LetterAvatarMakerExtendable.swift */,
35089432210272B20024E7CA /* LetterAvatarBuilderConfiguration.swift */,
3591E07A233C24830041B834 /* LetterAvatarMaker.swift */,
EB8EC40D1F85929E000B7641 /* Info.plist */,
);
path = LetterAvatarKit;
sourceTree = "<group>";
};
EB8EC4161F85929E000B7641 /* LetterAvatarKitTests */ = {
isa = PBXGroup;
children = (
EB821DFA1F98C0D4009B3775 /* Utilities */,
EB821DF11F98B906009B3775 /* Resources */,
EB516B681F88110A00BEA1F2 /* Extensions */,
EB8EC4171F85929E000B7641 /* LetterAvatarBuilderTests.swift */,
3591E07C233C26A50041B834 /* LetterAvatarMakerTests.swift */,
EB8EC4191F85929E000B7641 /* Info.plist */,
);
path = LetterAvatarKitTests;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
EB8EC4061F85929E000B7641 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
EB8EC41A1F85929E000B7641 /* LetterAvatarKit.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
EB8EC4081F85929E000B7641 /* LetterAvatarKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = EB8EC41D1F85929E000B7641 /* Build configuration list for PBXNativeTarget "LetterAvatarKit" */;
buildPhases = (
EB8EC4041F85929E000B7641 /* Sources */,
EB8EC4051F85929E000B7641 /* Frameworks */,
EB8EC4061F85929E000B7641 /* Headers */,
EB8EC4071F85929E000B7641 /* Resources */,
3505688D24215D6500FB2E54 /* SwiftLint */,
);
buildRules = (
);
dependencies = (
);
name = LetterAvatarKit;
productName = LetterAvatarKit;
productReference = EB8EC4091F85929E000B7641 /* LetterAvatarKit.framework */;
productType = "com.apple.product-type.framework";
};
EB8EC4111F85929E000B7641 /* LetterAvatarKitTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = EB8EC4201F85929E000B7641 /* Build configuration list for PBXNativeTarget "LetterAvatarKitTests" */;
buildPhases = (
EB8EC40E1F85929E000B7641 /* Sources */,
EB8EC40F1F85929E000B7641 /* Frameworks */,
EB8EC4101F85929E000B7641 /* Resources */,
);
buildRules = (
);
dependencies = (
EB8EC4151F85929E000B7641 /* PBXTargetDependency */,
);
name = LetterAvatarKitTests;
productName = LetterAvatarKitTests;
productReference = EB8EC4121F85929E000B7641 /* LetterAvatarKitTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
EB8EC4001F85929E000B7641 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0900;
LastUpgradeCheck = 1100;
ORGANIZATIONNAME = "Victor Peschenkov";
TargetAttributes = {
EB8EC4081F85929E000B7641 = {
CreatedOnToolsVersion = 9.0;
LastSwiftMigration = 1020;
ProvisioningStyle = Automatic;
};
EB8EC4111F85929E000B7641 = {
CreatedOnToolsVersion = 9.0;
LastSwiftMigration = 1110;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = EB8EC4031F85929E000B7641 /* Build configuration list for PBXProject "LetterAvatarKit" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = EB8EC3FF1F85929E000B7641;
productRefGroup = EB8EC40A1F85929E000B7641 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
EB8EC4081F85929E000B7641 /* LetterAvatarKit */,
EB8EC4111F85929E000B7641 /* LetterAvatarKitTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
EB8EC4071F85929E000B7641 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
EB8EC4101F85929E000B7641 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EB821DF91F98B906009B3775 /* LetterAvatarTestImage@3x.png in Resources */,
351F38A51FAA38D10077F001 /* LetterAvatarSingleLetterTestImage@2x.png in Resources */,
EB821DF71F98B906009B3775 /* LetterAvatarEmptyTestImage@3x.png in Resources */,
EB821DF81F98B906009B3775 /* LetterAvatarTestImage@2x.png in Resources */,
EB821DF61F98B906009B3775 /* LetterAvatarEmptyTestImage@2x.png in Resources */,
351F38A31FAA386E0077F001 /* LetterAvatarSingleLetterTestImage@3x.png in Resources */,
351F6CF01FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@2x.png in Resources */,
351F6CEF1FA3F9A8003059D2 /* LetterAvatarOneWordTestImage@3x.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3505688D24215D6500FB2E54 /* SwiftLint */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = SwiftLint;
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
EB8EC4041F85929E000B7641 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EB8EC4241F859382000B7641 /* LetterAvatarBuilder.swift in Sources */,
3591E07B233C24830041B834 /* LetterAvatarMaker.swift in Sources */,
35AD1DA81FA8F4FC0059BC9A /* String+LetterAvatarKit.swift in Sources */,
EB516B651F8810D200BEA1F2 /* Character+LetterAvatarKit.swift in Sources */,
35089433210272B20024E7CA /* LetterAvatarBuilderConfiguration.swift in Sources */,
EB516B661F8810D200BEA1F2 /* UIColor+LetterAvatarKit.swift in Sources */,
3591E079233C233F0041B834 /* LetterAvatarMakerExtendable.swift in Sources */,
EB516B671F8810D200BEA1F2 /* UIImage+LetterAvatarKit.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
EB8EC40E1F85929E000B7641 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
35AD1DAA1FA929720059BC9A /* String+LetterAvatarKitTests.swift in Sources */,
EB8EC4181F85929E000B7641 /* LetterAvatarBuilderTests.swift in Sources */,
EB516B6D1F88110A00BEA1F2 /* UIColor+LetterAvatarKitTests.swift in Sources */,
EB516B6C1F88110A00BEA1F2 /* Character+LetterAvatarKitTests.swift in Sources */,
EB821DFC1F98C233009B3775 /* UIImage+Compare.swift in Sources */,
3591E07D233C26A50041B834 /* LetterAvatarMakerTests.swift in Sources */,
EB516B6E1F88110A00BEA1F2 /* UIImage+LetterAvatarKitTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
EB8EC4151F85929E000B7641 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = EB8EC4081F85929E000B7641 /* LetterAvatarKit */;
targetProxy = EB8EC4141F85929E000B7641 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
EB8EC41B1F85929E000B7641 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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_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;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
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 = (
"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 = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
EB8EC41C1F85929E000B7641 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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_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;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
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_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 = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
SWIFT_VERSION = 5.0;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
EB8EC41E1F85929E000B7641 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = LetterAvatarKit/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.2.4;
PRODUCT_BUNDLE_IDENTIFIER = com.github.vpeschenkov.LetterAvatarKit;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
EB8EC41F1F85929E000B7641 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = LetterAvatarKit/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MARKETING_VERSION = 1.2.4;
PRODUCT_BUNDLE_IDENTIFIER = com.github.vpeschenkov.LetterAvatarKit;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
EB8EC4211F85929E000B7641 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LetterAvatarKitTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.peschenkov.LetterAvatarKit.LetterAvatarKitTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
EB8EC4221F85929E000B7641 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LetterAvatarKitTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.peschenkov.LetterAvatarKit.LetterAvatarKitTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
EB8EC4031F85929E000B7641 /* Build configuration list for PBXProject "LetterAvatarKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EB8EC41B1F85929E000B7641 /* Debug */,
EB8EC41C1F85929E000B7641 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
EB8EC41D1F85929E000B7641 /* Build configuration list for PBXNativeTarget "LetterAvatarKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EB8EC41E1F85929E000B7641 /* Debug */,
EB8EC41F1F85929E000B7641 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
EB8EC4201F85929E000B7641 /* Build configuration list for PBXNativeTarget "LetterAvatarKitTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EB8EC4211F85929E000B7641 /* Debug */,
EB8EC4221F85929E000B7641 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = EB8EC4001F85929E000B7641 /* Project object */;
}
================================================
FILE: LetterAvatarKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:LetterAvatarKit.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: LetterAvatarKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: LetterAvatarKit.xcodeproj/xcshareddata/xcschemes/LetterAvatarKit.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1100"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB8EC4081F85929E000B7641"
BuildableName = "LetterAvatarKit.framework"
BlueprintName = "LetterAvatarKit"
ReferencedContainer = "container:LetterAvatarKit.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB8EC4081F85929E000B7641"
BuildableName = "LetterAvatarKit.framework"
BlueprintName = "LetterAvatarKit"
ReferencedContainer = "container:LetterAvatarKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB8EC4111F85929E000B7641"
BuildableName = "LetterAvatarKitTests.xctest"
BlueprintName = "LetterAvatarKitTests"
ReferencedContainer = "container:LetterAvatarKit.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB8EC4081F85929E000B7641"
BuildableName = "LetterAvatarKit.framework"
BlueprintName = "LetterAvatarKit"
ReferencedContainer = "container:LetterAvatarKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "EB8EC4081F85929E000B7641"
BuildableName = "LetterAvatarKit.framework"
BlueprintName = "LetterAvatarKit"
ReferencedContainer = "container:LetterAvatarKit.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample/AppDelegate.swift
================================================
//
// AppDelegate.swift
// LetterAvatarKitExample
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
}
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample/Assets.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" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" systemVersion="17A277" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Letter Avatar Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="LetterAvatarController" customModule="LetterAvatarKitExample" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" ambiguous="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Eml-Ue-4Aw">
<rect key="frame" x="16" y="20" width="568" height="440"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Eml-Ue-4Aw" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="16" id="5BN-oE-zQA"/>
<constraint firstItem="Eml-Ue-4Aw" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="QXd-bn-aMw"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="Eml-Ue-4Aw" secondAttribute="trailing" constant="16" id="djU-wy-f35"/>
<constraint firstItem="Eml-Ue-4Aw" firstAttribute="top" relation="greaterThanOrEqual" secondItem="6Tk-OE-BBY" secondAttribute="top" id="lEZ-LU-9Pu"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" relation="lessThanOrEqual" secondItem="Eml-Ue-4Aw" secondAttribute="bottom" constant="20" id="n6Z-W6-8oL"/>
</constraints>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
<connections>
<outlet property="avatarImageView" destination="Eml-Ue-4Aw" id="ENS-Ty-vq8"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample/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>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</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>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample/LetterAvatarController.swift
================================================
//
// ViewController.swift
// LetterAvatarKitExample
//
// Copyright 2017 Victor Peschenkov
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// o 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.
//
import UIKit
import LetterAvatarKit
class LetterAvatarController: UIViewController {
@IBOutlet var avatarImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let width = UIScreen.main.bounds.size.width
let height = width
let avatarImage = LetterAvatarMaker()
.setUsername("Letter Avatar")
.setSize(CGSize(width: width, height: height))
.build()
avatarImageView.image = avatarImage
}
}
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 52;
objects = {
/* Begin PBXBuildFile section */
35DF42E2233D1B8700BFCE8F /* LetterAvatarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35DF42E1233D1B8700BFCE8F /* LetterAvatarController.swift */; };
98CF310F244B159000A218C2 /* LetterAvatarKit in Frameworks */ = {isa = PBXBuildFile; productRef = 98CF310E244B159000A218C2 /* LetterAvatarKit */; };
EBEC63BE1F8CF49B00CE334B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBEC63BD1F8CF49B00CE334B /* AppDelegate.swift */; };
EBEC63C31F8CF49B00CE334B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EBEC63C11F8CF49B00CE334B /* Main.storyboard */; };
EBEC63C51F8CF49B00CE334B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EBEC63C41F8CF49B00CE334B /* Assets.xcassets */; };
EBEC63C81F8CF49B00CE334B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EBEC63C61F8CF49B00CE334B /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
35DF42E1233D1B8700BFCE8F /* LetterAvatarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LetterAvatarController.swift; sourceTree = "<group>"; };
EBEC63BA1F8CF49B00CE334B /* LetterAvatarKitExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LetterAvatarKitExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
EBEC63BD1F8CF49B00CE334B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
EBEC63C21F8CF49B00CE334B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
EBEC63C41F8CF49B00CE334B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
EBEC63C71F8CF49B00CE334B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
EBEC63C91F8CF49B00CE334B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
EBEC63B71F8CF49B00CE334B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
98CF310F244B159000A218C2 /* LetterAvatarKit in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
35DF42DE233D1B3C00BFCE8F /* Support Files */ = {
isa = PBXGroup;
children = (
EBEC63C11F8CF49B00CE334B /* Main.storyboard */,
EBEC63C61F8CF49B00CE334B /* LaunchScreen.storyboard */,
EBEC63C41F8CF49B00CE334B /* Assets.xcassets */,
EBEC63C91F8CF49B00CE334B /* Info.plist */,
);
name = "Support Files";
sourceTree = "<group>";
};
EBEC63B11F8CF49B00CE334B = {
isa = PBXGroup;
children = (
EBEC63BC1F8CF49B00CE334B /* LetterAvatarKitExample */,
EBEC63BB1F8CF49B00CE334B /* Products */,
);
sourceTree = "<group>";
};
EBEC63BB1F8CF49B00CE334B /* Products */ = {
isa = PBXGroup;
children = (
EBEC63BA1F8CF49B00CE334B /* LetterAvatarKitExample.app */,
);
name = Products;
sourceTree = "<group>";
};
EBEC63BC1F8CF49B00CE334B /* LetterAvatarKitExample */ = {
isa = PBXGroup;
children = (
EBEC63BD1F8CF49B00CE334B /* AppDelegate.swift */,
35DF42E1233D1B8700BFCE8F /* LetterAvatarController.swift */,
35DF42DE233D1B3C00BFCE8F /* Support Files */,
);
path = LetterAvatarKitExample;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
EBEC63B91F8CF49B00CE334B /* LetterAvatarKitExample */ = {
isa = PBXNativeTarget;
buildConfigurationList = EBEC63CC1F8CF49B00CE334B /* Build configuration list for PBXNativeTarget "LetterAvatarKitExample" */;
buildPhases = (
EBEC63B61F8CF49B00CE334B /* Sources */,
EBEC63B71F8CF49B00CE334B /* Frameworks */,
EBEC63B81F8CF49B00CE334B /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = LetterAvatarKitExample;
packageProductDependencies = (
98CF310E244B159000A218C2 /* LetterAvatarKit */,
);
productName = LetterAvatarKitExample;
productReference = EBEC63BA1F8CF49B00CE334B /* LetterAvatarKitExample.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
EBEC63B21F8CF49B00CE334B /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0900;
LastUpgradeCheck = 0930;
ORGANIZATIONNAME = "Victor Peschenkov";
TargetAttributes = {
EBEC63B91F8CF49B00CE334B = {
CreatedOnToolsVersion = 9.0;
LastSwiftMigration = 1020;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = EBEC63B51F8CF49B00CE334B /* Build configuration list for PBXProject "LetterAvatarKitExample" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = EBEC63B11F8CF49B00CE334B;
packageReferences = (
98CF310D244B159000A218C2 /* XCRemoteSwiftPackageReference "LetterAvatarKit" */,
);
productRefGroup = EBEC63BB1F8CF49B00CE334B /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
EBEC63B91F8CF49B00CE334B /* LetterAvatarKitExample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
EBEC63B81F8CF49B00CE334B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EBEC63C81F8CF49B00CE334B /* LaunchScreen.storyboard in Resources */,
EBEC63C51F8CF49B00CE334B /* Assets.xcassets in Resources */,
EBEC63C31F8CF49B00CE334B /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
EBEC63B61F8CF49B00CE334B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
35DF42E2233D1B8700BFCE8F /* LetterAvatarController.swift in Sources */,
EBEC63BE1F8CF49B00CE334B /* AppDelegate.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
EBEC63C11F8CF49B00CE334B /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
EBEC63C21F8CF49B00CE334B /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
EBEC63C61F8CF49B00CE334B /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
EBEC63C71F8CF49B00CE334B /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
EBEC63CA1F8CF49B00CE334B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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_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;
CODE_SIGN_IDENTITY = "iPhone Developer";
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 = (
"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 = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
};
name = Debug;
};
EBEC63CB1F8CF49B00CE334B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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_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;
CODE_SIGN_IDENTITY = "iPhone Developer";
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_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 = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
EBEC63CD1F8CF49B00CE334B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LetterAvatarKitExample/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = org.peschenkov.LetterAvatarKitExample;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
EBEC63CE1F8CF49B00CE334B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LetterAvatarKitExample/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = org.peschenkov.LetterAvatarKitExample;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
EBEC63B51F8CF49B00CE334B /* Build configuration list for PBXProject "LetterAvatarKitExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EBEC63CA1F8CF49B00CE334B /* Debug */,
EBEC63CB1F8CF49B00CE334B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
EBEC63CC1F8CF49B00CE334B /* Build configuration list for PBXNativeTarget "LetterAvatarKitExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EBEC63CD1F8CF49B00CE334B /* Debug */,
EBEC63CE1F8CF49B00CE334B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
98CF310D244B159000A218C2 /* XCRemoteSwiftPackageReference "LetterAvatarKit" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/vpeschenkov/LetterAvatarKit";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 1.2.2;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
98CF310E244B159000A218C2 /* LetterAvatarKit */ = {
isa = XCSwiftPackageProductDependency;
package = 98CF310D244B159000A218C2 /* XCRemoteSwiftPackageReference "LetterAvatarKit" */;
productName = LetterAvatarKit;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = EBEC63B21F8CF49B00CE334B /* Project object */;
}
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
================================================
FILE: LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
================================================
{
"object": {
"pins": [
{
"package": "LetterAvatarKit",
"repositoryURL": "https://github.com/vpeschenkov/LetterAvatarKit",
"state": {
"branch": null,
"revision": "41f67ab75f428fee719b31a60cdc795d4b5caeb5",
"version": "1.2.3"
}
}
]
},
"version": 1
}
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/AppDelegate.h
================================================
/*
AppDelegate.h
LetterAvatarKitObjcExample
Copyright 2017 Victor Peschenkov
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.
*/
@import UIKit;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/AppDelegate.m
================================================
/*
AppDelegate.m
LetterAvatarKitObjcExample
Copyright 2017 Victor Peschenkov
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.
*/
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
@end
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Assets.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" : "ipad",
"size" : "20x20",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "83.5x83.5",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" systemVersion="17A277" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13196" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<device id="retina3_5" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13173"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Eml-Ue-4Aw">
<rect key="frame" x="16" y="20" width="288" height="440"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="Eml-Ue-4Aw" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="16" id="5BN-oE-zQA"/>
<constraint firstItem="Eml-Ue-4Aw" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="QXd-bn-aMw"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="Eml-Ue-4Aw" secondAttribute="trailing" constant="16" id="djU-wy-f35"/>
<constraint firstItem="Eml-Ue-4Aw" firstAttribute="top" relation="greaterThanOrEqual" secondItem="6Tk-OE-BBY" secondAttribute="top" id="lEZ-LU-9Pu"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" relation="lessThanOrEqual" secondItem="Eml-Ue-4Aw" secondAttribute="bottom" constant="20" id="n6Z-W6-8oL"/>
</constraints>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
<connections>
<outlet property="avatarImageView" destination="Eml-Ue-4Aw" id="s1g-S8-MHC"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/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>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</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>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
</dict>
</plist>
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/ViewController.h
================================================
/*
ViewController.h
LetterAvatarKitObjcExample
Copyright 2017 Victor Peschenkov
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.
*/
@import UIKit;
@interface ViewController : UIViewController
@end
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/ViewController.m
================================================
/*
ViewController.m
LetterAvatarKitObjcExample
Copyright 2017 Victor Peschenkov
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.
*/
#import "ViewController.h"
@import LetterAvatarKit;
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *avatarImageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
LKLetterAvatarBuilderConfiguration *configuration = [[LKLetterAvatarBuilderConfiguration alloc] init];
configuration.size = CGSizeMake([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.width);
configuration.username = @"Letter Avatar";
self.avatarImageView.image = [UIImage lk_makeLetterAvatarWithConfiguration:configuration];
}
@end
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/main.m
================================================
/*
main.m
LetterAvatarKitObjcExample
Copyright 2017 Victor Peschenkov
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.
*/
@import UIKit;
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
46FA21BD4EB27BE5F7A6C8D1 /* Pods_LetterAvatarKitObjcExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F79E7DD64DB65922D1B10481 /* Pods_LetterAvatarKitObjcExample.framework */; };
EBEC63DD1F8CF4D500CE334B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EBEC63DC1F8CF4D500CE334B /* AppDelegate.m */; };
EBEC63E01F8CF4D500CE334B /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = EBEC63DF1F8CF4D500CE334B /* ViewController.m */; };
EBEC63E31F8CF4D500CE334B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EBEC63E11F8CF4D500CE334B /* Main.storyboard */; };
EBEC63E51F8CF4D500CE334B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EBEC63E41F8CF4D500CE334B /* Assets.xcassets */; };
EBEC63E81F8CF4D500CE334B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = EBEC63E61F8CF4D500CE334B /* LaunchScreen.storyboard */; };
EBEC63EB1F8CF4D500CE334B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EBEC63EA1F8CF4D500CE334B /* main.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
40F6D7CDB10F35F29B5D6BB4 /* Pods-LetterAvatarKitObjcExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LetterAvatarKitObjcExample.release.xcconfig"; path = "Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.release.xcconfig"; sourceTree = "<group>"; };
E632DE081B73AD6E0E65D8CC /* Pods-LetterAvatarKitObjcExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LetterAvatarKitObjcExample.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.debug.xcconfig"; sourceTree = "<group>"; };
EBEC63D81F8CF4D500CE334B /* LetterAvatarKitObjcExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LetterAvatarKitObjcExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
EBEC63DB1F8CF4D500CE334B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
EBEC63DC1F8CF4D500CE334B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
EBEC63DE1F8CF4D500CE334B /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
EBEC63DF1F8CF4D500CE334B /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; };
EBEC63E21F8CF4D500CE334B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
EBEC63E41F8CF4D500CE334B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
EBEC63E71F8CF4D500CE334B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
EBEC63E91F8CF4D500CE334B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
EBEC63EA1F8CF4D500CE334B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
F79E7DD64DB65922D1B10481 /* Pods_LetterAvatarKitObjcExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LetterAvatarKitObjcExample.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
EBEC63D51F8CF4D500CE334B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
46FA21BD4EB27BE5F7A6C8D1 /* Pods_LetterAvatarKitObjcExample.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
607787658201234DEF6A20B9 /* Frameworks */ = {
isa = PBXGroup;
children = (
F79E7DD64DB65922D1B10481 /* Pods_LetterAvatarKitObjcExample.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
CFE403314954231013ACA49D /* Pods */ = {
isa = PBXGroup;
children = (
E632DE081B73AD6E0E65D8CC /* Pods-LetterAvatarKitObjcExample.debug.xcconfig */,
40F6D7CDB10F35F29B5D6BB4 /* Pods-LetterAvatarKitObjcExample.release.xcconfig */,
);
name = Pods;
sourceTree = "<group>";
};
EBEC63CF1F8CF4D500CE334B = {
isa = PBXGroup;
children = (
EBEC63DA1F8CF4D500CE334B /* LetterAvatarKitObjcExample */,
EBEC63D91F8CF4D500CE334B /* Products */,
CFE403314954231013ACA49D /* Pods */,
607787658201234DEF6A20B9 /* Frameworks */,
);
sourceTree = "<group>";
};
EBEC63D91F8CF4D500CE334B /* Products */ = {
isa = PBXGroup;
children = (
EBEC63D81F8CF4D500CE334B /* LetterAvatarKitObjcExample.app */,
);
name = Products;
sourceTree = "<group>";
};
EBEC63DA1F8CF4D500CE334B /* LetterAvatarKitObjcExample */ = {
isa = PBXGroup;
children = (
EBEC63DB1F8CF4D500CE334B /* AppDelegate.h */,
EBEC63DC1F8CF4D500CE334B /* AppDelegate.m */,
EBEC63DE1F8CF4D500CE334B /* ViewController.h */,
EBEC63DF1F8CF4D500CE334B /* ViewController.m */,
EBEC63E11F8CF4D500CE334B /* Main.storyboard */,
EBEC63E41F8CF4D500CE334B /* Assets.xcassets */,
EBEC63E61F8CF4D500CE334B /* LaunchScreen.storyboard */,
EBEC63E91F8CF4D500CE334B /* Info.plist */,
EBEC63EA1F8CF4D500CE334B /* main.m */,
);
path = LetterAvatarKitObjcExample;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
EBEC63D71F8CF4D500CE334B /* LetterAvatarKitObjcExample */ = {
isa = PBXNativeTarget;
buildConfigurationList = EBEC63EE1F8CF4D500CE334B /* Build configuration list for PBXNativeTarget "LetterAvatarKitObjcExample" */;
buildPhases = (
5A359C70069A3D9A0849A767 /* [CP] Check Pods Manifest.lock */,
EBEC63D41F8CF4D500CE334B /* Sources */,
EBEC63D51F8CF4D500CE334B /* Frameworks */,
EBEC63D61F8CF4D500CE334B /* Resources */,
BEE50A44E6DFE0BD195747AB /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = LetterAvatarKitObjcExample;
productName = LetterAvatarKitObjcExample;
productReference = EBEC63D81F8CF4D500CE334B /* LetterAvatarKitObjcExample.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
EBEC63D01F8CF4D500CE334B /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1100;
ORGANIZATIONNAME = "Victor Peschenkov";
TargetAttributes = {
EBEC63D71F8CF4D500CE334B = {
CreatedOnToolsVersion = 9.0;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = EBEC63D31F8CF4D500CE334B /* Build configuration list for PBXProject "LetterAvatarKitObjcExample" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = EBEC63CF1F8CF4D500CE334B;
productRefGroup = EBEC63D91F8CF4D500CE334B /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
EBEC63D71F8CF4D500CE334B /* LetterAvatarKitObjcExample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
EBEC63D61F8CF4D500CE334B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EBEC63E81F8CF4D500CE334B /* LaunchScreen.storyboard in Resources */,
EBEC63E51F8CF4D500CE334B /* Assets.xcassets in Resources */,
EBEC63E31F8CF4D500CE334B /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
5A359C70069A3D9A0849A767 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-LetterAvatarKitObjcExample-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
BEE50A44E6DFE0BD195747AB /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/LetterAvatarKit/LetterAvatarKit.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LetterAvatarKit.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
EBEC63D41F8CF4D500CE334B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EBEC63E01F8CF4D500CE334B /* ViewController.m in Sources */,
EBEC63EB1F8CF4D500CE334B /* main.m in Sources */,
EBEC63DD1F8CF4D500CE334B /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
EBEC63E11F8CF4D500CE334B /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
EBEC63E21F8CF4D500CE334B /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
EBEC63E61F8CF4D500CE334B /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
EBEC63E71F8CF4D500CE334B /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
EBEC63EC1F8CF4D500CE334B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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_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;
CODE_SIGN_IDENTITY = "iPhone Developer";
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 = (
"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 = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
EBEC63ED1F8CF4D500CE334B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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_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;
CODE_SIGN_IDENTITY = "iPhone Developer";
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_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 = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
EBEC63EF1F8CF4D500CE334B /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E632DE081B73AD6E0E65D8CC /* Pods-LetterAvatarKitObjcExample.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LetterAvatarKitObjcExample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.peschenkov.LetterAvatarKitObjcExample;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
EBEC63F01F8CF4D500CE334B /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 40F6D7CDB10F35F29B5D6BB4 /* Pods-LetterAvatarKitObjcExample.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
INFOPLIST_FILE = LetterAvatarKitObjcExample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.peschenkov.LetterAvatarKitObjcExample;
PRODUCT_NAME = "$(TARGET_NAME)";
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
EBEC63D31F8CF4D500CE334B /* Build configuration list for PBXProject "LetterAvatarKitObjcExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EBEC63EC1F8CF4D500CE334B /* Debug */,
EBEC63ED1F8CF4D500CE334B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
EBEC63EE1F8CF4D500CE334B /* Build configuration list for PBXNativeTarget "LetterAvatarKitObjcExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
EBEC63EF1F8CF4D500CE334B /* Debug */,
EBEC63F01F8CF4D500CE334B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = EBEC63D01F8CF4D500CE334B /* Project object */;
}
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:LetterAvatarKitObjcExample.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: LetterAvatarKitObjcExample/LetterAvatarKitObjcExample.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:LetterAvatarKitObjcExample.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>
================================================
FILE: LetterAvatarKitObjcExample/Podfile
================================================
platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target 'LetterAvatarKitObjcExample' do
pod "LetterAvatarKit", :path => "../"
end
================================================
FILE: LetterAvatarKitObjcExample/Pods/Local Podspecs/LetterAvatarKit.podspec.json
================================================
{
"name": "LetterAvatarKit",
"platforms": {
"ios": "8.0"
},
"version": "1.2.1",
"license": {
"type": "MIT"
},
"homepage": "https://github.com/vpeschenkov/LetterAvatarKit",
"authors": {
"Viktor Peschenkov": "v.peschenkov@gmail.com"
},
"summary": "An extension that generates letter-based avatars/placeholders written in Swift",
"source": {
"git": "https://github.com/vpeschenkov/LetterAvatarKit.git",
"tag": "1.2.1"
},
"source_files": [
"LetterAvatarKit/*.{h,swift}",
"LetterAvatarKit/Extensions/*.{swift}"
],
"requires_arc": true,
"frameworks": [
"Foundation",
"UIKit"
],
"swift_versions": "5.0",
"swift_version": "5.0"
}
================================================
FILE: LetterAvatarKitObjcExample/Pods/Pods.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 48;
objects = {
/* Begin PBXBuildFile section */
0F55DC4A827824DF0F5F9B22A254D434 /* UIColor+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E9BF32A454FA11EA9B0A51D7585499E /* UIColor+LetterAvatarKit.swift */; };
19E09AFDD0E82A054C5A307432F1DC76 /* Pods-LetterAvatarKitObjcExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 88633E760E91F5DB5655075DC75A60E1 /* Pods-LetterAvatarKitObjcExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
20A650EB1E7C8045010B4AFA6CCD89F3 /* LetterAvatarBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FEC7E67B4ACCE8D3C71AF49056DA9A8 /* LetterAvatarBuilder.swift */; };
20F9424F46741F8CA46D7393BA9DBD0B /* LetterAvatarKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5ABBC4D9458F23B38DA6C5B5F0834B76 /* LetterAvatarKit-dummy.m */; };
22FC893DD469F2835F808E08D669F97E /* Pods-LetterAvatarKitObjcExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C50D087AE41542C5113C0257B89E33B /* Pods-LetterAvatarKitObjcExample-dummy.m */; };
2A7D08911242525AC2BBAC1E626EEF10 /* Character+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DECEB5DDF01C1A0EB8418234BA17452 /* Character+LetterAvatarKit.swift */; };
2BCB24FE50C2EE156DA2BB4CED48174A /* LetterAvatarKit.h in Headers */ = {isa = PBXBuildFile; fileRef = B7CCCAA4FF8B6649CE22562854BFC69F /* LetterAvatarKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
3AA27E2E6603E85CC93A5E5A586F5113 /* LetterAvatarBuilderConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85D288C2A8894EFA80619913FAE56490 /* LetterAvatarBuilderConfiguration.swift */; };
6862CB88019C04E95E8C888DB44C1DBB /* LetterAvatarMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779F265110D2453F4BA9536A5B157965 /* LetterAvatarMakerExtendable.swift */; };
7DD95FBC166F6E09EBABCD489AFF7D6B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 436BAA54A31999B53B3CC7115C55FE50 /* Foundation.framework */; };
8B24B7503165556923D8D926CFD8CC68 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 312B988EF117AE4DE76A268D970131FE /* UIKit.framework */; };
B1569E201C78FE50BDDD0CF4D5D2FBE7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 436BAA54A31999B53B3CC7115C55FE50 /* Foundation.framework */; };
BD82DD765EA58EE3C568864183550384 /* LetterAvatarMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76265D46F45CA31F735AE944955F3090 /* LetterAvatarMaker.swift */; };
D4FC11C3CCE142EFCA7E04FC96135329 /* LetterAvatarKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 07AB794DBA7D3FC57F1CE52437FF92E1 /* LetterAvatarKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
DB46711390F009E0B32FB4154D7A09CF /* UIImage+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E3DF090B2D999F9611E4367EEC38BAA /* UIImage+LetterAvatarKit.swift */; };
E544276E5EFFA82AAD26DCFF5232943B /* String+LetterAvatarKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6F719F05868B0CE9C301D85F81B90A5 /* String+LetterAvatarKit.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
8DE6AB1BD549A72EC0A776AB806BDBB2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = D9F7736046D8F388E749400613707326;
remoteInfo = LetterAvatarKit;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
07AB794DBA7D3FC57F1CE52437FF92E1 /* LetterAvatarKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LetterAvatarKit-umbrella.h"; sourceTree = "<group>"; };
0BA107F8470A3DD3D9280D7A375347FD /* LetterAvatarKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "LetterAvatarKit-prefix.pch"; sourceTree = "<group>"; };
0D83C87F7D61A27F12A19E22B3173F2D /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/Classes.html; sourceTree = "<group>"; };
123252F631A8F393863B15A216C1513D /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/img/carat.png; sourceTree = "<group>"; };
15F9CCA5786FEF74B11D867FB973DEE0 /* Pods-LetterAvatarKitObjcExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-LetterAvatarKitObjcExample-frameworks.sh"; sourceTree = "<group>"; };
1686ED9EC1754982B62A4E2FCEEDA239 /* LetterAvatarKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "LetterAvatarKit-Info.plist"; sourceTree = "<group>"; };
19F6558309DB4FD505632F2AF35C0AE7 /* carat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = carat.png; path = docs/img/carat.png; sourceTree = "<group>"; };
312B988EF117AE4DE76A268D970131FE /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
312CDE39B9D1BC49B92A78237DB39F98 /* LetterAvatarBuilderConfiguration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = LetterAvatarBuilderConfiguration.html; path = docs/Classes/LetterAvatarBuilderConfiguration.html; sourceTree = "<group>"; };
3225B610822FFF2265134C92F7E6ACC2 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/search.json; sourceTree = "<group>"; };
353245E92E269EFC1F09D150390FC13E /* LetterAvatarKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = LetterAvatarKit.xcconfig; sourceTree = "<group>"; };
38205A8531F7E916E7E4642B60340D7B /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/img/gh.png; sourceTree = "<group>"; };
3F75AFED5837C88AEF197D47BAA22140 /* Pods-LetterAvatarKitObjcExample-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LetterAvatarKitObjcExample-Info.plist"; sourceTree = "<group>"; };
435363007DD6E5E6CF321B4D3A9ABB77 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/css/highlight.css; sourceTree = "<group>"; };
436BAA54A31999B53B3CC7115C55FE50 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
45297D5EDDC0D4EE752B938CD25940FF /* LetterAvatarBuilderConfiguration.html */ = {isa = PBXFileReference; includeInIndex = 1; name = LetterAvatarBuilderConfiguration.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Classes/LetterAvatarBuilderConfiguration.html; sourceTree = "<group>"; };
4C50D087AE41542C5113C0257B89E33B /* Pods-LetterAvatarKitObjcExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-LetterAvatarKitObjcExample-dummy.m"; sourceTree = "<group>"; };
4C51C23361C1B7FD2BD39F56EA51E950 /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/js/jazzy.js; sourceTree = "<group>"; };
50DF8C1FB951CCD5512D371876B30218 /* gh.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = gh.png; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/img/gh.png; sourceTree = "<group>"; };
563250A697FB009E508EB46B20DE1ADA /* LetterAvatarKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = LetterAvatarKit.framework; path = LetterAvatarKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
575456FB39CC6683D8FDA84DB3CBF9E7 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = docs/docsets/LetterAvatarKit.docset/Contents/Info.plist; sourceTree = "<group>"; };
57DA105AAD84B0803F512F9AEAC73BE0 /* Pods-LetterAvatarKitObjcExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-LetterAvatarKitObjcExample-acknowledgements.plist"; sourceTree = "<group>"; };
5ABBC4D9458F23B38DA6C5B5F0834B76 /* LetterAvatarKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "LetterAvatarKit-dummy.m"; sourceTree = "<group>"; };
5C5AF5110275E531D68AE386024C94D5 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/index.html; sourceTree = "<group>"; };
633B61E25A133A5A30D36523108A0FBB /* UIColor.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIColor.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Extensions/UIColor.html; sourceTree = "<group>"; };
6E3DF090B2D999F9611E4367EEC38BAA /* UIImage+LetterAvatarKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIImage+LetterAvatarKit.swift"; sourceTree = "<group>"; };
6EDAB50B5720BCC8EE0074B007E33C57 /* undocumented.json */ = {isa = PBXFileReference; includeInIndex = 1; name = undocumented.json; path = docs/undocumented.json; sourceTree = "<group>"; };
72BBB8D54CE353B808481EBAFCAD212B /* Pods-LetterAvatarKitObjcExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LetterAvatarKitObjcExample.release.xcconfig"; sourceTree = "<group>"; };
745DD5D6AA31D8FAA73A64B779178412 /* jazzy.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.js; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/js/jazzy.js; sourceTree = "<group>"; };
75D5DE0AD7635D1C151A4D75910BCDF8 /* docSet.dsidx */ = {isa = PBXFileReference; includeInIndex = 1; name = docSet.dsidx; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/docSet.dsidx; sourceTree = "<group>"; };
76265D46F45CA31F735AE944955F3090 /* LetterAvatarMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LetterAvatarMaker.swift; path = LetterAvatarKit/LetterAvatarMaker.swift; sourceTree = "<group>"; };
779F265110D2453F4BA9536A5B157965 /* LetterAvatarMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LetterAvatarMakerExtendable.swift; path = LetterAvatarKit/LetterAvatarMakerExtendable.swift; sourceTree = "<group>"; };
7A59E7C021AB8A1E75725C609C654583 /* Pods-LetterAvatarKitObjcExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-LetterAvatarKitObjcExample.debug.xcconfig"; sourceTree = "<group>"; };
7ACED043FF9E44B347F98FB468A2C946 /* highlight.css */ = {isa = PBXFileReference; includeInIndex = 1; name = highlight.css; path = docs/css/highlight.css; sourceTree = "<group>"; };
7DECEB5DDF01C1A0EB8418234BA17452 /* Character+LetterAvatarKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Character+LetterAvatarKit.swift"; sourceTree = "<group>"; };
7FEC7E67B4ACCE8D3C71AF49056DA9A8 /* LetterAvatarBuilder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LetterAvatarBuilder.swift; path = LetterAvatarKit/LetterAvatarBuilder.swift; sourceTree = "<group>"; };
83D3FFFE41744BA1AB17EE94FB5D3222 /* Pods-LetterAvatarKitObjcExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-LetterAvatarKitObjcExample-acknowledgements.markdown"; sourceTree = "<group>"; };
84891BB7EE84E87C39498943CC5DCD97 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; };
85D288C2A8894EFA80619913FAE56490 /* LetterAvatarBuilderConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LetterAvatarBuilderConfiguration.swift; path = LetterAvatarKit/LetterAvatarBuilderConfiguration.swift; sourceTree = "<group>"; };
88633E760E91F5DB5655075DC75A60E1 /* Pods-LetterAvatarKitObjcExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-LetterAvatarKitObjcExample-umbrella.h"; sourceTree = "<group>"; };
88E58D99E913338C79A02C7EEFEC6F0B /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/css/jazzy.css; sourceTree = "<group>"; };
8FA63BF2A3314F5F516B4D46047D6DD7 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/js/jquery.min.js; sourceTree = "<group>"; };
98A4D5BCB4F5BCC6B1D8662F6C7ED132 /* jazzy.css */ = {isa = PBXFileReference; includeInIndex = 1; name = jazzy.css; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/css/jazzy.css; 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; };
9E9BF32A454FA11EA9B0A51D7585499E /* UIColor+LetterAvatarKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+LetterAvatarKit.swift"; sourceTree = "<group>"; };
A02E7590AEC392D630C1121387CA581B /* Pods_LetterAvatarKitObjcExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_LetterAvatarKitObjcExample.framework; path = "Pods-LetterAvatarKitObjcExample.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
A4F0599DC45DB976968BCD680742B6F0 /* UIImage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIImage.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Extensions/UIImage.html; sourceTree = "<group>"; };
A55A78B3D60068A27731774A8E00DBCA /* UIImage.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIImage.html; path = docs/Extensions/UIImage.html; sourceTree = "<group>"; };
B1586633F6BB7D67A9B4DFF8D83E4A75 /* jquery.min.js */ = {isa = PBXFileReference; includeInIndex = 1; name = jquery.min.js; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/js/jquery.min.js; sourceTree = "<group>"; };
B7CCCAA4FF8B6649CE22562854BFC69F /* LetterAvatarKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = LetterAvatarKit.h; path = LetterAvatarKit/LetterAvatarKit.h; sourceTree = "<group>"; };
BBB3F5AF86BA1E3E5DA1FA47537F95D3 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
BD613EA6BF47D4DBEEE0CE141DCC268D /* Classes.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Classes.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Classes.html; sourceTree = "<group>"; };
C09FA921BD1D80123A682C03631B9910 /* index.html */ = {isa = PBXFileReference; includeInIndex = 1; name = index.html; path = docs/index.html; sourceTree = "<group>"; };
C17F7FC550C22834483730A6DA76F140 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/img/dash.png; sourceTree = "<group>"; };
C65EC991BF71A053B053F22C36DE3421 /* LetterAvatarKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = LetterAvatarKit.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
C6F719F05868B0CE9C301D85F81B90A5 /* String+LetterAvatarKit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "String+LetterAvatarKit.swift"; sourceTree = "<group>"; };
CA2BC862CCCB66160C18BE5E1BB883AC /* LetterAvatarBuilder.html */ = {isa = PBXFileReference; includeInIndex = 1; name = LetterAvatarBuilder.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Classes/LetterAvatarBuilder.html; sourceTree = "<group>"; };
D6ABFDA1B08E8BFB2133E48A35EE9100 /* search.json */ = {isa = PBXFileReference; includeInIndex = 1; name = search.json; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/search.json; sourceTree = "<group>"; };
DAA6CE5048DB0366CCD87B88201B7F34 /* LetterAvatarBuilder.html */ = {isa = PBXFileReference; includeInIndex = 1; name = LetterAvatarBuilder.html; path = docs/Classes/LetterAvatarBuilder.html; sourceTree = "<group>"; };
DBB5BC7F6F7ED92F7914CDCBD2A06402 /* badge.svg */ = {isa = PBXFileReference; includeInIndex = 1; name = badge.svg; path = docs/badge.svg; sourceTree = "<group>"; };
E40EC74139BDE7857EC02630448E67F1 /* dash.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = dash.png; path = docs/img/dash.png; sourceTree = "<group>"; };
E6B47B7C99CD790E9BA7136AB26DCD21 /* UIColor.html */ = {isa = PBXFileReference; includeInIndex = 1; name = UIColor.html; path = docs/Extensions/UIColor.html; sourceTree = "<group>"; };
F1B750D78FAA754D7A313A2A17EDD04B /* LetterAvatarKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = LetterAvatarKit.modulemap; sourceTree = "<group>"; };
F650906B7E9588704C135318FB00404A /* LetterAvatarKit.tgz */ = {isa = PBXFileReference; includeInIndex = 1; name = LetterAvatarKit.tgz; path = docs/docsets/LetterAvatarKit.tgz; sourceTree = "<group>"; };
FEA672F03D0F19A455BA7E4918DFEC57 /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Extensions.html; sourceTree = "<group>"; };
FECD6C43767F5A8370001E10FBF0BFFB /* Extensions.html */ = {isa = PBXFileReference; includeInIndex = 1; name = Extensions.html; path = docs/Extensions.html; sourceTree = "<group>"; };
FF7453E93E928A00990323F089EE81DD /* Pods-LetterAvatarKitObjcExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-LetterAvatarKitObjcExample.modulemap"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
37326C57105ABBA3169413E6D77B4E05 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B1569E201C78FE50BDDD0CF4D5D2FBE7 /* Foundation.framework in Frameworks */,
8B24B7503165556923D8D926CFD8CC68 /* UIKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
72109030A4A8B6CEF133440CF76C147E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7DD95FBC166F6E09EBABCD489AFF7D6B /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
00B516C94F659A3326213FAEEB8B7602 /* Extensions */ = {
isa = PBXGroup;
children = (
7DECEB5DDF01C1A0EB8418234BA17452 /* Character+LetterAvatarKit.swift */,
C6F719F05868B0CE9C301D85F81B90A5 /* String+LetterAvatarKit.swift */,
9E9BF32A454FA11EA9B0A51D7585499E /* UIColor+LetterAvatarKit.swift */,
6E3DF090B2D999F9611E4367EEC38BAA /* UIImage+LetterAvatarKit.swift */,
);
name = Extensions;
path = LetterAvatarKit/Extensions;
sourceTree = "<group>";
};
1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = {
isa = PBXGroup;
children = (
E2983683FD097A93297E2F5D4E382B36 /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
4976543EBAB61E883CED310A59E37171 /* Support Files */ = {
isa = PBXGroup;
children = (
F1B750D78FAA754D7A313A2A17EDD04B /* LetterAvatarKit.modulemap */,
353245E92E269EFC1F09D150390FC13E /* LetterAvatarKit.xcconfig */,
5ABBC4D9458F23B38DA6C5B5F0834B76 /* LetterAvatarKit-dummy.m */,
1686ED9EC1754982B62A4E2FCEEDA239 /* LetterAvatarKit-Info.plist */,
0BA107F8470A3DD3D9280D7A375347FD /* LetterAvatarKit-prefix.pch */,
07AB794DBA7D3FC57F1CE52437FF92E1 /* LetterAvatarKit-umbrella.h */,
);
name = "Support Files";
path = "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit";
sourceTree = "<group>";
};
B6B8708A128F98BB45BCA3A4939BB12B /* Development Pods */ = {
isa = PBXGroup;
children = (
DFA0F8F1462E622ECAF459CD99013F1D /* LetterAvatarKit */,
);
name = "Development Pods";
sourceTree = "<group>";
};
C2000A16CE439504DB37FF631AE029F7 /* Pods-LetterAvatarKitObjcExample */ = {
isa = PBXGroup;
children = (
FF7453E93E928A00990323F089EE81DD /* Pods-LetterAvatarKitObjcExample.modulemap */,
83D3FFFE41744BA1AB17EE94FB5D3222 /* Pods-LetterAvatarKitObjcExample-acknowledgements.markdown */,
57DA105AAD84B0803F512F9AEAC73BE0 /* Pods-LetterAvatarKitObjcExample-acknowledgements.plist */,
4C50D087AE41542C5113C0257B89E33B /* Pods-LetterAvatarKitObjcExample-dummy.m */,
15F9CCA5786FEF74B11D867FB973DEE0 /* Pods-LetterAvatarKitObjcExample-frameworks.sh */,
3F75AFED5837C88AEF197D47BAA22140 /* Pods-LetterAvatarKitObjcExample-Info.plist */,
88633E760E91F5DB5655075DC75A60E1 /* Pods-LetterAvatarKitObjcExample-umbrella.h */,
7A59E7C021AB8A1E75725C609C654583 /* Pods-LetterAvatarKitObjcExample.debug.xcconfig */,
72BBB8D54CE353B808481EBAFCAD212B /* Pods-LetterAvatarKitObjcExample.release.xcconfig */,
);
name = "Pods-LetterAvatarKitObjcExample";
path = "Target Support Files/Pods-LetterAvatarKitObjcExample";
sourceTree = "<group>";
};
C57FF64956861DD3957C59EDAA1C4299 /* Targets Support Files */ = {
isa = PBXGroup;
children = (
C2000A16CE439504DB37FF631AE029F7 /* Pods-LetterAvatarKitObjcExample */,
);
name = "Targets Support Files";
sourceTree = "<group>";
};
CBBA3580666EF57882AD99C9D40D1EDE /* Products */ = {
isa = PBXGroup;
children = (
563250A697FB009E508EB46B20DE1ADA /* LetterAvatarKit.framework */,
A02E7590AEC392D630C1121387CA581B /* Pods_LetterAvatarKitObjcExample.framework */,
);
name = Products;
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
B6B8708A128F98BB45BCA3A4939BB12B /* Development Pods */,
1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */,
CBBA3580666EF57882AD99C9D40D1EDE /* Products */,
C57FF64956861DD3957C59EDAA1C4299 /* Targets Support Files */,
);
sourceTree = "<group>";
};
D9E5DF36ABB0FF89DBC675978BEE6687 /* Pod */ = {
isa = PBXGroup;
children = (
DBB5BC7F6F7ED92F7914CDCBD2A06402 /* badge.svg */,
123252F631A8F393863B15A216C1513D /* carat.png */,
19F6558309DB4FD505632F2AF35C0AE7 /* carat.png */,
0D83C87F7D61A27F12A19E22B3173F2D /* Classes.html */,
BD613EA6BF47D4DBEEE0CE141DCC268D /* Classes.html */,
E40EC74139BDE7857EC02630448E67F1 /* dash.png */,
C17F7FC550C22834483730A6DA76F140 /* dash.png */,
75D5DE0AD7635D1C151A4D75910BCDF8 /* docSet.dsidx */,
FECD6C43767F5A8370001E10FBF0BFFB /* Extensions.html */,
FEA672F03D0F19A455BA7E4918DFEC57 /* Extensions.html */,
50DF8C1FB951CCD5512D371876B30218 /* gh.png */,
38205A8531F7E916E7E4642B60340D7B /* gh.png */,
7ACED043FF9E44B347F98FB468A2C946 /* highlight.css */,
435363007DD6E5E6CF321B4D3A9ABB77 /* highlight.css */,
5C5AF5110275E531D68AE386024C94D5 /* index.html */,
C09FA921BD1D80123A682C03631B9910 /* index.html */,
575456FB39CC6683D8FDA84DB3CBF9E7 /* Info.plist */,
88E58D99E913338C79A02C7EEFEC6F0B /* jazzy.css */,
98A4D5BCB4F5BCC6B1D8662F6C7ED132 /* jazzy.css */,
4C51C23361C1B7FD2BD39F56EA51E950 /* jazzy.js */,
745DD5D6AA31D8FAA73A64B779178412 /* jazzy.js */,
B1586633F6BB7D67A9B4DFF8D83E4A75 /* jquery.min.js */,
8FA63BF2A3314F5F516B4D46047D6DD7 /* jquery.min.js */,
CA2BC862CCCB66160C18BE5E1BB883AC /* LetterAvatarBuilder.html */,
DAA6CE5048DB0366CCD87B88201B7F34 /* LetterAvatarBuilder.html */,
45297D5EDDC0D4EE752B938CD25940FF /* LetterAvatarBuilderConfiguration.html */,
312CDE39B9D1BC49B92A78237DB39F98 /* LetterAvatarBuilderConfiguration.html */,
C65EC991BF71A053B053F22C36DE3421 /* LetterAvatarKit.podspec */,
F650906B7E9588704C135318FB00404A /* LetterAvatarKit.tgz */,
BBB3F5AF86BA1E3E5DA1FA47537F95D3 /* LICENSE */,
84891BB7EE84E87C39498943CC5DCD97 /* README.md */,
D6ABFDA1B08E8BFB2133E48A35EE9100 /* search.json */,
3225B610822FFF2265134C92F7E6ACC2 /* search.json */,
E6B47B7C99CD790E9BA7136AB26DCD21 /* UIColor.html */,
633B61E25A133A5A30D36523108A0FBB /* UIColor.html */,
A55A78B3D60068A27731774A8E00DBCA /* UIImage.html */,
A4F0599DC45DB976968BCD680742B6F0 /* UIImage.html */,
6EDAB50B5720BCC8EE0074B007E33C57 /* undocumented.json */,
);
name = Pod;
sourceTree = "<group>";
};
DFA0F8F1462E622ECAF459CD99013F1D /* LetterAvatarKit */ = {
isa = PBXGroup;
children = (
7FEC7E67B4ACCE8D3C71AF49056DA9A8 /* LetterAvatarBuilder.swift */,
85D288C2A8894EFA80619913FAE56490 /* LetterAvatarBuilderConfiguration.swift */,
B7CCCAA4FF8B6649CE22562854BFC69F /* LetterAvatarKit.h */,
76265D46F45CA31F735AE944955F3090 /* LetterAvatarMaker.swift */,
779F265110D2453F4BA9536A5B157965 /* LetterAvatarMakerExtendable.swift */,
00B516C94F659A3326213FAEEB8B7602 /* Extensions */,
D9E5DF36ABB0FF89DBC675978BEE6687 /* Pod */,
4976543EBAB61E883CED310A59E37171 /* Support Files */,
);
name = LetterAvatarKit;
path = ../..;
sourceTree = "<group>";
};
E2983683FD097A93297E2F5D4E382B36 /* iOS */ = {
isa = PBXGroup;
children = (
436BAA54A31999B53B3CC7115C55FE50 /* Foundation.framework */,
312B988EF117AE4DE76A268D970131FE /* UIKit.framework */,
);
name = iOS;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
244FF069859AA7B8EF61387439FDB6D6 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
D4FC11C3CCE142EFCA7E04FC96135329 /* LetterAvatarKit-umbrella.h in Headers */,
2BCB24FE50C2EE156DA2BB4CED48174A /* LetterAvatarKit.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
8C4CA30676DD84336A90C0B81821C6F8 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
19E09AFDD0E82A054C5A307432F1DC76 /* Pods-LetterAvatarKitObjcExample-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
961D4DE155D1D97BBB2F3D48799AEBA6 /* Pods-LetterAvatarKitObjcExample */ = {
isa = PBXNativeTarget;
buildConfigurationList = 21C81B05DC95C00DC105754220F0ABAA /* Build configuration list for PBXNativeTarget "Pods-LetterAvatarKitObjcExample" */;
buildPhases = (
8C4CA30676DD84336A90C0B81821C6F8 /* Headers */,
A005208B949051BF0BBEF0C1F28B2F37 /* Sources */,
72109030A4A8B6CEF133440CF76C147E /* Frameworks */,
BC96164068B73C39027385B25784F896 /* Resources */,
);
buildRules = (
);
dependencies = (
AF902EEB956ABBEF6BB1160F6D5208DE /* PBXTargetDependency */,
);
name = "Pods-LetterAvatarKitObjcExample";
productName = "Pods-LetterAvatarKitObjcExample";
productReference = A02E7590AEC392D630C1121387CA581B /* Pods_LetterAvatarKitObjcExample.framework */;
productType = "com.apple.product-type.framework";
};
D9F7736046D8F388E749400613707326 /* LetterAvatarKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2DEE0AF4C0359DC99C7A3AD35023A462 /* Build configuration list for PBXNativeTarget "LetterAvatarKit" */;
buildPhases = (
244FF069859AA7B8EF61387439FDB6D6 /* Headers */,
8B2194BDA23785641939F6F168A694CD /* Sources */,
37326C57105ABBA3169413E6D77B4E05 /* Frameworks */,
A40D67E92FB588D365887D7880FEA65B /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = LetterAvatarKit;
productName = LetterAvatarKit;
productReference = 563250A697FB009E508EB46B20DE1ADA /* LetterAvatarKit.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1100;
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 8.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = CBBA3580666EF57882AD99C9D40D1EDE /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
D9F7736046D8F388E749400613707326 /* LetterAvatarKit */,
961D4DE155D1D97BBB2F3D48799AEBA6 /* Pods-LetterAvatarKitObjcExample */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
A40D67E92FB588D365887D7880FEA65B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BC96164068B73C39027385B25784F896 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8B2194BDA23785641939F6F168A694CD /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
2A7D08911242525AC2BBAC1E626EEF10 /* Character+LetterAvatarKit.swift in Sources */,
20A650EB1E7C8045010B4AFA6CCD89F3 /* LetterAvatarBuilder.swift in Sources */,
3AA27E2E6603E85CC93A5E5A586F5113 /* LetterAvatarBuilderConfiguration.swift in Sources */,
20F9424F46741F8CA46D7393BA9DBD0B /* LetterAvatarKit-dummy.m in Sources */,
BD82DD765EA58EE3C568864183550384 /* LetterAvatarMaker.swift in Sources */,
6862CB88019C04E95E8C888DB44C1DBB /* LetterAvatarMakerExtendable.swift in Sources */,
E544276E5EFFA82AAD26DCFF5232943B /* String+LetterAvatarKit.swift in Sources */,
0F55DC4A827824DF0F5F9B22A254D434 /* UIColor+LetterAvatarKit.swift in Sources */,
DB46711390F009E0B32FB4154D7A09CF /* UIImage+LetterAvatarKit.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A005208B949051BF0BBEF0C1F28B2F37 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
22FC893DD469F2835F808E08D669F97E /* Pods-LetterAvatarKitObjcExample-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
AF902EEB956ABBEF6BB1160F6D5208DE /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = LetterAvatarKit;
target = D9F7736046D8F388E749400613707326 /* LetterAvatarKit */;
targetProxy = 8DE6AB1BD549A72EC0A776AB806BDBB2 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
796BD5DC5B845DD6995BA0644FD4EF00 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 72BBB8D54CE353B808481EBAFCAD212B /* Pods-LetterAvatarKitObjcExample.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CODE_SIGN_IDENTITY = "";
"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-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-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-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.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;
};
8F17DC3A99F99FBAD606CE6963886315 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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;
};
916E0404255105F480DC4950B7625F7A /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
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_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;
};
BC5A75FDAB8203B1E49B3C21CCBD2253 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 353245E92E269EFC1F09D150390FC13E /* LetterAvatarKit.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"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/LetterAvatarKit/LetterAvatarKit-prefix.pch";
INFOPLIST_FILE = "Target Support Files/LetterAvatarKit/LetterAvatarKit-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/LetterAvatarKit/LetterAvatarKit.modulemap";
PRODUCT_MODULE_NAME = LetterAvatarKit;
PRODUCT_NAME = LetterAvatarKit;
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;
};
CD6202D1007CE72501CA574A30513B17 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7A59E7C021AB8A1E75725C609C654583 /* Pods-LetterAvatarKitObjcExample.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
CODE_SIGN_IDENTITY = "";
"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-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-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-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.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;
};
F6E7BA1528F475FF8DD495AF2A708E48 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 353245E92E269EFC1F09D150390FC13E /* LetterAvatarKit.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
"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/LetterAvatarKit/LetterAvatarKit-prefix.pch";
INFOPLIST_FILE = "Target Support Files/LetterAvatarKit/LetterAvatarKit-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MODULEMAP_FILE = "Target Support Files/LetterAvatarKit/LetterAvatarKit.modulemap";
PRODUCT_MODULE_NAME = LetterAvatarKit;
PRODUCT_NAME = LetterAvatarKit;
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;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
21C81B05DC95C00DC105754220F0ABAA /* Build configuration list for PBXNativeTarget "Pods-LetterAvatarKitObjcExample" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CD6202D1007CE72501CA574A30513B17 /* Debug */,
796BD5DC5B845DD6995BA0644FD4EF00 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2DEE0AF4C0359DC99C7A3AD35023A462 /* Build configuration list for PBXNativeTarget "LetterAvatarKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
F6E7BA1528F475FF8DD495AF2A708E48 /* Debug */,
BC5A75FDAB8203B1E49B3C21CCBD2253 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
916E0404255105F480DC4950B7625F7A /* Debug */,
8F17DC3A99F99FBAD606CE6963886315 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
}
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/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.1.7</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-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.2.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-dummy.m
================================================
#import <Foundation/Foundation.h>
@interface PodsDummy_LetterAvatarKit : NSObject
@end
@implementation PodsDummy_LetterAvatarKit
@end
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-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: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-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
#import "LetterAvatarKit.h"
FOUNDATION_EXPORT double LetterAvatarKitVersionNumber;
FOUNDATION_EXPORT const unsigned char LetterAvatarKitVersionString[];
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit.modulemap
================================================
framework module LetterAvatarKit {
umbrella header "LetterAvatarKit-umbrella.h"
export *
module * { export * }
}
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit.xcconfig
================================================
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LetterAvatarKit
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
OTHER_LDFLAGS = $(inherited) -framework "Foundation" -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}/../..
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/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: LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-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: LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-acknowledgements.markdown
================================================
# Acknowledgements
This application makes use of the following third party libraries:
## LetterAvatarKit
MIT License
Copyright (c) 2017 Victor Peschenkov
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: LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-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) 2017 Victor Peschenkov
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>LetterAvatarKit</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: LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-dummy.m
================================================
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_LetterAvatarKitObjcExample : NSObject
@end
@implementation PodsDummy_Pods_LetterAvatarKitObjcExample
@end
================================================
FILE: LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-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}"
# Used as a return value for each invocation of `strip_invalid_archs` function.
STRIP_BINARY_RETVAL=0
# 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
# Use filter instead of exclude so missing patterns don't throw errors.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\""
rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --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"
if [ -r "$source" ]; then
# Copy the dSYM into a 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 .framework.dSYM "$source")"
binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}"
# Strip invalid architectures so "fat" simulator / device frameworks work on device
if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then
strip_invalid_archs "$binary"
fi
if [[ $STRIP_BINARY_RETVAL == 1 ]]; then
# Move the stripped file into its final destination.
echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --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[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.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.
touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM"
fi
fi
}
# 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
}
# Strip invalid architectures
strip_invalid_archs() {
binary="$1"
# 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
echo "warning: [CP] Vendored binary '$binary' cont
gitextract_ksb492si/
├── .gitignore
├── .swift-version
├── .swiftlint.yml
├── .travis.yml
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Gemfile
├── ISSUE_TEMPLATE.md
├── LICENSE
├── LetterAvatarKit/
│ ├── Extensions/
│ │ ├── Character+LetterAvatarKit.swift
│ │ ├── String+LetterAvatarKit.swift
│ │ ├── UIColor+LetterAvatarKit.swift
│ │ └── UIImage+LetterAvatarKit.swift
│ ├── Info.plist
│ ├── LetterAvatarBuilder.swift
│ ├── LetterAvatarBuilderConfiguration.swift
│ ├── LetterAvatarKit.h
│ ├── LetterAvatarMaker.swift
│ └── LetterAvatarMakerExtendable.swift
├── LetterAvatarKit.podspec
├── LetterAvatarKit.xcodeproj/
│ ├── project.pbxproj
│ ├── project.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata/
│ └── xcschemes/
│ └── LetterAvatarKit.xcscheme
├── LetterAvatarKitExample/
│ ├── LetterAvatarKitExample/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ │ └── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── LetterAvatarController.swift
│ └── LetterAvatarKitExample.xcodeproj/
│ ├── project.pbxproj
│ └── project.xcworkspace/
│ ├── contents.xcworkspacedata
│ └── xcshareddata/
│ ├── IDEWorkspaceChecks.plist
│ └── swiftpm/
│ └── Package.resolved
├── LetterAvatarKitObjcExample/
│ ├── LetterAvatarKitObjcExample/
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets/
│ │ │ └── AppIcon.appiconset/
│ │ │ └── Contents.json
│ │ ├── Base.lproj/
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ ├── ViewController.h
│ │ ├── ViewController.m
│ │ └── main.m
│ ├── LetterAvatarKitObjcExample.xcodeproj/
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace/
│ │ └── contents.xcworkspacedata
│ ├── LetterAvatarKitObjcExample.xcworkspace/
│ │ └── contents.xcworkspacedata
│ ├── Podfile
│ └── Pods/
│ ├── Local Podspecs/
│ │ └── LetterAvatarKit.podspec.json
│ ├── Pods.xcodeproj/
│ │ └── project.pbxproj
│ └── Target Support Files/
│ ├── LetterAvatarKit/
│ │ ├── Info.plist
│ │ ├── LetterAvatarKit-Info.plist
│ │ ├── LetterAvatarKit-dummy.m
│ │ ├── LetterAvatarKit-prefix.pch
│ │ ├── LetterAvatarKit-umbrella.h
│ │ ├── LetterAvatarKit.modulemap
│ │ └── LetterAvatarKit.xcconfig
│ └── Pods-LetterAvatarKitObjcExample/
│ ├── Info.plist
│ ├── Pods-LetterAvatarKitObjcExample-Info.plist
│ ├── Pods-LetterAvatarKitObjcExample-acknowledgements.markdown
│ ├── Pods-LetterAvatarKitObjcExample-acknowledgements.plist
│ ├── Pods-LetterAvatarKitObjcExample-dummy.m
│ ├── Pods-LetterAvatarKitObjcExample-frameworks.sh
│ ├── Pods-LetterAvatarKitObjcExample-resources.sh
│ ├── Pods-LetterAvatarKitObjcExample-umbrella.h
│ ├── Pods-LetterAvatarKitObjcExample.debug.xcconfig
│ ├── Pods-LetterAvatarKitObjcExample.modulemap
│ └── Pods-LetterAvatarKitObjcExample.release.xcconfig
├── LetterAvatarKitTests/
│ ├── Extensions/
│ │ ├── Character+LetterAvatarKitTests.swift
│ │ ├── String+LetterAvatarKitTests.swift
│ │ ├── UIColor+LetterAvatarKitTests.swift
│ │ └── UIImage+LetterAvatarKitTests.swift
│ ├── Info.plist
│ ├── LetterAvatarBuilderTests.swift
│ ├── LetterAvatarMakerTests.swift
│ └── Utilities/
│ └── UIImage+Compare.swift
├── PULL_REQUEST_TEMPLATE.md
├── Package.swift
├── README.md
├── docs/
│ ├── Classes/
│ │ ├── LetterAvatarBuilder.html
│ │ └── LetterAvatarBuilderConfiguration.html
│ ├── Classes.html
│ ├── Extensions/
│ │ ├── UIColor.html
│ │ └── UIImage.html
│ ├── Extensions.html
│ ├── css/
│ │ ├── highlight.css
│ │ └── jazzy.css
│ ├── docsets/
│ │ ├── LetterAvatarKit.docset/
│ │ │ └── Contents/
│ │ │ ├── Info.plist
│ │ │ └── Resources/
│ │ │ ├── Documents/
│ │ │ │ ├── Classes/
│ │ │ │ │ ├── LetterAvatarBuilder.html
│ │ │ │ │ └── LetterAvatarBuilderConfiguration.html
│ │ │ │ ├── Classes.html
│ │ │ │ ├── Extensions/
│ │ │ │ │ ├── UIColor.html
│ │ │ │ │ └── UIImage.html
│ │ │ │ ├── Extensions.html
│ │ │ │ ├── css/
│ │ │ │ │ ├── highlight.css
│ │ │ │ │ └── jazzy.css
│ │ │ │ ├── index.html
│ │ │ │ ├── js/
│ │ │ │ │ └── jazzy.js
│ │ │ │ └── search.json
│ │ │ └── docSet.dsidx
│ │ └── LetterAvatarKit.tgz
│ ├── index.html
│ ├── js/
│ │ └── jazzy.js
│ ├── search.json
│ └── undocumented.json
├── fastlane/
│ ├── Appfile
│ ├── Fastfile
│ └── README.md
└── scripts/
└── generate_docs.sh
Condensed preview — 109 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (448K chars).
[
{
"path": ".gitignore",
"chars": 1448,
"preview": "# Xcode\n#\n# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore\n\n"
},
{
"path": ".swift-version",
"chars": 4,
"preview": "5.0\n"
},
{
"path": ".swiftlint.yml",
"chars": 245,
"preview": "disabled_rules:\n - trailing_whitespace\n\nincluded:\n - LetterAvatarKit\n - LetterAvatarKitTests\n\nline_length:\n - 110\n "
},
{
"path": ".travis.yml",
"chars": 96,
"preview": "language: objective-c\nosx_image: xcode12\n\ninstall:\n - bundle install\nscript:\n - fastlane test\n"
},
{
"path": "CHANGELOG.md",
"chars": 590,
"preview": "# CHANGELOG\n\n```\n#### Added for new features.\n#### Changed for changes in existing functionality.\n#### Deprecated for on"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3219,
"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": 232,
"preview": "- If you **need help** or you'd like to **ask a general question**, open an issue.\n- If you **found a bug**, open an iss"
},
{
"path": "Gemfile",
"chars": 46,
"preview": "source \"https://rubygems.org\"\n\ngem \"fastlane\"\n"
},
{
"path": "ISSUE_TEMPLATE.md",
"chars": 42,
"preview": "### Description\n\nDescribe your issue here."
},
{
"path": "LICENSE",
"chars": 1074,
"preview": "MIT License\n\nCopyright (c) 2017 Victor Peschenkov\n\nPermission is hereby granted, free of charge, to any person obtaining"
},
{
"path": "LetterAvatarKit/Extensions/Character+LetterAvatarKit.swift",
"chars": 1367,
"preview": "//\n// Character+LetterAvatarKit.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is here"
},
{
"path": "LetterAvatarKit/Extensions/String+LetterAvatarKit.swift",
"chars": 1461,
"preview": "//\n// String+LetterAvatarKit.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby "
},
{
"path": "LetterAvatarKit/Extensions/UIColor+LetterAvatarKit.swift",
"chars": 5002,
"preview": "//\n// UIColor+LetterAvatarKit.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby"
},
{
"path": "LetterAvatarKit/Extensions/UIImage+LetterAvatarKit.swift",
"chars": 3021,
"preview": "//\n// UIImage+LetterAvatarKit.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby"
},
{
"path": "LetterAvatarKit/Info.plist",
"chars": 791,
"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": "LetterAvatarKit/LetterAvatarBuilder.swift",
"chars": 7725,
"preview": "//\n// LetterAvatarKit.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby granted"
},
{
"path": "LetterAvatarKit/LetterAvatarBuilderConfiguration.swift",
"chars": 2706,
"preview": "//\n// LetterAvatarBuilderConfiguration.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission "
},
{
"path": "LetterAvatarKit/LetterAvatarKit.h",
"chars": 1398,
"preview": "//\n// LetterAvatarKit.h\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby granted, fr"
},
{
"path": "LetterAvatarKit/LetterAvatarMaker.swift",
"chars": 3827,
"preview": "//\n// LetterAvatarMaker.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby gra"
},
{
"path": "LetterAvatarKit/LetterAvatarMakerExtendable.swift",
"chars": 2290,
"preview": "//\n// LetterAvatarMakerExtendable.swift\n// LetterAvatarKit\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is "
},
{
"path": "LetterAvatarKit.podspec",
"chars": 811,
"preview": "Pod::Spec.new do |spec|\n spec.name = 'LetterAvatarKit'\n spec.ios.deployment_target = '9.0'\n spec.tvos.dep"
},
{
"path": "LetterAvatarKit.xcodeproj/project.pbxproj",
"chars": 29744,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "LetterAvatarKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 160,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:LetterAvatarKit"
},
{
"path": "LetterAvatarKit.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": "LetterAvatarKit.xcodeproj/xcshareddata/xcschemes/LetterAvatarKit.xcscheme",
"chars": 3657,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1100\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample/AppDelegate.swift",
"chars": 1285,
"preview": "//\n// AppDelegate.swift\n// LetterAvatarKitExample\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby gran"
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1495,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"size\" : \"20x20\",\n \"scale\" : \"2x\"\n },\n {\n \"idiom\""
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample/Base.lproj/LaunchScreen.storyboard",
"chars": 1681,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample/Base.lproj/Main.storyboard",
"chars": 3345,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample/Info.plist",
"chars": 1463,
"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": "LetterAvatarKitExample/LetterAvatarKitExample/LetterAvatarController.swift",
"chars": 1671,
"preview": "//\n// ViewController.swift\n// LetterAvatarKitExample\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is hereby g"
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.pbxproj",
"chars": 14069,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 52;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "LetterAvatarKitExample/LetterAvatarKitExample.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": "LetterAvatarKitExample/LetterAvatarKitExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved",
"chars": 337,
"preview": "{\n \"object\": {\n \"pins\": [\n {\n \"package\": \"LetterAvatarKit\",\n \"repositoryURL\": \"https://github.com"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/AppDelegate.h",
"chars": 1263,
"preview": "/*\n AppDelegate.h\n LetterAvatarKitObjcExample\n \n Copyright 2017 Victor Peschenkov\n \n Permission is hereby granted, free "
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/AppDelegate.m",
"chars": 1221,
"preview": "/*\n AppDelegate.m\n LetterAvatarKitObjcExample\n \n Copyright 2017 Victor Peschenkov\n \n Permission is hereby granted, free "
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1495,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"iphone\",\n \"size\" : \"20x20\",\n \"scale\" : \"2x\"\n },\n {\n \"idiom\""
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Base.lproj/LaunchScreen.storyboard",
"chars": 1681,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Base.lproj/Main.storyboard",
"chars": 3347,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/Info.plist",
"chars": 1463,
"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": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/ViewController.h",
"chars": 1201,
"preview": "/*\n ViewController.h\n LetterAvatarKitObjcExample\n \n Copyright 2017 Victor Peschenkov\n \n Permission is hereby granted, fr"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/ViewController.m",
"chars": 1751,
"preview": "/*\n ViewController.m\n LetterAvatarKitObjcExample\n \n Copyright 2017 Victor Peschenkov\n \n Permission is hereby granted, fr"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample/main.m",
"chars": 1321,
"preview": "/*\n main.m\n LetterAvatarKitObjcExample\n \n Copyright 2017 Victor Peschenkov\n \n Permission is hereby granted, free of char"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample.xcodeproj/project.pbxproj",
"chars": 17195,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 171,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:LetterAvatarKit"
},
{
"path": "LetterAvatarKitObjcExample/LetterAvatarKitObjcExample.xcworkspace/contents.xcworkspacedata",
"chars": 244,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:LetterAvatarKi"
},
{
"path": "LetterAvatarKitObjcExample/Podfile",
"chars": 171,
"preview": "platform :ios, '9.0'\nsource 'https://github.com/CocoaPods/Specs.git'\nuse_frameworks!\n\ntarget 'LetterAvatarKitObjcExample"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Local Podspecs/LetterAvatarKit.podspec.json",
"chars": 696,
"preview": "{\n \"name\": \"LetterAvatarKit\",\n \"platforms\": {\n \"ios\": \"8.0\"\n },\n \"version\": \"1.2.1\",\n \"license\": {\n \"type\": \""
},
{
"path": "LetterAvatarKitObjcExample/Pods/Pods.xcodeproj/project.pbxproj",
"chars": 43635,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/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": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-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": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-dummy.m",
"chars": 134,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_LetterAvatarKit : NSObject\n@end\n@implementation PodsDummy_LetterA"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-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": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit-umbrella.h",
"chars": 350,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPO"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit.modulemap",
"chars": 120,
"preview": "framework module LetterAvatarKit {\n umbrella header \"LetterAvatarKit-umbrella.h\"\n\n export *\n module * { export * }\n}\n"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/LetterAvatarKit/LetterAvatarKit.xcconfig",
"chars": 580,
"preview": "CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/LetterAvatarKit\nGCC_PREPROCESSOR_DEFINITIONS = $(inherited) CO"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/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": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-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": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-acknowledgements.markdown",
"chars": 1229,
"preview": "# Acknowledgements\nThis application makes use of the following third party libraries:\n\n## LetterAvatarKit\n\nMIT License\n\n"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-acknowledgements.plist",
"chars": 2102,
"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": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-dummy.m",
"chars": 166,
"preview": "#import <Foundation/Foundation.h>\n@interface PodsDummy_Pods_LetterAvatarKitObjcExample : NSObject\n@end\n@implementation P"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-frameworks.sh",
"chars": 7901,
"preview": "#!/bin/sh\nset -e\nset -u\nset -o pipefail\n\nfunction on_error {\n echo \"$(realpath -mq \"${0}\"):$1: error: Unexpected failur"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-resources.sh",
"chars": 6335,
"preview": "#!/bin/sh\nset -e\nset -u\nset -o pipefail\n\nif [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then\n # If UNLOCALIZED_RES"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample-umbrella.h",
"chars": 354,
"preview": "#ifdef __OBJC__\n#import <UIKit/UIKit.h>\n#else\n#ifndef FOUNDATION_EXPORT\n#if defined(__cplusplus)\n#define FOUNDATION_EXPO"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.debug.xcconfig",
"chars": 781,
"preview": "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES\nFRAMEWORK_SEARCH_PATHS = $(inherited) \"${PODS_CONFIGURATION_BUILD_DIR}/LetterAvata"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.modulemap",
"chars": 152,
"preview": "framework module Pods_LetterAvatarKitObjcExample {\n umbrella header \"Pods-LetterAvatarKitObjcExample-umbrella.h\"\n\n exp"
},
{
"path": "LetterAvatarKitObjcExample/Pods/Target Support Files/Pods-LetterAvatarKitObjcExample/Pods-LetterAvatarKitObjcExample.release.xcconfig",
"chars": 781,
"preview": "EMBEDDED_CONTENT_CONTAINS_SWIFT = YES\nFRAMEWORK_SEARCH_PATHS = $(inherited) \"${PODS_CONFIGURATION_BUILD_DIR}/LetterAvata"
},
{
"path": "LetterAvatarKitTests/Extensions/Character+LetterAvatarKitTests.swift",
"chars": 1555,
"preview": "//\n// Character+LetterAvatarKitTests.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permissi"
},
{
"path": "LetterAvatarKitTests/Extensions/String+LetterAvatarKitTests.swift",
"chars": 1456,
"preview": "//\n// String+LetterAvatarKitTests.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permissio"
},
{
"path": "LetterAvatarKitTests/Extensions/UIColor+LetterAvatarKitTests.swift",
"chars": 1925,
"preview": "//\n// UIColor+LetterAvatarKitTests.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permissi"
},
{
"path": "LetterAvatarKitTests/Extensions/UIImage+LetterAvatarKitTests.swift",
"chars": 4191,
"preview": "//\n// UIImage+LetterAvatarKitTests.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permissi"
},
{
"path": "LetterAvatarKitTests/Info.plist",
"chars": 701,
"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": "LetterAvatarKitTests/LetterAvatarBuilderTests.swift",
"chars": 5133,
"preview": "//\n// LetterAvatarBuilderTests.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is "
},
{
"path": "LetterAvatarKitTests/LetterAvatarMakerTests.swift",
"chars": 4435,
"preview": "//\n// LetterAvatarMakerTests.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is "
},
{
"path": "LetterAvatarKitTests/Utilities/UIImage+Compare.swift",
"chars": 4688,
"preview": "//\n// UIImage+TestsUtilities.swift\n// LetterAvatarKitTests\n//\n// Copyright 2017 Victor Peschenkov\n//\n// Permission is he"
},
{
"path": "PULL_REQUEST_TEMPLATE.md",
"chars": 285,
"preview": "### Summary\n\nDescribe the goal of this PR. Mention any related Issue numbers.\n\n### Requirements (place an `x` in each `"
},
{
"path": "Package.swift",
"chars": 721,
"preview": "// swift-tools-version:5.1\n// The swift-tools-version declares the minimum version of Swift required to build this packa"
},
{
"path": "README.md",
"chars": 5334,
"preview": "# LetterAvatarKit\n\n![][Swift Version] ![][Pods] ![][Platform] ![][Carthage compatible] ![][Codacy Badge]\n![][Travis]\n\n`L"
},
{
"path": "docs/Classes/LetterAvatarBuilder.html",
"chars": 6331,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>LetterAvatarBuilder Class Reference</title>\n <link rel=\"styleshe"
},
{
"path": "docs/Classes/LetterAvatarBuilderConfiguration.html",
"chars": 19783,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>LetterAvatarBuilderConfiguration Class Reference</title>\n <link "
},
{
"path": "docs/Classes.html",
"chars": 6318,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>Classes Reference</title>\n <link rel=\"stylesheet\" type=\"text/cs"
},
{
"path": "docs/Extensions/UIColor.html",
"chars": 4810,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>UIColor Extension Reference</title>\n <link rel=\"stylesheet\" type"
},
{
"path": "docs/Extensions/UIImage.html",
"chars": 12306,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>UIImage Extension Reference</title>\n <link rel=\"stylesheet\" type"
},
{
"path": "docs/Extensions.html",
"chars": 5938,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>Extensions Reference</title>\n <link rel=\"stylesheet\" type=\"text"
},
{
"path": "docs/css/highlight.css",
"chars": 4479,
"preview": "/* Credit to https://gist.github.com/wataru420/2048287 */\n.highlight {\n /* Comment */\n /* Error */\n /* Keyword */\n /"
},
{
"path": "docs/css/jazzy.css",
"chars": 6715,
"preview": "html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td {\n background: transparent;\n bord"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Info.plist",
"chars": 638,
"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": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Classes/LetterAvatarBuilder.html",
"chars": 6331,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>LetterAvatarBuilder Class Reference</title>\n <link rel=\"styleshe"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Classes/LetterAvatarBuilderConfiguration.html",
"chars": 19783,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>LetterAvatarBuilderConfiguration Class Reference</title>\n <link "
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Classes.html",
"chars": 6318,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>Classes Reference</title>\n <link rel=\"stylesheet\" type=\"text/cs"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Extensions/UIColor.html",
"chars": 4810,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>UIColor Extension Reference</title>\n <link rel=\"stylesheet\" type"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Extensions/UIImage.html",
"chars": 12306,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>UIImage Extension Reference</title>\n <link rel=\"stylesheet\" type"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/Extensions.html",
"chars": 5938,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>Extensions Reference</title>\n <link rel=\"stylesheet\" type=\"text"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/css/highlight.css",
"chars": 4479,
"preview": "/* Credit to https://gist.github.com/wataru420/2048287 */\n.highlight {\n /* Comment */\n /* Error */\n /* Keyword */\n /"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/css/jazzy.css",
"chars": 6715,
"preview": "html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td {\n background: transparent;\n bord"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/index.html",
"chars": 17631,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>LetterAvatarKit Reference</title>\n <link rel=\"stylesheet\" type="
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/js/jazzy.js",
"chars": 1395,
"preview": "window.jazzy = {'docset': false}\nif (typeof window.dash != 'undefined') {\n document.documentElement.className += ' dash"
},
{
"path": "docs/docsets/LetterAvatarKit.docset/Contents/Resources/Documents/search.json",
"chars": 4651,
"preview": "{\"Extensions/UIImage.html#/c:@CM@LetterAvatarKit@@objc(cs)UIImage(cm)lk_makeLetterAvatarWithConfiguration:\":{\"name\":\"mak"
},
{
"path": "docs/index.html",
"chars": 17631,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <title>LetterAvatarKit Reference</title>\n <link rel=\"stylesheet\" type="
},
{
"path": "docs/js/jazzy.js",
"chars": 1395,
"preview": "window.jazzy = {'docset': false}\nif (typeof window.dash != 'undefined') {\n document.documentElement.className += ' dash"
},
{
"path": "docs/search.json",
"chars": 4651,
"preview": "{\"Extensions/UIImage.html#/c:@CM@LetterAvatarKit@@objc(cs)UIImage(cm)lk_makeLetterAvatarWithConfiguration:\":{\"name\":\"mak"
},
{
"path": "docs/undocumented.json",
"chars": 1180,
"preview": "{\n \"warnings\": [\n {\n \"file\": \"/Users/vpeschenkov/Documents/git/LetterAvatarKit/LetterAvatarKit/Extensions/UICol"
},
{
"path": "fastlane/Appfile",
"chars": 228,
"preview": "# app_identifier \"[[APP_IDENTIFIER]]\" # The bundle identifier of your app\n# apple_id \"[[APPLE_ID]]\" # Your Apple email a"
},
{
"path": "fastlane/Fastfile",
"chars": 470,
"preview": "# This file contains the fastlane.tools configuration\n# You can find the documentation at https://docs.fastlane.tools\n#\n"
},
{
"path": "fastlane/README.md",
"chars": 662,
"preview": "fastlane documentation\n================\n# Installation\n\nMake sure you have the latest version of the Xcode command line "
},
{
"path": "scripts/generate_docs.sh",
"chars": 305,
"preview": "#!/bin/sh\n\njazzy \\\n -x USE_SWIFT_RESPONSE_FILE=NO \\\n --clean \\\n --author Victor Peschenkov \\\n --author_url hhttps://"
}
]
// ... and 2 more files (download for full content)
About this extraction
This page contains the full source code of the vpeschenkov/LetterAvatarKit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 109 files (403.2 KB), approximately 114.9k 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.