Xcode 8.0 b3 + swift 2.3 support (#183)
* Fixes compilation for Xcode 8.0(beta 3)/Swift 2.3 * Adds NSCameraUsageDescription and NSPhotoLibraryUsageDescription to avoid crash on iOS 10 beta * Runs swiftlint autocorrect
This commit is contained in:
parent
1329c96a0e
commit
d8a162cb0f
|
|
@ -420,6 +420,7 @@
|
|||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
|
|
@ -461,6 +462,7 @@
|
|||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
|
|
|
|||
|
|
@ -699,6 +699,7 @@
|
|||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
|
|
@ -740,6 +741,7 @@
|
|||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ public class BaseMessagePresenter<BubbleViewT, ViewModelBuilderT, InteractionHan
|
|||
public func onCellBubbleLongPressEnded() {
|
||||
self.interactionHandler?.userDidEndLongPressOnBubble(viewModel: self.messageViewModel)
|
||||
}
|
||||
|
||||
|
||||
public func onCellAvatarTapped() {
|
||||
self.interactionHandler?.userDidTapOnAvatar(viewModel: self.messageViewModel)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ public class BaseMessageCollectionViewCell<BubbleViewType where BubbleViewType:U
|
|||
longpressGestureRecognizer.delegate = self
|
||||
return longpressGestureRecognizer
|
||||
}()
|
||||
|
||||
|
||||
public private(set) lazy var avatarTapGestureRecognizer: UITapGestureRecognizer = {
|
||||
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(BaseMessageCollectionViewCell.avatarTapped(_:)))
|
||||
return tapGestureRecognizer
|
||||
|
|
@ -323,7 +323,7 @@ public class BaseMessageCollectionViewCell<BubbleViewType where BubbleViewType:U
|
|||
func avatarTapped(tapGestureRecognizer: UITapGestureRecognizer) {
|
||||
self.onAvatarTapped?(cell: self)
|
||||
}
|
||||
|
||||
|
||||
public var onBubbleTapped: ((cell: BaseMessageCollectionViewCell) -> Void)?
|
||||
@objc
|
||||
func bubbleTapped(tapGestureRecognizer: UITapGestureRecognizer) {
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ public class ChatInputBar: ReusableXibView {
|
|||
@IBOutlet var tabBarContainerHeightConstraint: NSLayoutConstraint!
|
||||
|
||||
class public func loadNib() -> ChatInputBar {
|
||||
let view = NSBundle(forClass: self).loadNibNamed(self.nibName(), owner: nil, options: nil).first as! ChatInputBar
|
||||
let view = NSBundle(forClass: self).loadNibNamed(self.nibName(), owner: nil, options: nil)!.first as! ChatInputBar
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.frame = CGRect.zero
|
||||
return view
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ import UIKit
|
|||
}
|
||||
|
||||
let bundle = NSBundle(forClass: self.dynamicType)
|
||||
if let loadedView = bundle.loadNibNamed(self.dynamicType.nibName(), owner: nil, options: nil).first as! UIView? {
|
||||
if let loadedView = bundle.loadNibNamed(self.dynamicType.nibName(), owner: nil, options: nil)?.first as? UIView {
|
||||
loadedView.frame = frame
|
||||
loadedView.autoresizingMask = autoresizingMask
|
||||
loadedView.translatesAutoresizingMaskIntoConstraints = translatesAutoresizingMaskIntoConstraints
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ class PhotoMessageTestHandler: BaseMessageInteractionHandlerProtocol {
|
|||
func userDidTapOnFailIcon(viewModel viewModel: ViewModelT, failIconView: UIView) {
|
||||
self.didHandleTapOnFailIcon = true
|
||||
}
|
||||
|
||||
|
||||
var didHandleTapOnAvatar = false
|
||||
func userDidTapOnAvatar(viewModel viewModel: ViewModelT) {
|
||||
self.didHandleTapOnAvatar = true
|
||||
|
|
|
|||
|
|
@ -92,9 +92,9 @@ class TextMessageTestHandler: BaseMessageInteractionHandlerProtocol {
|
|||
func userDidTapOnFailIcon(viewModel viewModel: ViewModelT, failIconView: UIView) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
func userDidTapOnAvatar(viewModel viewModel: ViewModelT) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
func userDidTapOnBubble(viewModel viewModel: ViewModelT) {
|
||||
|
|
|
|||
|
|
@ -578,6 +578,7 @@
|
|||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
|
|
@ -616,6 +617,7 @@
|
|||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
|
||||
SWIFT_VERSION = 2.3;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,6 +22,10 @@
|
|||
<string>1</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>NSCameraUsageDescription</string>
|
||||
<key>NSPhotoLibraryUsageDescription</key>
|
||||
<string>NSPhotoLibraryUsageDescription</string>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UIMainStoryboardFile</key>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class BaseMessageHandler {
|
|||
func userDidTapOnAvatar(viewModel viewModel: MessageViewModelProtocol) {
|
||||
print("userDidTapOnAvatar")
|
||||
}
|
||||
|
||||
|
||||
func userDidTapOnBubble(viewModel viewModel: DemoMessageViewModelProtocol) {
|
||||
print("userDidTapOnBubble")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,19 +65,19 @@ class DemoChatViewController: BaseChatViewController {
|
|||
}
|
||||
|
||||
override func createPresenterBuilders() -> [ChatItemType: [ChatItemPresenterBuilderProtocol]] {
|
||||
|
||||
|
||||
let textMessagePresenter = TextMessagePresenterBuilder(
|
||||
viewModelBuilder: DemoTextMessageViewModelBuilder(),
|
||||
interactionHandler: DemoTextMessageHandler(baseHandler: self.baseMessageHandler)
|
||||
)
|
||||
textMessagePresenter.baseMessageStyle = BaseMessageCollectionViewCellAvatarStyle()
|
||||
|
||||
|
||||
let photoMessagePresenter = PhotoMessagePresenterBuilder(
|
||||
viewModelBuilder: DemoPhotoMessageViewModelBuilder(),
|
||||
interactionHandler: DemoPhotoMessageHandler(baseHandler: self.baseMessageHandler)
|
||||
)
|
||||
photoMessagePresenter.baseCellStyle = BaseMessageCollectionViewCellAvatarStyle()
|
||||
|
||||
|
||||
return [
|
||||
DemoTextMessageModel.chatItemType: [
|
||||
textMessagePresenter
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ class DemoPhotoMessageHandler: BaseMessageInteractionHandlerProtocol {
|
|||
func userDidTapOnFailIcon(viewModel viewModel: DemoPhotoMessageViewModel, failIconView: UIView) {
|
||||
self.baseHandler.userDidTapOnFailIcon(viewModel: viewModel)
|
||||
}
|
||||
|
||||
|
||||
func userDidTapOnAvatar(viewModel viewModel: DemoPhotoMessageViewModel) {
|
||||
self.baseHandler.userDidTapOnAvatar(viewModel: viewModel)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,10 +30,11 @@ class DemoTextMessageHandler: BaseMessageInteractionHandlerProtocol {
|
|||
init (baseHandler: BaseMessageHandler) {
|
||||
self.baseHandler = baseHandler
|
||||
}
|
||||
|
||||
func userDidTapOnFailIcon(viewModel viewModel: DemoTextMessageViewModel, failIconView: UIView) {
|
||||
self.baseHandler.userDidTapOnFailIcon(viewModel: viewModel)
|
||||
}
|
||||
|
||||
|
||||
func userDidTapOnAvatar(viewModel viewModel: DemoTextMessageViewModel) {
|
||||
self.baseHandler.userDidTapOnAvatar(viewModel: viewModel)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1081,6 +1081,7 @@
|
|||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
SWIFT_VERSION = 2.3;
|
||||
SYMROOT = "${SRCROOT}/../build";
|
||||
};
|
||||
name = Debug;
|
||||
|
|
@ -1151,6 +1152,7 @@
|
|||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
STRIP_INSTALLED_PRODUCT = NO;
|
||||
SWIFT_VERSION = 2.3;
|
||||
SYMROOT = "${SRCROOT}/../build";
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue