Create SessionUIKit

pull/308/head
nielsandriesse 4 years ago
parent 58ea6c5608
commit 8bdbac3eb3

@ -1,18 +1,19 @@
import UIKit
final class Button : UIButton {
public final class Button : UIButton {
private let style: Style
private let size: Size
private var heightConstraint: NSLayoutConstraint!
enum Style {
public enum Style {
case unimportant, regular, prominentOutline, prominentFilled, regularBorderless
}
enum Size {
public enum Size {
case medium, large, small
}
init(style: Style, size: Size) {
public init(style: Style, size: Size) {
self.style = style
self.size = size
super.init(frame: .zero)

@ -1,12 +1,13 @@
import UIKit
final class SearchBar : UISearchBar {
public final class SearchBar : UISearchBar {
override init(frame: CGRect) {
public override init(frame: CGRect) {
super.init(frame: frame)
setUpStyle()
}
required init?(coder: NSCoder) {
public required init?(coder: NSCoder) {
super.init(coder: coder)
setUpStyle()
}
@ -15,9 +16,9 @@ final class SearchBar : UISearchBar {
searchBarStyle = .minimal // Hide the border around the search bar
barStyle = .black // Use Apple's black design as a base
tintColor = Colors.accent // The cursor color
let searchImage = #imageLiteral(resourceName: "searchbar_search").asTintedImage(color: Colors.searchBarPlaceholder)!
let searchImage = #imageLiteral(resourceName: "searchbar_search").withTint(Colors.searchBarPlaceholder)!
setImage(searchImage, for: .search, state: .normal)
let clearImage = #imageLiteral(resourceName: "searchbar_clear").asTintedImage(color: Colors.searchBarPlaceholder)!
let clearImage = #imageLiteral(resourceName: "searchbar_clear").withTint(Colors.searchBarPlaceholder)!
setImage(clearImage, for: .clear, state: .normal)
let searchTextField: UITextField
if #available(iOS 13, *) {

@ -1,5 +1,6 @@
import UIKit
final class Separator : UIView {
public final class Separator : UIView {
private let title: String
// MARK: Components
@ -20,17 +21,17 @@ final class Separator : UIView {
}()
// MARK: Initialization
init(title: String) {
public init(title: String) {
self.title = title
super.init(frame: CGRect.zero)
setUpViewHierarchy()
}
override init(frame: CGRect) {
public override init(frame: CGRect) {
preconditionFailure("Use init(title:) instead.")
}
required init?(coder: NSCoder) {
public required init?(coder: NSCoder) {
preconditionFailure("Use init(title:) instead.")
}
@ -44,14 +45,14 @@ final class Separator : UIView {
}
// MARK: Updating
override func layoutSubviews() {
public override func layoutSubviews() {
super.layoutSubviews()
updateLineLayer()
}
private func updateLineLayer() {
let w = width()
let h = height()
let w = bounds.width
let h = bounds.height
let path = UIBezierPath()
path.move(to: CGPoint(x: 0, y: h / 2))
let titleLabelFrame = titleLabel.frame.insetBy(dx: -10, dy: -6)

@ -1,5 +1,6 @@
import UIKit
final class TabBar : UIView {
public final class TabBar : UIView {
private let tabs: [Tab]
private var accentLineViewHorizontalCenteringConstraint: NSLayoutConstraint!
private var accentLineViewWidthConstraint: NSLayoutConstraint!
@ -22,23 +23,28 @@ final class TabBar : UIView {
}()
// MARK: Types
struct Tab {
public struct Tab {
let title: String
let onTap: () -> Void
public init(title: String, onTap: @escaping () -> Void) {
self.title = title
self.onTap = onTap
}
}
// MARK: Lifecycle
init(tabs: [Tab]) {
public init(tabs: [Tab]) {
self.tabs = tabs
super.init(frame: CGRect.zero)
setUpViewHierarchy()
}
override init(frame: CGRect) {
public override init(frame: CGRect) {
preconditionFailure("Use init(tabs:) instead.")
}
required init?(coder: NSCoder) {
public required init?(coder: NSCoder) {
preconditionFailure("Use init(tabs:) instead.")
}
@ -75,7 +81,7 @@ final class TabBar : UIView {
}
// MARK: Updating
func selectTab(at index: Int, withAnimatedTransition isAnimated: Bool = true) {
public func selectTab(at index: Int, withAnimatedTransition isAnimated: Bool = true) {
let tabLabel = tabLabels[index]
accentLineViewHorizontalCenteringConstraint?.isActive = false
accentLineViewHorizontalCenteringConstraint = accentLineView.centerXAnchor.constraint(equalTo: tabLabel.centerXAnchor)

@ -1,11 +1,12 @@
import UIKit
final class TextField : UITextField {
public final class TextField : UITextField {
private let usesDefaultHeight: Bool
private let height: CGFloat
private let horizontalInset: CGFloat
private let verticalInset: CGFloat
init(placeholder: String, usesDefaultHeight: Bool = true, customHeight: CGFloat? = nil, customHorizontalInset: CGFloat? = nil, customVerticalInset: CGFloat? = nil) {
public init(placeholder: String, usesDefaultHeight: Bool = true, customHeight: CGFloat? = nil, customHorizontalInset: CGFloat? = nil, customVerticalInset: CGFloat? = nil) {
self.usesDefaultHeight = usesDefaultHeight
self.height = customHeight ?? Values.textFieldHeight
self.horizontalInset = customHorizontalInset ?? (isIPhone5OrSmaller ? Values.mediumSpacing : Values.largeSpacing)
@ -15,11 +16,11 @@ final class TextField : UITextField {
setUpStyle()
}
override init(frame: CGRect) {
public override init(frame: CGRect) {
preconditionFailure("Use init(placeholder:) instead.")
}
required init?(coder: NSCoder) {
public required init?(coder: NSCoder) {
preconditionFailure("Use init(placeholder:) instead.")
}
@ -40,7 +41,7 @@ final class TextField : UITextField {
layer.cornerRadius = Values.textFieldCornerRadius
}
override func textRect(forBounds bounds: CGRect) -> CGRect {
public override func textRect(forBounds bounds: CGRect) -> CGRect {
if usesDefaultHeight {
return bounds.insetBy(dx: horizontalInset, dy: verticalInset)
} else {
@ -48,7 +49,7 @@ final class TextField : UITextField {
}
}
override func editingRect(forBounds bounds: CGRect) -> CGRect {
public override func editingRect(forBounds bounds: CGRect) -> CGRect {
if usesDefaultHeight {
return bounds.insetBy(dx: horizontalInset, dy: verticalInset)
} else {

@ -1,12 +1,13 @@
import UIKit
final class TextView : UITextView, UITextViewDelegate {
public final class TextView : UITextView, UITextViewDelegate {
private let usesDefaultHeight: Bool
private let height: CGFloat
private let horizontalInset: CGFloat
private let verticalInset: CGFloat
private let placeholder: String
override var contentSize: CGSize { didSet { centerTextVertically() } }
public override var contentSize: CGSize { didSet { centerTextVertically() } }
private lazy var placeholderLabel: UILabel = {
let result = UILabel()
@ -15,7 +16,7 @@ final class TextView : UITextView, UITextViewDelegate {
return result
}()
init(placeholder: String, usesDefaultHeight: Bool = true, customHeight: CGFloat? = nil, customHorizontalInset: CGFloat? = nil, customVerticalInset: CGFloat? = nil) {
public init(placeholder: String, usesDefaultHeight: Bool = true, customHeight: CGFloat? = nil, customHorizontalInset: CGFloat? = nil, customVerticalInset: CGFloat? = nil) {
self.usesDefaultHeight = usesDefaultHeight
self.height = customHeight ?? Values.textFieldHeight
self.horizontalInset = customHorizontalInset ?? (isIPhone5OrSmaller ? Values.mediumSpacing : Values.largeSpacing)
@ -26,11 +27,11 @@ final class TextView : UITextView, UITextViewDelegate {
setUpStyle()
}
override init(frame: CGRect, textContainer: NSTextContainer?) {
public override init(frame: CGRect, textContainer: NSTextContainer?) {
preconditionFailure("Use init(placeholder:) instead.")
}
required init?(coder: NSCoder) {
public required init?(coder: NSCoder) {
preconditionFailure("Use init(placeholder:) instead.")
}
@ -50,7 +51,7 @@ final class TextView : UITextView, UITextViewDelegate {
layer.borderWidth = Values.borderThickness
layer.cornerRadius = Values.textFieldCornerRadius
let horizontalInset = usesDefaultHeight ? self.horizontalInset : Values.mediumSpacing
textContainerInset = UIEdgeInsets(top: 0, leading: horizontalInset, bottom: 0, trailing: horizontalInset)
textContainerInset = UIEdgeInsets(top: 0, left: horizontalInset, bottom: 0, right: horizontalInset)
addSubview(placeholderLabel)
placeholderLabel.pin(.leading, to: .leading, of: self, withInset: horizontalInset + 3) // Slight visual adjustment
placeholderLabel.pin(.top, to: .top, of: self)
@ -58,7 +59,7 @@ final class TextView : UITextView, UITextViewDelegate {
pin(.bottom, to: .bottom, of: placeholderLabel)
}
func textViewDidChange(_ textView: UITextView) {
public func textViewDidChange(_ textView: UITextView) {
placeholderLabel.isHidden = !text.isEmpty
}

@ -0,0 +1,22 @@
<?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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>

@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
FOUNDATION_EXPORT double SessionUIKitVersionNumber;
FOUNDATION_EXPORT const unsigned char SessionUIKitVersionString[];

@ -1,3 +1,4 @@
import Foundation
@objc(LKAppModeManager)
public final class AppModeManager : NSObject {

@ -1,3 +1,4 @@
import UIKit
@objc(LKFonts)
public final class Fonts : NSObject {

@ -1,3 +1,4 @@
import UIKit
@objc(LKGradient)
public final class Gradient : NSObject {

@ -0,0 +1,10 @@
public extension Notification.Name {
static let appModeChanged = Notification.Name("appModeChanged")
}
@objc public extension NSNotification {
@objc public static let appModeChanged = Notification.Name.appModeChanged.rawValue as NSString
}

@ -1,3 +1,4 @@
import UIKit
@objc(LKValues)
public final class Values : NSObject {

@ -1,3 +1,4 @@
import UIKit
public var isIPhone5OrSmaller: Bool {
return (UIScreen.main.bounds.height - 568) < 1

@ -0,0 +1,11 @@
import UIKit
public extension UIImage {
func withTint(_ color: UIColor) -> UIImage? {
let template = self.withRenderingMode(.alwaysTemplate)
let imageView = UIImageView(image: template)
imageView.tintColor = color
return imageView.toImage(isOpaque: imageView.isOpaque, scale: UIScreen.main.scale)
}
}

@ -0,0 +1,14 @@
import UIKit
public extension UIView {
func toImage(isOpaque: Bool, scale: CGFloat) -> UIImage? {
let format = UIGraphicsImageRendererFormat()
format.scale = scale
format.opaque = isOpaque
let renderer = UIGraphicsImageRenderer(bounds: self.bounds, format: format)
return renderer.image { context in
self.layer.render(in: context.cgContext)
}
}
}

@ -523,7 +523,6 @@
B82B408E239DC00D00A248E7 /* DisplayNameVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B82B408D239DC00D00A248E7 /* DisplayNameVC.swift */; };
B82B4090239DD75000A248E7 /* RestoreVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B82B408F239DD75000A248E7 /* RestoreVC.swift */; };
B82B4094239DF15900A248E7 /* ConversationTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B82B4093239DF15900A248E7 /* ConversationTitleView.swift */; };
B83F2B86240C7B8F000A54AB /* NewConversationButtonSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83F2B85240C7B8F000A54AB /* NewConversationButtonSet.swift */; };
B83F2B88240CB75A000A54AB /* UIImage+Scaling.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83F2B87240CB75A000A54AB /* UIImage+Scaling.swift */; };
B846365B22B7418B00AF1514 /* Identicon+ObjC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B846365A22B7418B00AF1514 /* Identicon+ObjC.swift */; };
B84664F5235022F30083A1CD /* MentionUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B84664F4235022F30083A1CD /* MentionUtilities.swift */; };
@ -533,12 +532,10 @@
B85357C723A1FB5100AAF6CD /* LinkDeviceVCDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B85357C623A1FB5100AAF6CD /* LinkDeviceVCDelegate.swift */; };
B8544E3323D50E4900299F14 /* AppearanceUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8544E3223D50E4900299F14 /* AppearanceUtilities.swift */; };
B8544E3423D51EEF00299F14 /* ProfilePictureView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82AC238F734800BA5194 /* ProfilePictureView.swift */; };
B8544E3523D5201400299F14 /* UIView+Constraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = B885D5F52334A32100EE0D8E /* UIView+Constraints.swift */; };
B86BD08423399ACF000F5AE3 /* Modal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B86BD08323399ACF000F5AE3 /* Modal.swift */; };
B86BD08623399CEF000F5AE3 /* SeedModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B86BD08523399CEF000F5AE3 /* SeedModal.swift */; };
B8783E9E23EB948D00404FB8 /* UILabel+Interaction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8783E9D23EB948D00404FB8 /* UILabel+Interaction.swift */; };
B879D449247E1BE300DB3608 /* PathVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B879D448247E1BE300DB3608 /* PathVC.swift */; };
B879D44B247E1D9200DB3608 /* PathStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B879D44A247E1D9200DB3608 /* PathStatusView.swift */; };
B885D5F4233491AB00EE0D8E /* DeviceLinkingModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B885D5F3233491AB00EE0D8E /* DeviceLinkingModal.swift */; };
B886B4A72398B23E00211ABE /* QRCodeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B886B4A62398B23E00211ABE /* QRCodeVC.swift */; };
B886B4A92398BA1500211ABE /* QRCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = B886B4A82398BA1500211ABE /* QRCode.swift */; };
@ -547,21 +544,9 @@
B894D0712339D6F300B4D94D /* DeviceLinkingModalDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B894D0702339D6F300B4D94D /* DeviceLinkingModalDelegate.swift */; };
B894D0752339EDCF00B4D94D /* NukeDataModal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B894D0742339EDCF00B4D94D /* NukeDataModal.swift */; };
B8B26C8F234D629C004ED98C /* MentionCandidateSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B26C8E234D629C004ED98C /* MentionCandidateSelectionView.swift */; };
B8B5BCEC2394D869003823C9 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B5BCEB2394D869003823C9 /* Button.swift */; };
B8BB82A5238F627000BA5194 /* HomeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82A4238F627000BA5194 /* HomeVC.swift */; };
B8BB82AB238F669C00BA5194 /* ConversationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82AA238F669C00BA5194 /* ConversationCell.swift */; };
B8BB82B12390C37000BA5194 /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82B02390C37000BA5194 /* SearchBar.swift */; };
B8BB82B523947F2D00BA5194 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82B423947F2D00BA5194 /* TextField.swift */; };
B8BB82B92394911B00BA5194 /* Separator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82B82394911B00BA5194 /* Separator.swift */; };
B8C9689523FA1B72005F64E0 /* AppMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8C9689023FA1401005F64E0 /* AppMode.swift */; };
B8C9689623FA1B72005F64E0 /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB829F238F322400BA5194 /* Colors.swift */; };
B8C9689723FA1B72005F64E0 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82BD2394D4CE00BA5194 /* Fonts.swift */; };
B8C9689823FA1B72005F64E0 /* Gradients.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82A8238F62FB00BA5194 /* Gradients.swift */; };
B8C9689923FA1B72005F64E0 /* Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82A1238F356100BA5194 /* Values.swift */; };
B8C9689A23FA1B95005F64E0 /* DeviceUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8544E3023D16CA500299F14 /* DeviceUtilities.swift */; };
B8CCF6352396005F0091D419 /* SpaceMono-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B8CCF6342396005F0091D419 /* SpaceMono-Regular.ttf */; };
B8CCF63723961D6D0091D419 /* NewPrivateChatVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CCF63623961D6D0091D419 /* NewPrivateChatVC.swift */; };
B8CCF639239721E20091D419 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CCF638239721E20091D419 /* TabBar.swift */; };
B8CCF63F23975CFB0091D419 /* JoinPublicChatVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CCF63E23975CFB0091D419 /* JoinPublicChatVC.swift */; };
B8CCF6432397711F0091D419 /* SettingsVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CCF6422397711F0091D419 /* SettingsVC.swift */; };
B90418E6183E9DD40038554A /* DateUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = B90418E5183E9DD40038554A /* DateUtil.m */; };
@ -581,13 +566,39 @@
C31A6C5A247F214E001123EF /* UIView+Glow.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31A6C59247F214E001123EF /* UIView+Glow.swift */; };
C31A6C5C247F2CF3001123EF /* CGRect+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31A6C5B247F2CF3001123EF /* CGRect+Utilities.swift */; };
C31D1DD325216101005D4DA8 /* UIView+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31D1DD225216101005D4DA8 /* UIView+Utilities.swift */; };
C31D1DDD25217014005D4DA8 /* UserCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31D1DDC25217014005D4DA8 /* UserCell.swift */; };
C31D1DE32521718E005D4DA8 /* UserSelectionVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31D1DE22521718E005D4DA8 /* UserSelectionVC.swift */; };
C31D1DE9252172D4005D4DA8 /* ContactUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31D1DE8252172D4005D4DA8 /* ContactUtilities.swift */; };
C31F812625258FB000DD9FD9 /* Storage+VolumeSamples.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31F812525258FB000DD9FD9 /* Storage+VolumeSamples.swift */; };
C31FFE57254A5FFE00F19441 /* KeyPairUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31FFE56254A5FFE00F19441 /* KeyPairUtilities.swift */; };
C329FEEC24F7277900B1C64C /* LightModeSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = C329FEEB24F7277900B1C64C /* LightModeSheet.swift */; };
C329FEEF24F7743F00B1C64C /* UIViewController+Utilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = C329FEED24F7742E00B1C64C /* UIViewController+Utilities.swift */; };
C33100082558FF6D00070591 /* NewConversationButtonSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B83F2B85240C7B8F000A54AB /* NewConversationButtonSet.swift */; };
C33100092558FF6D00070591 /* UserCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C31D1DDC25217014005D4DA8 /* UserCell.swift */; };
C33100142558FFC200070591 /* UIImage+Tinting.swift in Sources */ = {isa = PBXBuildFile; fileRef = C33100132558FFC200070591 /* UIImage+Tinting.swift */; };
C33100282559000A00070591 /* UIView+Rendering.swift in Sources */ = {isa = PBXBuildFile; fileRef = C33100272559000A00070591 /* UIView+Rendering.swift */; };
C3310033255900A400070591 /* Notification+AppMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3310032255900A400070591 /* Notification+AppMode.swift */; };
C331003D255900F200070591 /* SessionUIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C331FF1B2558F9D300070591 /* SessionUIKit.framework */; };
C331FF1F2558F9D300070591 /* SessionUIKit.h in Headers */ = {isa = PBXBuildFile; fileRef = C331FF1D2558F9D300070591 /* SessionUIKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
C331FF222558F9D300070591 /* SessionUIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C331FF1B2558F9D300070591 /* SessionUIKit.framework */; };
C331FF232558F9D300070591 /* SessionUIKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C331FF1B2558F9D300070591 /* SessionUIKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
C331FF962558FA6B00070591 /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB829F238F322400BA5194 /* Colors.swift */; };
C331FF972558FA6B00070591 /* Fonts.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82BD2394D4CE00BA5194 /* Fonts.swift */; };
C331FF982558FA6B00070591 /* AppMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8C9689023FA1401005F64E0 /* AppMode.swift */; };
C331FF992558FA6B00070591 /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C39DD28724F3318C008590FC /* Colors.xcassets */; };
C331FF9A2558FA6B00070591 /* Values.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82A1238F356100BA5194 /* Values.swift */; };
C331FF9B2558FA6B00070591 /* Gradients.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82A8238F62FB00BA5194 /* Gradients.swift */; };
C331FFB82558FA8D00070591 /* DeviceUtilities.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8544E3023D16CA500299F14 /* DeviceUtilities.swift */; };
C331FFB92558FA8D00070591 /* UIView+Constraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = B885D5F52334A32100EE0D8E /* UIView+Constraints.swift */; };
C331FFE02558FB0000070591 /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82B02390C37000BA5194 /* SearchBar.swift */; };
C331FFE32558FB0000070591 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8CCF638239721E20091D419 /* TabBar.swift */; };
C331FFE42558FB0000070591 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8B5BCEB2394D869003823C9 /* Button.swift */; };
C331FFE72558FB0000070591 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82B423947F2D00BA5194 /* TextField.swift */; };
C331FFE82558FB0000070591 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C3CF8824D8EED300E1CCE7 /* TextView.swift */; };
C331FFE92558FB0000070591 /* Separator.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82B82394911B00BA5194 /* Separator.swift */; };
C331FFF32558FF0300070591 /* PathStatusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B879D44A247E1D9200DB3608 /* PathStatusView.swift */; };
C331FFF42558FF0300070591 /* PNOptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C353F8F8244809150011121A /* PNOptionView.swift */; };
C331FFFE2558FF3B00070591 /* ConversationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8BB82AA238F669C00BA5194 /* ConversationCell.swift */; };
C3402FE52559036600EA6424 /* SessionUIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C331FF1B2558F9D300070591 /* SessionUIKit.framework */; };
C3471ECB2555356A00297E91 /* MessageSender+Encryption.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3471ECA2555356A00297E91 /* MessageSender+Encryption.swift */; };
C3471ED42555386B00297E91 /* AESGCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C2A5D72553860B00C340D1 /* AESGCM.swift */; };
C3471F4225553A4D00297E91 /* Threading.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3471F4125553A4D00297E91 /* Threading.swift */; };
@ -609,7 +620,6 @@
C352A3932557883D00338F3E /* JobDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C352A3922557883D00338F3E /* JobDelegate.swift */; };
C352A3A62557B60D00338F3E /* TSRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = C352A3A52557B60D00338F3E /* TSRequest.m */; };
C352A3B72557B6ED00338F3E /* TSRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C352A3A42557B5F000338F3E /* TSRequest.h */; settings = {ATTRIBUTES = (Public, ); }; };
C353F8F9244809150011121A /* PNOptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C353F8F8244809150011121A /* PNOptionView.swift */; };
C3548F0624456447009433A8 /* PNModeVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3548F0524456447009433A8 /* PNModeVC.swift */; };
C3548F0824456AB6009433A8 /* UIView+Wrapping.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3548F0724456AB6009433A8 /* UIView+Wrapping.swift */; };
C354E75A23FE2A7600CE22E3 /* BaseVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = C354E75923FE2A7600CE22E3 /* BaseVC.swift */; };
@ -628,9 +638,6 @@
C396DAF32518408B00FF6DC5 /* Description.swift in Sources */ = {isa = PBXBuildFile; fileRef = C396DAEC2518408A00FF6DC5 /* Description.swift */; };
C396DAF42518408B00FF6DC5 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = C396DAED2518408B00FF6DC5 /* Parser.swift */; };
C396DAF52518408B00FF6DC5 /* CSV.swift in Sources */ = {isa = PBXBuildFile; fileRef = C396DAEE2518408B00FF6DC5 /* CSV.swift */; };
C39DD28824F3318C008590FC /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C39DD28724F3318C008590FC /* Colors.xcassets */; };
C39DD28A24F3336E008590FC /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C39DD28724F3318C008590FC /* Colors.xcassets */; };
C39DD28B24F3336F008590FC /* Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C39DD28724F3318C008590FC /* Colors.xcassets */; };
C3A71D0B2558989C0043A11F /* MessageWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A71D0A2558989C0043A11F /* MessageWrapper.swift */; };
C3A71D1E25589AC30043A11F /* WebSocketProto.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A71D1C25589AC30043A11F /* WebSocketProto.swift */; };
C3A71D1F25589AC30043A11F /* WebSocketResources.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A71D1D25589AC30043A11F /* WebSocketResources.pb.swift */; };
@ -807,7 +814,6 @@
C3C2AC0A2553C9A100C340D1 /* Configuration.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C2AC092553C9A100C340D1 /* Configuration.swift */; };
C3C2AC2E2553CBEB00C340D1 /* String+Trimming.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C2AC2D2553CBEB00C340D1 /* String+Trimming.swift */; };
C3C2AC372553CCE600C340D1 /* SessionUtilitiesKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3C2A679255388CC00C340D1 /* SessionUtilitiesKit.framework */; };
C3C3CF8924D8EED300E1CCE7 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3C3CF8824D8EED300E1CCE7 /* TextView.swift */; };
C3D0972B2510499C00F6E3E4 /* BackgroundPoller.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3D0972A2510499C00F6E3E4 /* BackgroundPoller.swift */; };
C3DAB3242480CB2B00725F25 /* SRCopyableLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3DAB3232480CB2A00725F25 /* SRCopyableLabel.swift */; };
C3DFFAC623E96F0D0058DAF8 /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3DFFAC523E96F0D0058DAF8 /* Sheet.swift */; };
@ -881,6 +887,13 @@
remoteGlobalIDString = D221A088169C9E5E00537ABF;
remoteInfo = Signal;
};
C331FF202558F9D300070591 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
proxyType = 1;
remoteGlobalIDString = C331FF1A2558F9D300070591;
remoteInfo = SessionUIKit;
};
C36B8705243C50B00049991D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D221A080169C9E5E00537ABF /* Project object */;
@ -941,6 +954,7 @@
C3C2A681255388CC00C340D1 /* SessionUtilitiesKit.framework in Embed Frameworks */,
C3C2A5A7255385C100C340D1 /* SessionSnodeKit.framework in Embed Frameworks */,
4535189A1FC63DBF00210559 /* SignalMessaging.framework in Embed Frameworks */,
C331FF232558F9D300070591 /* SessionUIKit.framework in Embed Frameworks */,
C3C2A6F825539DE700C340D1 /* SessionMessagingKit.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
@ -1637,6 +1651,12 @@
C31FFE56254A5FFE00F19441 /* KeyPairUtilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyPairUtilities.swift; sourceTree = "<group>"; };
C329FEEB24F7277900B1C64C /* LightModeSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LightModeSheet.swift; sourceTree = "<group>"; };
C329FEED24F7742E00B1C64C /* UIViewController+Utilities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+Utilities.swift"; sourceTree = "<group>"; };
C33100132558FFC200070591 /* UIImage+Tinting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIImage+Tinting.swift"; sourceTree = "<group>"; };
C33100272559000A00070591 /* UIView+Rendering.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIView+Rendering.swift"; sourceTree = "<group>"; };
C3310032255900A400070591 /* Notification+AppMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Notification+AppMode.swift"; sourceTree = "<group>"; };
C331FF1B2558F9D300070591 /* SessionUIKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SessionUIKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C331FF1D2558F9D300070591 /* SessionUIKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SessionUIKit.h; sourceTree = "<group>"; };
C331FF1E2558F9D300070591 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C3471ECA2555356A00297E91 /* MessageSender+Encryption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MessageSender+Encryption.swift"; sourceTree = "<group>"; };
C3471F4125553A4D00297E91 /* Threading.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Threading.swift; sourceTree = "<group>"; };
C3471F4B25553AB000297E91 /* MessageReceiver+Decryption.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "MessageReceiver+Decryption.swift"; sourceTree = "<group>"; };
@ -1900,6 +1920,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
C3402FE52559036600EA6424 /* SessionUIKit.framework in Frameworks */,
453518A21FC63E2900210559 /* SignalMessaging.framework in Frameworks */,
2AE2882E4C2B96BFFF9EE27C /* Pods_SignalShareExtension.framework in Frameworks */,
);
@ -1909,6 +1930,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
C331003D255900F200070591 /* SessionUIKit.framework in Frameworks */,
4AC4EA13C8A444455DAB351F /* Pods_SignalMessaging.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@ -1922,6 +1944,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
C331FF182558F9D300070591 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
C3C2A59C255385C100C340D1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@ -1988,6 +2017,7 @@
C3C2A680255388CC00C340D1 /* SessionUtilitiesKit.framework in Frameworks */,
A1C32D5017A06538000A904E /* AddressBookUI.framework in Frameworks */,
D2AEACDC16C426DA00C364C0 /* CFNetwork.framework in Frameworks */,
C331FF222558F9D300070591 /* SessionUIKit.framework in Frameworks */,
D2179CFE16BB0B480006F3AB /* SystemConfiguration.framework in Frameworks */,
C3C2A6F725539DE700C340D1 /* SessionMessagingKit.framework in Frameworks */,
D2179CFC16BB0B3A0006F3AB /* CoreTelephony.framework in Frameworks */,
@ -3132,12 +3162,6 @@
B8BB82A3238F356800BA5194 /* Style Guide */ = {
isa = PBXGroup;
children = (
B8C9689023FA1401005F64E0 /* AppMode.swift */,
B8BB829F238F322400BA5194 /* Colors.swift */,
C39DD28724F3318C008590FC /* Colors.xcassets */,
B8BB82BD2394D4CE00BA5194 /* Fonts.swift */,
B8BB82A8238F62FB00BA5194 /* Gradients.swift */,
B8BB82A1238F356100BA5194 /* Values.swift */,
);
path = "Style Guide";
sourceTree = "<group>";
@ -3173,9 +3197,7 @@
B8C9689423FA1B3D005F64E0 /* Utilities */ = {
isa = PBXGroup;
children = (
B8544E3023D16CA500299F14 /* DeviceUtilities.swift */,
C329FEED24F7742E00B1C64C /* UIViewController+Utilities.swift */,
B885D5F52334A32100EE0D8E /* UIView+Constraints.swift */,
C31D1DD225216101005D4DA8 /* UIView+Utilities.swift */,
);
path = Utilities;
@ -3184,22 +3206,16 @@
B8CCF63B239757C10091D419 /* Components */ = {
isa = PBXGroup;
children = (
B8B5BCEB2394D869003823C9 /* Button.swift */,
B8BB82AA238F669C00BA5194 /* ConversationCell.swift */,
B83F2B85240C7B8F000A54AB /* NewConversationButtonSet.swift */,
C31D1DDC25217014005D4DA8 /* UserCell.swift */,
B82B4093239DF15900A248E7 /* ConversationTitleView.swift */,
B82B40892399EC0600A248E7 /* FakeChatView.swift */,
B8B26C8E234D629C004ED98C /* MentionCandidateSelectionView.swift */,
B83F2B85240C7B8F000A54AB /* NewConversationButtonSet.swift */,
B879D44A247E1D9200DB3608 /* PathStatusView.swift */,
C353F8F8244809150011121A /* PNOptionView.swift */,
B8BB82B02390C37000BA5194 /* SearchBar.swift */,
B85357BE23A1AE0800AAF6CD /* SeedReminderView.swift */,
B8BB82B82394911B00BA5194 /* Separator.swift */,
2400888D239F30A600305217 /* SessionRestorationView.swift */,
B8CCF638239721E20091D419 /* TabBar.swift */,
B8BB82B423947F2D00BA5194 /* TextField.swift */,
C3C3CF8824D8EED300E1CCE7 /* TextView.swift */,
C31D1DDC25217014005D4DA8 /* UserCell.swift */,
C364534F252449260045C478 /* VoiceMessageView.swift */,
);
path = Components;
@ -3330,6 +3346,64 @@
path = Dependencies;
sourceTree = "<group>";
};
C331FF1C2558F9D300070591 /* SessionUIKit */ = {
isa = PBXGroup;
children = (
C331FF422558F9E400070591 /* Meta */,
C331FFCC2558FAF300070591 /* Components */,
C331FF5E2558FA0F00070591 /* Style Guide */,
C331FFAE2558FA7700070591 /* Utilities */,
);
path = SessionUIKit;
sourceTree = "<group>";
};
C331FF422558F9E400070591 /* Meta */ = {
isa = PBXGroup;
children = (
C331FF1D2558F9D300070591 /* SessionUIKit.h */,
C331FF1E2558F9D300070591 /* Info.plist */,
);
path = Meta;
sourceTree = "<group>";
};
C331FF5E2558FA0F00070591 /* Style Guide */ = {
isa = PBXGroup;
children = (
B8C9689023FA1401005F64E0 /* AppMode.swift */,
C3310032255900A400070591 /* Notification+AppMode.swift */,
B8BB829F238F322400BA5194 /* Colors.swift */,
C39DD28724F3318C008590FC /* Colors.xcassets */,
B8BB82BD2394D4CE00BA5194 /* Fonts.swift */,
B8BB82A8238F62FB00BA5194 /* Gradients.swift */,
B8BB82A1238F356100BA5194 /* Values.swift */,
);
path = "Style Guide";
sourceTree = "<group>";
};
C331FFAE2558FA7700070591 /* Utilities */ = {
isa = PBXGroup;
children = (
B8544E3023D16CA500299F14 /* DeviceUtilities.swift */,
C33100132558FFC200070591 /* UIImage+Tinting.swift */,
B885D5F52334A32100EE0D8E /* UIView+Constraints.swift */,
C33100272559000A00070591 /* UIView+Rendering.swift */,
);
path = Utilities;
sourceTree = "<group>";
};
C331FFCC2558FAF300070591 /* Components */ = {
isa = PBXGroup;
children = (
B8B5BCEB2394D869003823C9 /* Button.swift */,
B8BB82B02390C37000BA5194 /* SearchBar.swift */,
B8BB82B82394911B00BA5194 /* Separator.swift */,
B8CCF638239721E20091D419 /* TabBar.swift */,
B8BB82B423947F2D00BA5194 /* TextField.swift */,
C3C3CF8824D8EED300E1CCE7 /* TextView.swift */,
);
path = Components;
sourceTree = "<group>";
};
C352A2F325574B3300338F3E /* Jobs */ = {
isa = PBXGroup;
children = (
@ -3755,6 +3829,7 @@
453518691FC635DD00210559 /* SignalShareExtension */,
453518931FC63DBF00210559 /* SignalMessaging */,
7BC01A3C241F40AB00BC7C55 /* LokiPushNotificationService */,
C331FF1C2558F9D300070591 /* SessionUIKit */,
C3C2A6F125539DE700C340D1 /* SessionMessagingKit */,
C3C2A8632553B41A00C340D1 /* SessionProtocolKit */,
C3C2A5A0255385C100C340D1 /* SessionSnodeKit */,
@ -3777,6 +3852,7 @@
C3C2A679255388CC00C340D1 /* SessionUtilitiesKit.framework */,
C3C2A6F025539DE700C340D1 /* SessionMessagingKit.framework */,
C3C2A8622553B41A00C340D1 /* SessionProtocolKit.framework */,
C331FF1B2558F9D300070591 /* SessionUIKit.framework */,
);
name = Products;
sourceTree = "<group>";
@ -3945,6 +4021,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
C331FF162558F9D300070591 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
C331FF1F2558F9D300070591 /* SessionUIKit.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C3C2A59A255385C100C340D1 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@ -4088,6 +4172,24 @@
productReference = 7BC01A3B241F40AB00BC7C55 /* LokiPushNotificationService.appex */;
productType = "com.apple.product-type.app-extension";
};
C331FF1A2558F9D300070591 /* SessionUIKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = C331FF262558F9D400070591 /* Build configuration list for PBXNativeTarget "SessionUIKit" */;
buildPhases = (
C331FF162558F9D300070591 /* Headers */,
C331FF172558F9D300070591 /* Sources */,
C331FF182558F9D300070591 /* Frameworks */,
C331FF192558F9D300070591 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = SessionUIKit;
productName = SessionUIKit;
productReference = C331FF1B2558F9D300070591 /* SessionUIKit.framework */;
productType = "com.apple.product-type.framework";
};
C3C2A59E255385C100C340D1 /* SessionSnodeKit */ = {
isa = PBXNativeTarget;
buildConfigurationList = C3C2A5AA255385C100C340D1 /* Build configuration list for PBXNativeTarget "SessionSnodeKit" */;
@ -4188,6 +4290,7 @@
C3C2A67F255388CC00C340D1 /* PBXTargetDependency */,
C3C2A6F625539DE700C340D1 /* PBXTargetDependency */,
C3C2A8682553B41A00C340D1 /* PBXTargetDependency */,
C331FF212558F9D300070591 /* PBXTargetDependency */,
);
name = Signal;
productName = RedPhone;
@ -4259,6 +4362,11 @@
DevelopmentTeam = SUQ8J2PCT7;
ProvisioningStyle = Automatic;
};
C331FF1A2558F9D300070591 = {
CreatedOnToolsVersion = 12.1;
DevelopmentTeam = SUQ8J2PCT7;
ProvisioningStyle = Automatic;
};
C3C2A59E255385C100C340D1 = {
CreatedOnToolsVersion = 12.1;
DevelopmentTeam = SUQ8J2PCT7;
@ -4352,6 +4460,7 @@
453518671FC635DD00210559 /* SignalShareExtension */,
453518911FC63DBF00210559 /* SignalMessaging */,
7BC01A3A241F40AB00BC7C55 /* LokiPushNotificationService */,
C331FF1A2558F9D300070591 /* SessionUIKit */,
C3C2A6EF25539DE700C340D1 /* SessionMessagingKit */,
C3C2A8612553B41A00C340D1 /* SessionProtocolKit */,
C3C2A59E255385C100C340D1 /* SessionSnodeKit */,
@ -4371,7 +4480,6 @@
347850331FD7494A007B8332 /* fontawesome-webfont.ttf in Resources */,
3478504C1FD7496D007B8332 /* Images.xcassets in Resources */,
347850311FD7494A007B8332 /* dripicons-v2.ttf in Resources */,
C39DD28B24F3336F008590FC /* Colors.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -4379,7 +4487,6 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C39DD28824F3318C008590FC /* Colors.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -4391,6 +4498,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
C331FF192558F9D300070591 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C331FF992558FA6B00070591 /* Colors.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C3C2A59D255385C100C340D1 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@ -4468,7 +4583,6 @@
45B74A852044AAB600CD42F8 /* bamboo.aifc in Resources */,
45B74A782044AAB600CD42F8 /* bamboo-quiet.aifc in Resources */,
45B74A7B2044AAB600CD42F8 /* chord.aifc in Resources */,
C39DD28A24F3336E008590FC /* Colors.xcassets in Resources */,
45B74A812044AAB600CD42F8 /* chord-quiet.aifc in Resources */,
45B74A832044AAB600CD42F8 /* circles.aifc in Resources */,
45B74A892044AAB600CD42F8 /* circles-quiet.aifc in Resources */,
@ -4897,7 +5011,6 @@
34AC09E1211B39B100997B47 /* SelectThreadViewController.m in Sources */,
34AC09EF211B39B100997B47 /* ViewControllerUtils.m in Sources */,
346941A2215D2EE400B5BFAD /* OWSConversationColor.m in Sources */,
B8C9689723FA1B72005F64E0 /* Fonts.swift in Sources */,
34AC0A17211B39EA00997B47 /* VideoPlayerView.swift in Sources */,
34BEDB1321C43F6A007B0EAE /* ImageEditorView.swift in Sources */,
34AC09EE211B39B100997B47 /* EditContactShareNameViewController.swift in Sources */,
@ -4913,14 +5026,12 @@
346129B51FD1F7E800532771 /* OWSProfileManager.m in Sources */,
342950832124C9750000B063 /* OWSTextView.m in Sources */,
452EC6E1205FF5DC000E787C /* Bench.swift in Sources */,
B8C9689923FA1B72005F64E0 /* Values.swift in Sources */,
34BBC85D220D19D600857249 /* ImageEditorPanGestureRecognizer.swift in Sources */,
342950882124CB0A0000B063 /* OWSSearchBar.m in Sources */,
342950822124C9750000B063 /* OWSTextField.m in Sources */,
34AC0A13211B39EA00997B47 /* DisappearingTimerConfigurationView.swift in Sources */,
4CA46F4D219CFDAA0038ABDE /* GalleryRailView.swift in Sources */,
34480B621FD0A98800BC14EF /* UIColor+OWS.m in Sources */,
B8C9689823FA1B72005F64E0 /* Gradients.swift in Sources */,
4C20B2B720CA0034001BAC90 /* ThreadViewModel.swift in Sources */,
34BBC857220C7ADA00857249 /* ImageEditorItem.swift in Sources */,
346E35BE224283B100E55D5F /* UIAlertController+OWS.swift in Sources */,
@ -4944,9 +5055,7 @@
451F8A461FD715BA005CB9DA /* OWSGroupAvatarBuilder.m in Sources */,
34BBC85B220C7ADA00857249 /* OrderedDictionary.swift in Sources */,
346129961FD1E30000532771 /* OWSDatabaseMigration.m in Sources */,
B8544E3523D5201400299F14 /* UIView+Constraints.swift in Sources */,
34AC09EA211B39B100997B47 /* ModalActivityIndicatorViewController.swift in Sources */,
B8C9689523FA1B72005F64E0 /* AppMode.swift in Sources */,
344F248D2007CCD600CFB4F4 /* DisplayableText.swift in Sources */,
450998651FD8A34D00D89EB3 /* DeviceSleepManager.swift in Sources */,
34AC09EB211B39B100997B47 /* ContactShareApprovalViewController.swift in Sources */,
@ -4960,7 +5069,6 @@
451F8A341FD710C3005CB9DA /* FullTextSearcher.swift in Sources */,
34080F04222858DC0087E99F /* OWSViewController+ImageEditor.swift in Sources */,
34AC0A10211B39EA00997B47 /* TappableView.swift in Sources */,
B8C9689A23FA1B95005F64E0 /* DeviceUtilities.swift in Sources */,
346129B61FD1F7E800532771 /* ProfileFetcherJob.swift in Sources */,
34AC09E9211B39B100997B47 /* OWSTableViewController.m in Sources */,
340872CE2239596100CB25B0 /* AttachmentApprovalInputAccessoryView.swift in Sources */,
@ -5024,7 +5132,6 @@
4C948FF72146EB4800349F0D /* BlockListCache.swift in Sources */,
B846365B22B7418B00AF1514 /* Identicon+ObjC.swift in Sources */,
4551DB5A205C562300C8AE75 /* Collection+OWS.swift in Sources */,
B8C9689623FA1B72005F64E0 /* Colors.swift in Sources */,
34BBC84F220B8A0100857249 /* ImageEditorCropViewController.swift in Sources */,
34AC09ED211B39B100997B47 /* ContactFieldView.swift in Sources */,
B8544E3423D51EEF00299F14 /* ProfilePictureView.swift in Sources */,
@ -5044,6 +5151,29 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
C331FF172558F9D300070591 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C331FF972558FA6B00070591 /* Fonts.swift in Sources */,
C331FF9B2558FA6B00070591 /* Gradients.swift in Sources */,
C331FFB82558FA8D00070591 /* DeviceUtilities.swift in Sources */,
C331FFE72558FB0000070591 /* TextField.swift in Sources */,
C331FFE32558FB0000070591 /* TabBar.swift in Sources */,
C331FFB92558FA8D00070591 /* UIView+Constraints.swift in Sources */,
C331FF962558FA6B00070591 /* Colors.swift in Sources */,
C331FFE02558FB0000070591 /* SearchBar.swift in Sources */,
C331FF982558FA6B00070591 /* AppMode.swift in Sources */,
C331FFE82558FB0000070591 /* TextView.swift in Sources */,
C331FF9A2558FA6B00070591 /* Values.swift in Sources */,
C331FFE42558FB0000070591 /* Button.swift in Sources */,
C33100142558FFC200070591 /* UIImage+Tinting.swift in Sources */,
C3310033255900A400070591 /* Notification+AppMode.swift in Sources */,
C331FFE92558FB0000070591 /* Separator.swift in Sources */,
C33100282559000A00070591 /* UIView+Rendering.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
C3C2A59B255385C100C340D1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@ -5240,7 +5370,6 @@
340FC8B8204DAC8D007AEB0F /* AddToGroupViewController.m in Sources */,
341F2C0F1F2B8AE700D07D6B /* DebugUIMisc.m in Sources */,
B893063F2383961A005EAA8E /* ScanQRCodeWrapperVC.swift in Sources */,
B83F2B86240C7B8F000A54AB /* NewConversationButtonSet.swift in Sources */,
B879D449247E1BE300DB3608 /* PathVC.swift in Sources */,
34E3EF0D1EFC235B007F6822 /* DebugUIDiskUsage.m in Sources */,
454A84042059C787008B8C75 /* MediaTileViewController.swift in Sources */,
@ -5248,7 +5377,6 @@
340FC8B4204DAC8D007AEB0F /* OWSBackupSettingsViewController.m in Sources */,
34D1F0871F8678AA0066283D /* ConversationViewItem.m in Sources */,
451A13B11E13DED2000A50FD /* AppNotifications.swift in Sources */,
C31D1DDD25217014005D4DA8 /* UserCell.swift in Sources */,
34D99CE4217509C2000AFB39 /* AppEnvironment.swift in Sources */,
348570A820F67575004FF32B /* OWSMessageHeaderView.m in Sources */,
450DF2091E0DD2C6003D14BE /* UserNotificationsAdaptee.swift in Sources */,
@ -5257,7 +5385,6 @@
34D1F0AB1F867BFC0066283D /* OWSContactOffersCell.m in Sources */,
C3548F0824456AB6009433A8 /* UIView+Wrapping.swift in Sources */,
B82B408A2399EC0600A248E7 /* FakeChatView.swift in Sources */,
B8BB82B92394911B00BA5194 /* Separator.swift in Sources */,
343A65981FC4CFE7000477A1 /* ConversationScrollButton.m in Sources */,
B82B40882399EB0E00A248E7 /* LandingVC.swift in Sources */,
34D1F0A91F867BFC0066283D /* ConversationViewCell.m in Sources */,
@ -5265,7 +5392,6 @@
EF764C351DB67CC5000D9A87 /* UIViewController+Permissions.m in Sources */,
45CD81EF1DC030E7004C9430 /* SyncPushTokensJob.swift in Sources */,
34D2CCE0206939B400CB1A14 /* DebugUIMessagesAssetLoader.m in Sources */,
C3C3CF8924D8EED300E1CCE7 /* TextView.swift in Sources */,
4CEB78C92178EBAB00F315D2 /* OWSSessionResetJobRecord.m in Sources */,
45794E861E00620000066731 /* CallUIAdapter.swift in Sources */,
340FC8BA204DAC8D007AEB0F /* FingerprintViewScanController.m in Sources */,
@ -5296,7 +5422,6 @@
34A8B3512190A40E00218A25 /* MediaAlbumCellView.swift in Sources */,
34D1F0AE1F867BFC0066283D /* OWSMessageCell.m in Sources */,
C396DAF42518408B00FF6DC5 /* Parser.swift in Sources */,
B8BB82AB238F669C00BA5194 /* ConversationCell.swift in Sources */,
4C4AEC4520EC343B0020E72B /* DismissableTextField.swift in Sources */,
4CB5F26720F6E1E2004D1B42 /* MenuActionsViewController.swift in Sources */,
3496955E219B605E00DCFE74 /* PhotoLibrary.swift in Sources */,
@ -5321,6 +5446,7 @@
346129991FD1E4DA00532771 /* SignalApp.m in Sources */,
3496957121A301A100DCFE74 /* OWSBackupImportJob.m in Sources */,
34BECE301F7ABCF800D7438D /* GifPickerLayout.swift in Sources */,
C331FFFE2558FF3B00070591 /* ConversationCell.swift in Sources */,
C3DFFAC623E96F0D0058DAF8 /* Sheet.swift in Sources */,
C31FFE57254A5FFE00F19441 /* KeyPairUtilities.swift in Sources */,
343A65951FC47D5E000477A1 /* DebugUISyncMessages.m in Sources */,
@ -5337,20 +5463,18 @@
4542DF54208D40AC007B4E76 /* LoadingViewController.swift in Sources */,
34D5CCA91EAE3D30005515DB /* AvatarViewHelper.m in Sources */,
34D1F0B71F87F8850066283D /* OWSGenericAttachmentView.m in Sources */,
B8B5BCEC2394D869003823C9 /* Button.swift in Sources */,
34D920E720E179C200D51158 /* OWSMessageFooterView.m in Sources */,
341341EF2187467A00192D59 /* ConversationViewModel.m in Sources */,
B8BB82B12390C37000BA5194 /* SearchBar.swift in Sources */,
348BB25D20A0C5530047AEC2 /* ContactShareViewHelper.swift in Sources */,
34B3F8801E8DF1700035BE1A /* InviteFlow.swift in Sources */,
B85357C523A1F13800AAF6CD /* LinkDeviceVC.swift in Sources */,
457C87B82032645C008D52D6 /* DebugUINotifications.swift in Sources */,
4C21D5D8223AC60F00EF8A77 /* PhotoCapture.swift in Sources */,
C331FFF32558FF0300070591 /* PathStatusView.swift in Sources */,
4C13C9F620E57BA30089A98B /* ColorPickerViewController.swift in Sources */,
4CC1ECFB211A553000CC13BE /* AppUpdateNag.swift in Sources */,
C369549D24D27A3500CEB4E3 /* MultiDeviceRemovalSheet.swift in Sources */,
34B6A903218B3F63007C4606 /* TypingIndicatorView.swift in Sources */,
B8CCF639239721E20091D419 /* TabBar.swift in Sources */,
458E38371D668EBF0094BD24 /* OWSDeviceProvisioningURLParser.m in Sources */,
34B6A905218B4C91007C4606 /* TypingIndicatorInteraction.swift in Sources */,
2400888E239F30A600305217 /* SessionRestorationView.swift in Sources */,
@ -5361,13 +5485,13 @@
340FC8AB204DAC8D007AEB0F /* DomainFrontingCountryViewController.m in Sources */,
4C586926224FAB83003FD070 /* AVAudioSession+OWS.m in Sources */,
3496744D2076768700080B5F /* OWSMessageBubbleView.m in Sources */,
C331FFF42558FF0300070591 /* PNOptionView.swift in Sources */,
34B3F8751E8DF1700035BE1A /* CallViewController.swift in Sources */,
4C4AE6A1224AF35700D4AF6F /* SendMediaNavigationController.swift in Sources */,
34D8C0281ED3673300188D7C /* DebugUITableViewController.m in Sources */,
45F32C222057297A00A300D5 /* MediaDetailViewController.m in Sources */,
C3DAB3242480CB2B00725F25 /* SRCopyableLabel.swift in Sources */,
B8B26C8F234D629C004ED98C /* MentionCandidateSelectionView.swift in Sources */,
B879D44B247E1D9200DB3608 /* PathStatusView.swift in Sources */,
C396DAF02518408B00FF6DC5 /* String+Lines.swift in Sources */,
B8CCF63F23975CFB0091D419 /* JoinPublicChatVC.swift in Sources */,
34ABC0E421DD20C500ED9469 /* ConversationMessageMapping.swift in Sources */,
@ -5393,7 +5517,6 @@
340FC8BB204DAC8D007AEB0F /* OWSAddToContactViewController.m in Sources */,
45F32C232057297A00A300D5 /* MediaPageViewController.swift in Sources */,
452C468F1E427E200087B011 /* OutboundCallInitiator.swift in Sources */,
C353F8F9244809150011121A /* PNOptionView.swift in Sources */,
B82B4094239DF15900A248E7 /* ConversationTitleView.swift in Sources */,
34D2CCDA2062E7D000CB1A14 /* OWSScreenLockUI.m in Sources */,
45F170BB1E2FC5D3003FC1F2 /* CallAudioService.swift in Sources */,
@ -5411,7 +5534,6 @@
45F32C242057297A00A300D5 /* MessageDetailViewController.swift in Sources */,
C396DAEF2518408B00FF6DC5 /* ParsingState.swift in Sources */,
3496955C219B605E00DCFE74 /* ImagePickerController.swift in Sources */,
B8BB82B523947F2D00BA5194 /* TextField.swift in Sources */,
34D1F0841F8678AA0066283D /* ConversationInputToolbar.m in Sources */,
457F671B20746193000EABCD /* QuotedReplyPreview.swift in Sources */,
C31D1DE32521718E005D4DA8 /* UserSelectionVC.swift in Sources */,
@ -5430,6 +5552,7 @@
C3E7134F251C867C009649BB /* Sodium+Conversion.swift in Sources */,
340FC8B5204DAC8D007AEB0F /* AboutTableViewController.m in Sources */,
34BECE2B1F74C12700D7438D /* DebugUIStress.m in Sources */,
C33100082558FF6D00070591 /* NewConversationButtonSet.swift in Sources */,
340FC8B9204DAC8D007AEB0F /* UpdateGroupViewController.m in Sources */,
B8BB82A5238F627000BA5194 /* HomeVC.swift in Sources */,
C31A6C5A247F214E001123EF /* UIView+Glow.swift in Sources */,
@ -5463,6 +5586,7 @@
3427C64320F500E000EEC730 /* OWSMessageTimerView.m in Sources */,
B90418E6183E9DD40038554A /* DateUtil.m in Sources */,
340FC8BD204DAC8D007AEB0F /* ShowGroupMembersViewController.m in Sources */,
C33100092558FF6D00070591 /* UserCell.swift in Sources */,
C3645350252449260045C478 /* VoiceMessageView.swift in Sources */,
3496956F21A301A100DCFE74 /* OWSBackupLazyRestore.swift in Sources */,
459311FC1D75C948008DD4F0 /* OWSDeviceTableViewCell.m in Sources */,
@ -5533,6 +5657,11 @@
target = D221A088169C9E5E00537ABF /* Signal */;
targetProxy = B6AFCEBA19A93DA60098CFCB /* PBXContainerItemProxy */;
};
C331FF212558F9D300070591 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = C331FF1A2558F9D300070591 /* SessionUIKit */;
targetProxy = C331FF202558F9D300070591 /* PBXContainerItemProxy */;
};
C36B8706243C50B00049991D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 453518911FC63DBF00210559 /* SignalMessaging */;
@ -5955,6 +6084,129 @@
};
name = "App Store Release";
};
C331FF242558F9D400070591 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = SessionUIKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.SessionUIKit";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
C331FF252558F9D400070591 /* App Store 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = SUQ8J2PCT7;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
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;
INFOPLIST_FILE = SessionUIKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.SessionUIKit";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = "App Store Release";
};
C3C2A5A8255385C100C340D1 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A6344D429FFAC3B44E6A06FA /* Pods-SessionSnodeKit.debug.xcconfig */;
@ -5991,7 +6243,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = SessionSnodeKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
@ -6064,7 +6316,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SessionSnodeKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
@ -6117,7 +6369,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = SessionUtilitiesKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
@ -6199,7 +6451,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SessionUtilitiesKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
@ -6261,7 +6513,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = SessionMessagingKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
@ -6334,7 +6586,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SessionMessagingKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
@ -6387,7 +6639,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
INFOPLIST_FILE = SessionProtocolKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
@ -6461,7 +6713,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = SessionProtocolKit/Meta/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
@ -6913,6 +7165,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
};
C331FF262558F9D400070591 /* Build configuration list for PBXNativeTarget "SessionUIKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C331FF242558F9D400070591 /* Debug */,
C331FF252558F9D400070591 /* App Store Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = "App Store Release";
};
C3C2A5AA255385C100C340D1 /* Build configuration list for PBXNativeTarget "SessionSnodeKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (

@ -22,4 +22,5 @@
#import <SessionServiceKit/NSArray+Functional.h>
#import <SessionServiceKit/NSSet+Functional.h>
#import <SessionServiceKit/NSObject+Casting.h>
#import <SessionUIKit/SessionUIKit.h>
#endif

@ -1,3 +1,4 @@
import UIKit
final class ConversationCell : UITableViewCell {
var threadViewModel: ThreadViewModel! { didSet { update() } }

@ -1,3 +1,4 @@
import UIKit
final class NewConversationButtonSet : UIView {
private var isUserDragging = false

@ -1,3 +1,4 @@
import UIKit
final class OptionView : UIView {
private let title: String

@ -1,3 +1,4 @@
import UIKit
final class PathStatusView : UIView {

@ -1,3 +1,4 @@
import SessionUIKit
@objc(LKSessionRestorationView)
final class SessionRestorationView : UIView {

@ -1,3 +1,4 @@
import UIKit
final class UserCell : UITableViewCell {
var accessory = Accessory.none

@ -4,6 +4,7 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <SessionUIKit/SessionUIKit.h>
// Separate iOS Frameworks from other imports.
#import "AppDelegate.h"

@ -1,3 +1,4 @@
import SessionUIKit
@objc(LKProfilePictureView)
public final class ProfilePictureView : UIView {

@ -1,3 +1,4 @@
import SessionUIKit
public extension UIView {

@ -1,3 +1,4 @@
import SessionUIKit
@objc(LKViewControllerUtilities)
public final class ViewControllerUtilities : NSObject {

@ -4,6 +4,7 @@
import Foundation
import UIKit
import SessionUIKit
protocol AttachmentApprovalInputAccessoryViewDelegate: class {
func attachmentApprovalInputUpdateMediaRail()

@ -6,6 +6,7 @@ import Foundation
import AVFoundation
import MediaPlayer
import PromiseKit
import SessionUIKit
@objc
public protocol AttachmentApprovalViewControllerDelegate: class {

@ -4,6 +4,7 @@
import Foundation
import UIKit
import SessionUIKit
protocol AttachmentCaptionToolbarDelegate: class {
func attachmentCaptionToolbarDidEdit(_ attachmentCaptionToolbar: AttachmentCaptionToolbar)

@ -5,6 +5,7 @@
import Foundation
import UIKit
import AVFoundation
import SessionUIKit
protocol AttachmentPrepViewControllerDelegate: class {
func prepViewControllerUpdateNavigationBar()

@ -4,6 +4,7 @@
import Foundation
import UIKit
import SessionUIKit
// Coincides with Android's max text message length
let kMaxMessageBodyCharacterCount = 2000

@ -6,6 +6,7 @@ import Foundation
import MediaPlayer
import YYImage
import SessionServiceKit
import SessionUIKit
@objc
public enum MediaMessageViewMode: UInt {

@ -4,6 +4,7 @@
#import "OWSNavigationController.h"
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -9,6 +9,7 @@
#import "UIFont+OWS.h"
#import "UIView+OWS.h"
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -7,6 +7,7 @@
#import "UIFont+OWS.h"
#import "UIView+OWS.h"
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NSString *NSStringForScreenLockUIState(ScreenLockUIState value)
{

@ -23,6 +23,7 @@
#import <SessionServiceKit/TSContactThread.h>
#import <SessionServiceKit/TSThread.h>
#import <YapDatabase/YapDatabase.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -14,6 +14,7 @@
#import <SessionServiceKit/OWSError.h>
#import <SessionServiceKit/OWSMessageSender.h>
#import <SessionServiceKit/TSThread.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -13,6 +13,7 @@
#import <SessionServiceKit/TSContactThread.h>
#import <SessionServiceKit/TSGroupThread.h>
#import <SessionServiceKit/TSThread.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -3,6 +3,7 @@
//
import PromiseKit
import SessionUIKit
public protocol GalleryRailItemProvider: class {
var railItems: [GalleryRailItem] { get }

@ -3,6 +3,7 @@
//
import UIKit
import SessionUIKit
@objc
public protocol ImageEditorBrushViewControllerDelegate: class {

@ -3,6 +3,7 @@
//
import UIKit
import SessionUIKit
public protocol ImageEditorCropViewControllerDelegate: class {
func cropDidComplete(transform: ImageEditorTransform)

@ -3,6 +3,7 @@
//
import UIKit
import SessionUIKit
@objc
public protocol VAlignTextViewDelegate: class {

@ -3,6 +3,7 @@
//
import UIKit
import SessionUIKit
public extension NSObject {

@ -4,6 +4,7 @@
import Foundation
import UIKit
import SessionUIKit
@objc
public protocol NavBarLayoutDelegate: class {

@ -6,6 +6,7 @@
#import "Theme.h"
#import "UIView+OWS.h"
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -5,6 +5,7 @@
#import "OWSTextField.h"
#import "Theme.h"
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -5,6 +5,7 @@
#import "OWSTextView.h"
#import "Theme.h"
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -9,6 +9,7 @@
#import <SessionServiceKit/OWSPrimaryStorage.h>
#import <SessionServiceKit/YapDatabaseConnection+OWS.h>
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
NS_ASSUME_NONNULL_BEGIN

@ -3,6 +3,7 @@
//
import Foundation
import SessionUIKit
@objc
public class ConversationStyle: NSObject {

@ -7,6 +7,7 @@
#import "UIColor+OWS.h"
#import <SessionServiceKit/AppContext.h>
#import <SignalMessaging/SignalMessaging-Swift.h>
#import <SessionUIKit/SessionUIKit.h>
#define CONTACT_PICTURE_VIEW_BORDER_WIDTH 0.5f

@ -2,7 +2,6 @@
public extension Notification.Name {
// State changes
public static let appModeChanged = Notification.Name("appModeChanged")
public static let blockedContactsUpdated = Notification.Name("blockedContactsUpdated")
public static let contactOnlineStatusChanged = Notification.Name("contactOnlineStatusChanged")
public static let groupThreadUpdated = Notification.Name("groupThreadUpdated")
@ -29,7 +28,6 @@ public extension Notification.Name {
@objc public extension NSNotification {
// State changes
@objc public static let appModeChanged = Notification.Name.appModeChanged.rawValue as NSString
@objc public static let blockedContactsUpdated = Notification.Name.blockedContactsUpdated.rawValue as NSString
@objc public static let contactOnlineStatusChanged = Notification.Name.contactOnlineStatusChanged.rawValue as NSString
@objc public static let groupThreadUpdated = Notification.Name.groupThreadUpdated.rawValue as NSString

@ -8,6 +8,7 @@ import SignalMessaging
import PureLayout
import SessionServiceKit
import PromiseKit
import SessionUIKit
@objc
public class ShareViewController: UIViewController, ShareViewDelegate, SAEFailedViewDelegate, AppModeManagerDelegate {

@ -18,4 +18,5 @@
#import <SessionCoreKit/OWSAsserts.h>
#import <SessionServiceKit/OWSAnalytics.h>
#import <SessionCoreKit/NSObject+OWS.h>
#import <SessionUIKit/SessionUIKit.h>
#endif

Loading…
Cancel
Save