├── Pods ├── Headers │ ├── Public │ │ ├── Protobuf │ │ │ ├── GPBArray.h │ │ │ ├── GPBMessage.h │ │ │ ├── GPBBootstrap.h │ │ │ ├── GPBDescriptor.h │ │ │ ├── GPBDictionary.h │ │ │ ├── GPBRootObject.h │ │ │ ├── GPBUtilities.h │ │ │ ├── GPBWireFormat.h │ │ │ ├── GPBRuntimeTypes.h │ │ │ ├── GPBUnknownField.h │ │ │ ├── Any.pbobjc.h │ │ │ ├── Api.pbobjc.h │ │ │ ├── GPBProtocolBuffers.h │ │ │ ├── GPBUnknownFieldSet.h │ │ │ ├── GPBWellKnownTypes.h │ │ │ ├── Empty.pbobjc.h │ │ │ ├── GPBCodedInputStream.h │ │ │ ├── GPBCodedOutputStream.h │ │ │ ├── GPBExtensionRegistry.h │ │ │ ├── Type.pbobjc.h │ │ │ ├── Duration.pbobjc.h │ │ │ ├── GPBArray_PackagePrivate.h │ │ │ ├── GPBExtensionInternals.h │ │ │ ├── Struct.pbobjc.h │ │ │ ├── Wrappers.pbobjc.h │ │ │ ├── FieldMask.pbobjc.h │ │ │ ├── GPBMessage_PackagePrivate.h │ │ │ ├── Timestamp.pbobjc.h │ │ │ ├── GPBDescriptor_PackagePrivate.h │ │ │ ├── GPBDictionary_PackagePrivate.h │ │ │ ├── GPBRootObject_PackagePrivate.h │ │ │ ├── GPBUtilities_PackagePrivate.h │ │ │ ├── SourceContext.pbobjc.h │ │ │ ├── GPBUnknownField_PackagePrivate.h │ │ │ ├── GPBProtocolBuffers_RuntimeSupport.h │ │ │ ├── GPBUnknownFieldSet_PackagePrivate.h │ │ │ ├── GPBCodedInputStream_PackagePrivate.h │ │ │ └── GPBCodedOutputStream_PackagePrivate.h │ │ ├── AFNetworking │ │ │ ├── AFNetworking.h │ │ │ ├── AFSecurityPolicy.h │ │ │ ├── AFHTTPSessionManager.h │ │ │ ├── AFImageDownloader.h │ │ │ ├── AFURLSessionManager.h │ │ │ ├── UIImage+AFNetworking.h │ │ │ ├── UIKit+AFNetworking.h │ │ │ ├── AFURLRequestSerialization.h │ │ │ ├── UIButton+AFNetworking.h │ │ │ ├── UIWebView+AFNetworking.h │ │ │ ├── AFAutoPurgingImageCache.h │ │ │ ├── AFNetworkReachabilityManager.h │ │ │ ├── AFURLResponseSerialization.h │ │ │ ├── UIImageView+AFNetworking.h │ │ │ ├── UIProgressView+AFNetworking.h │ │ │ ├── UIRefreshControl+AFNetworking.h │ │ │ ├── AFNetworkActivityIndicatorManager.h │ │ │ └── UIActivityIndicatorView+AFNetworking.h │ │ └── CocoaAsyncSocket │ │ │ ├── GCDAsyncSocket.h │ │ │ └── GCDAsyncUdpSocket.h │ └── Private │ │ ├── Protobuf │ │ ├── GPBArray.h │ │ ├── GPBMessage.h │ │ ├── GPBBootstrap.h │ │ ├── GPBUtilities.h │ │ ├── GPBDescriptor.h │ │ ├── GPBDictionary.h │ │ ├── GPBRootObject.h │ │ ├── GPBRuntimeTypes.h │ │ ├── GPBUnknownField.h │ │ ├── GPBWireFormat.h │ │ ├── GPBWellKnownTypes.h │ │ ├── Any.pbobjc.h │ │ ├── Api.pbobjc.h │ │ ├── Empty.pbobjc.h │ │ ├── GPBCodedInputStream.h │ │ ├── GPBCodedOutputStream.h │ │ ├── GPBExtensionRegistry.h │ │ ├── GPBProtocolBuffers.h │ │ ├── GPBUnknownFieldSet.h │ │ ├── Type.pbobjc.h │ │ ├── GPBExtensionInternals.h │ │ ├── Struct.pbobjc.h │ │ ├── Duration.pbobjc.h │ │ ├── FieldMask.pbobjc.h │ │ ├── GPBArray_PackagePrivate.h │ │ ├── GPBMessage_PackagePrivate.h │ │ ├── Timestamp.pbobjc.h │ │ ├── Wrappers.pbobjc.h │ │ ├── GPBUtilities_PackagePrivate.h │ │ ├── GPBDescriptor_PackagePrivate.h │ │ ├── GPBDictionary_PackagePrivate.h │ │ ├── GPBRootObject_PackagePrivate.h │ │ ├── GPBUnknownField_PackagePrivate.h │ │ ├── SourceContext.pbobjc.h │ │ ├── GPBCodedInputStream_PackagePrivate.h │ │ ├── GPBCodedOutputStream_PackagePrivate.h │ │ ├── GPBProtocolBuffers_RuntimeSupport.h │ │ └── GPBUnknownFieldSet_PackagePrivate.h │ │ ├── AFNetworking │ │ ├── AFNetworking.h │ │ ├── AFSecurityPolicy.h │ │ ├── AFHTTPSessionManager.h │ │ ├── AFImageDownloader.h │ │ ├── AFURLSessionManager.h │ │ ├── UIKit+AFNetworking.h │ │ ├── AFURLRequestSerialization.h │ │ ├── UIButton+AFNetworking.h │ │ ├── UIImage+AFNetworking.h │ │ ├── UIWebView+AFNetworking.h │ │ ├── AFAutoPurgingImageCache.h │ │ ├── AFURLResponseSerialization.h │ │ ├── UIImageView+AFNetworking.h │ │ ├── AFNetworkReachabilityManager.h │ │ ├── UIProgressView+AFNetworking.h │ │ ├── UIRefreshControl+AFNetworking.h │ │ ├── AFNetworkActivityIndicatorManager.h │ │ └── UIActivityIndicatorView+AFNetworking.h │ │ └── CocoaAsyncSocket │ │ ├── GCDAsyncSocket.h │ │ └── GCDAsyncUdpSocket.h ├── Target Support Files │ ├── Protobuf │ │ ├── Protobuf-prefix.pch │ │ ├── Protobuf-dummy.m │ │ └── Protobuf.xcconfig │ ├── CocoaAsyncSocket │ │ ├── CocoaAsyncSocket-prefix.pch │ │ ├── CocoaAsyncSocket-dummy.m │ │ └── CocoaAsyncSocket.xcconfig │ ├── AFNetworking │ │ ├── AFNetworking-dummy.m │ │ ├── AFNetworking-prefix.pch │ │ └── AFNetworking.xcconfig │ └── Pods-UseProtobufDemo │ │ ├── Pods-UseProtobufDemo-dummy.m │ │ ├── Pods-UseProtobufDemo.debug.xcconfig │ │ └── Pods-UseProtobufDemo.release.xcconfig ├── EaseUI │ ├── EaseUI │ │ ├── resources │ │ │ └── EaseUIResource.bundle │ │ │ │ ├── in.caf │ │ │ │ ├── back@2x.png │ │ │ │ ├── user@2x.png │ │ │ │ ├── arrow@2x.png │ │ │ │ ├── group@2x.png │ │ │ │ ├── chatBar_face@2x.png │ │ │ │ ├── chatBar_more@2x.png │ │ │ │ ├── faceDelete@2x.png │ │ │ │ ├── messageVideo@2x.png │ │ │ │ ├── chatBar_record@2x.png │ │ │ │ ├── chat_item_file@2x.png │ │ │ │ ├── chat_sender_bg@2x.png │ │ │ │ ├── chatBar_keyboard@2x.png │ │ │ │ ├── chatBar_recordBg@2x.png │ │ │ │ ├── chat_receiver_bg@2x.png │ │ │ │ ├── imageDownloadFail@2x.png │ │ │ │ ├── messageSendFail@2x.png │ │ │ │ ├── messageToolbarBg@2x.png │ │ │ │ ├── VoiceSearchFeedback001@2x.png │ │ │ │ ├── VoiceSearchFeedback002@2x.png │ │ │ │ ├── VoiceSearchFeedback003@2x.png │ │ │ │ ├── VoiceSearchFeedback004@2x.png │ │ │ │ ├── VoiceSearchFeedback005@2x.png │ │ │ │ ├── VoiceSearchFeedback006@2x.png │ │ │ │ ├── VoiceSearchFeedback007@2x.png │ │ │ │ ├── VoiceSearchFeedback008@2x.png │ │ │ │ ├── VoiceSearchFeedback009@2x.png │ │ │ │ ├── VoiceSearchFeedback010@2x.png │ │ │ │ ├── VoiceSearchFeedback011@2x.png │ │ │ │ ├── VoiceSearchFeedback012@2x.png │ │ │ │ ├── VoiceSearchFeedback013@2x.png │ │ │ │ ├── VoiceSearchFeedback014@2x.png │ │ │ │ ├── VoiceSearchFeedback015@2x.png │ │ │ │ ├── VoiceSearchFeedback016@2x.png │ │ │ │ ├── VoiceSearchFeedback017@2x.png │ │ │ │ ├── VoiceSearchFeedback018@2x.png │ │ │ │ ├── VoiceSearchFeedback019@2x.png │ │ │ │ ├── VoiceSearchFeedback020@2x.png │ │ │ │ ├── chatBar_faceSelected@2x.png │ │ │ │ ├── chatBar_moreSelected@2x.png │ │ │ │ ├── chatBar_recordSelected@2x.png │ │ │ │ ├── chat_location_preview@2x.png │ │ │ │ ├── en.lproj │ │ │ │ └── Localizable.strings │ │ │ │ ├── chatBar_colorMore_camera@2x.png │ │ │ │ ├── chatBar_colorMore_photo@2x.png │ │ │ │ ├── chatBar_colorMore_video@2x.png │ │ │ │ ├── chatBar_keyboardSelected@2x.png │ │ │ │ ├── chatBar_recordSelectedBg@2x.png │ │ │ │ ├── chatBar_colorMore_audioCall@2x.png │ │ │ │ ├── chatBar_colorMore_location@2x.png │ │ │ │ ├── chatBar_colorMore_videoCall@2x.png │ │ │ │ ├── zh-Hans.lproj │ │ │ │ └── Localizable.strings │ │ │ │ ├── chat_sender_audio_playing_000@2x.png │ │ │ │ ├── chat_sender_audio_playing_001@2x.png │ │ │ │ ├── chat_sender_audio_playing_002@2x.png │ │ │ │ ├── chat_sender_audio_playing_003@2x.png │ │ │ │ ├── chatBar_colorMore_cameraSelected@2x.png │ │ │ │ ├── chatBar_colorMore_photoSelected@2x.png │ │ │ │ ├── chatBar_colorMore_videoSelected@2x.png │ │ │ │ ├── chat_receiver_audio_playing000@2x.png │ │ │ │ ├── chat_receiver_audio_playing001@2x.png │ │ │ │ ├── chat_receiver_audio_playing002@2x.png │ │ │ │ ├── chat_receiver_audio_playing003@2x.png │ │ │ │ ├── chat_receiver_audio_playing_full@2x.png │ │ │ │ ├── chat_sender_audio_playing_full@2x.png │ │ │ │ ├── chatBar_colorMore_locationSelected@2x.png │ │ │ │ ├── chatBar_colorMore_audioCallSelected@2x.png │ │ │ │ └── chatBar_colorMore_videoCallSelected@2x.png │ │ └── EMUIKit │ │ │ ├── 3rdparty │ │ │ └── DeviceHelper │ │ │ │ ├── VoiceConvert │ │ │ │ ├── opencore-amrnb │ │ │ │ │ ├── libopencore-amrnb.a │ │ │ │ │ ├── interf_dec.h │ │ │ │ │ └── interf_enc.h │ │ │ │ ├── opencore-amrwb │ │ │ │ │ ├── libopencore-amrwb.a │ │ │ │ │ ├── if_rom.h │ │ │ │ │ └── dec_if.h │ │ │ │ ├── EMVoiceConverter.h │ │ │ │ ├── amrwapper │ │ │ │ │ ├── wav.h │ │ │ │ │ └── amrFileCodec.h │ │ │ │ └── EMVoiceConverter.mm │ │ │ │ ├── delegates │ │ │ │ ├── EMCDDeviceManagerDelegate.h │ │ │ │ └── EMCDDeviceManagerProximitySensorDelegate.h │ │ │ │ └── internal │ │ │ │ ├── EMCDDeviceManager+Remind.h │ │ │ │ ├── EMCDDeviceManager+Microphone.h │ │ │ │ ├── EMCDDeviceManager.h │ │ │ │ ├── DemoErrorCode.h │ │ │ │ ├── EMAudioPlayerUtil.h │ │ │ │ ├── EMCDDeviceManager+ProximitySensor.h │ │ │ │ ├── EMAudioRecorderUtil.h │ │ │ │ ├── EMCDDeviceManagerBase.h │ │ │ │ ├── EMCDDeviceManager+Media.h │ │ │ │ ├── EMCDDeviceManager+Microphone.m │ │ │ │ └── EMCDDeviceManager+ProximitySensor.m │ │ │ ├── Util │ │ │ ├── Category │ │ │ │ ├── UIImage+Resource.h │ │ │ │ ├── NSString+Valid.h │ │ │ │ ├── UIViewController+DismissKeyboard.h │ │ │ │ ├── NSDateFormatter+Category.h │ │ │ │ ├── UIViewController+HUD.h │ │ │ │ ├── UIImage+Resource.m │ │ │ │ ├── NSString+Valid.m │ │ │ │ ├── NSDateFormatter+Category.m │ │ │ │ ├── UIViewController+DismissKeyboard.m │ │ │ │ └── UIViewController+HUD.m │ │ │ ├── EaseChineseToPinyin.h │ │ │ ├── EaseLocalDefine.h │ │ │ ├── EaseConvertToCommonEmoticonsHelper.h │ │ │ ├── Emoji │ │ │ │ ├── EaseEmoji.h │ │ │ │ └── EaseEmotionEscape.h │ │ │ └── EaseMessageReadManager.h │ │ │ ├── Views │ │ │ ├── conversation │ │ │ │ ├── MessageCell │ │ │ │ │ ├── EaseCustomMessageCell.h │ │ │ │ │ ├── EaseMessageTimeCell.h │ │ │ │ │ └── EaseBaseMessageCell.h │ │ │ │ ├── toolbar │ │ │ │ │ ├── EaseChatToolbarItem.h │ │ │ │ │ ├── EaseChatToolbarItem.m │ │ │ │ │ ├── EaseImageView.h │ │ │ │ │ ├── EaseTextView.h │ │ │ │ │ ├── FaceView │ │ │ │ │ │ ├── EaseFaceView.h │ │ │ │ │ │ └── EaseFacialView.h │ │ │ │ │ └── RecordView │ │ │ │ │ │ └── EaseRecordView.h │ │ │ │ └── MessageCellBubbleView │ │ │ │ │ ├── EaseBubbleView+Gif.h │ │ │ │ │ ├── EaseBubbleView+File.h │ │ │ │ │ ├── EaseBubbleView+Text.h │ │ │ │ │ ├── EaseBubbleView+Image.h │ │ │ │ │ ├── EaseBubbleView+Voice.h │ │ │ │ │ ├── EaseBubbleView+Location.h │ │ │ │ │ └── EaseBubbleView+Video.h │ │ │ ├── contact │ │ │ │ └── EaseUserCell.h │ │ │ └── conversationList │ │ │ │ └── EaseConversationCell.h │ │ │ ├── ViewController │ │ │ ├── EaseViewController.h │ │ │ ├── EaseLocationViewController.h │ │ │ ├── EaseViewController.m │ │ │ └── EaseRefreshTableViewController.h │ │ │ ├── Model │ │ │ ├── EaseUserModel.m │ │ │ ├── IUserModel.h │ │ │ ├── EaseUserModel.h │ │ │ ├── IConversationModel.h │ │ │ ├── EaseConversationModel.h │ │ │ ├── EaseConversationModel.m │ │ │ ├── IModelCell.h │ │ │ └── IModelChatCell.h │ │ │ └── EaseUI.h │ ├── README.md │ └── LICENSE ├── Pods.xcodeproj │ └── xcuserdata │ │ ├── pengzk.xcuserdatad │ │ └── xcschemes │ │ │ └── xcschememanagement.plist │ │ └── macmini.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ ├── Protobuf.xcscheme │ │ ├── AFNetworking.xcscheme │ │ └── CocoaAsyncSocket.xcscheme ├── Manifest.lock ├── AFNetworking │ ├── LICENSE │ ├── UIKit+AFNetworking │ │ ├── UIImage+AFNetworking.h │ │ ├── UIKit+AFNetworking.h │ │ ├── UIActivityIndicatorView+AFNetworking.h │ │ └── UIRefreshControl+AFNetworking.h │ └── AFNetworking │ │ └── AFNetworking.h ├── Local Podspecs │ └── EaseUI.podspec.json └── Protobuf │ ├── objectivec │ ├── GPBProtocolBuffers_RuntimeSupport.h │ ├── GPBRootObject_PackagePrivate.h │ ├── google │ │ └── protobuf │ │ │ ├── Empty.pbobjc.h │ │ │ └── SourceContext.pbobjc.h │ ├── GPBUnknownField_PackagePrivate.h │ └── GPBRootObject.h │ └── LICENSE ├── 002If1Mfzy77mN5b9lR47&690.jpeg ├── UseProtobufDemo ├── Protobuf │ ├── compile.sh │ ├── Module&Src │ │ ├── aoneMessage.proto │ │ ├── enumMessage.proto │ │ ├── commandMessage.proto │ │ └── moduleMessage.proto │ └── Helper │ │ ├── NSObject+LogAllProperties.h │ │ ├── NSObject+ProtobufExtension.h │ │ ├── PBHelper.h │ │ ├── NSObject+DataMerge.h │ │ ├── HHClassInfo.h │ │ └── NSObject+LogAllProperties.m ├── Network │ ├── ResponseModel.m │ ├── ResponseModel.h │ └── MyDataService.h ├── ViewController.h ├── AppDelegate.h ├── main.m ├── Socket │ └── SocketManager.h ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json ├── Info.plist ├── Base.lproj │ ├── Main.storyboard │ └── LaunchScreen.storyboard └── AppDelegate.m ├── UseProtobufDemo.xcworkspace ├── xcuserdata │ └── pengzk.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── contents.xcworkspacedata └── xcshareddata │ └── IDEWorkspaceChecks.plist ├── UseProtobufDemo.xcodeproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ ├── pengzk.xcuserdatad │ └── xcschemes │ │ └── xcschememanagement.plist │ └── macmini.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── Podfile └── Podfile.lock /Pods/Headers/Public/Protobuf/GPBArray.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBArray.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBArray.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBArray.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBMessage.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBMessage.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBMessage.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBMessage.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBBootstrap.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBBootstrap.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBBootstrap.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBBootstrap.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBDictionary.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDictionary.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBRootObject.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBRootObject.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBUtilities.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUtilities.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBWireFormat.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBWireFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBDescriptor.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDescriptor.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBDictionary.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDictionary.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBRootObject.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBRootObject.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBRuntimeTypes.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBRuntimeTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBUnknownField.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownField.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBWireFormat.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBWireFormat.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBRuntimeTypes.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBRuntimeTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBUnknownField.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownField.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBWellKnownTypes.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBWellKnownTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Any.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Any.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Api.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Api.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBProtocolBuffers.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBProtocolBuffers.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBUnknownFieldSet.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownFieldSet.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBWellKnownTypes.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBWellKnownTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Any.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Any.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Api.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Api.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Empty.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Empty.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBCodedInputStream.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedInputStream.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBCodedOutputStream.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedOutputStream.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBExtensionRegistry.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBExtensionRegistry.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBProtocolBuffers.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBProtocolBuffers.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBUnknownFieldSet.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownFieldSet.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Type.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Type.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Empty.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Empty.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBCodedInputStream.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedInputStream.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBCodedOutputStream.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedOutputStream.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBExtensionRegistry.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBExtensionRegistry.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Type.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Type.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/CocoaAsyncSocket/GCDAsyncSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/Source/GCD/GCDAsyncSocket.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBExtensionInternals.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBExtensionInternals.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Struct.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Struct.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFSecurityPolicy.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFSecurityPolicy.h -------------------------------------------------------------------------------- /Pods/Headers/Public/CocoaAsyncSocket/GCDAsyncSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/Source/GCD/GCDAsyncSocket.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Duration.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Duration.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBArray_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBArray_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBExtensionInternals.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBExtensionInternals.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Struct.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Struct.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Wrappers.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Wrappers.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/CocoaAsyncSocket/GCDAsyncUdpSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/Source/GCD/GCDAsyncUdpSocket.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Duration.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Duration.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/FieldMask.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/FieldMask.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBArray_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBArray_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBMessage_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBMessage_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Timestamp.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Timestamp.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/Wrappers.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Wrappers.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFHTTPSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFImageDownloader.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFImageDownloader.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLSessionManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLSessionManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/CocoaAsyncSocket/GCDAsyncUdpSocket.h: -------------------------------------------------------------------------------- 1 | ../../../CocoaAsyncSocket/Source/GCD/GCDAsyncUdpSocket.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/FieldMask.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/FieldMask.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBMessage_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBMessage_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/Timestamp.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/Timestamp.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBUtilities_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUtilities_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBDescriptor_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDescriptor_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBDictionary_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDictionary_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBRootObject_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBRootObject_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBUtilities_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUtilities_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/SourceContext.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/SourceContext.pbobjc.h -------------------------------------------------------------------------------- /Pods/Target Support Files/Protobuf/Protobuf-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /002If1Mfzy77mN5b9lR47&690.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/002If1Mfzy77mN5b9lR47&690.jpeg -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBDescriptor_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDescriptor_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBDictionary_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBDictionary_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBRootObject_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBRootObject_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBUnknownField_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownField_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/SourceContext.pbobjc.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/google/protobuf/SourceContext.pbobjc.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLRequestSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLRequestSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIButton+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBUnknownField_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownField_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFAutoPurgingImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFAutoPurgingImageCache.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFURLResponseSerialization.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFURLResponseSerialization.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIImageView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBProtocolBuffers_RuntimeSupport.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBUnknownFieldSet_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownFieldSet_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworkReachabilityManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/AFNetworking/AFNetworkReachabilityManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBCodedInputStream_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedInputStream_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBCodedOutputStream_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedOutputStream_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBProtocolBuffers_RuntimeSupport.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Protobuf/GPBUnknownFieldSet_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBUnknownFieldSet_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIProgressView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIProgressView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBCodedInputStream_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedInputStream_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Protobuf/GPBCodedOutputStream_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | ../../../Protobuf/objectivec/GPBCodedOutputStream_PackagePrivate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Target Support Files/CocoaAsyncSocket/CocoaAsyncSocket-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/AFNetworkActivityIndicatorManager.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/Headers/Public/AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | ../../../AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/in.caf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/in.caf -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/back@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/user@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/user@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/arrow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/arrow@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/group@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/group@2x.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Protobuf/Protobuf-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Protobuf : NSObject 3 | @end 4 | @implementation PodsDummy_Protobuf 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_face@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_face@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_more@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_more@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/faceDelete@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/faceDelete@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/messageVideo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/messageVideo@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_record@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_record@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_item_file@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_item_file@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_bg@2x.png -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_AFNetworking : NSObject 3 | @end 4 | @implementation PodsDummy_AFNetworking 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_keyboard@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_keyboard@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_recordBg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_recordBg@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_bg@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/imageDownloadFail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/imageDownloadFail@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/messageSendFail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/messageSendFail@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/messageToolbarBg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/messageToolbarBg@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback001@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback001@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback002@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback002@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback003@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback003@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback004@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback004@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback005@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback005@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback006@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback006@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback007@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback007@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback008@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback008@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback009@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback009@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback010@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback010@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback011@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback011@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback012@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback012@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback013@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback013@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback014@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback014@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback015@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback015@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback016@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback016@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback017@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback017@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback018@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback018@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback019@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback019@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback020@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/VoiceSearchFeedback020@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_faceSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_faceSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_moreSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_moreSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_recordSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_recordSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_location_preview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_location_preview@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/Target Support Files/CocoaAsyncSocket/CocoaAsyncSocket-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_CocoaAsyncSocket : NSObject 3 | @end 4 | @implementation PodsDummy_CocoaAsyncSocket 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_camera@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_camera@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_photo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_photo@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_video@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_video@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_keyboardSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_keyboardSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_recordSelectedBg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_recordSelectedBg@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_audioCall@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_audioCall@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_location@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_location@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_videoCall@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_videoCall@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/zh-Hans.lproj/Localizable.strings -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_000@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_000@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_001@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_001@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_002@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_002@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_003@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_003@2x.png -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | BASEDIR=$(dirname "$0") 3 | cd "$BASEDIR" 4 | 5 | # relative url 6 | rm -rf ./Module\&Src/*.pbobjc.* 7 | 8 | protoc -I=./Module\&Src --objc_out=./Module\&Src ./Module\&Src/*.proto 9 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_cameraSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_cameraSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_photoSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_photoSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_videoSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_videoSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing000@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing000@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing001@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing001@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing002@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing002@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing003@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing003@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing_full@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_receiver_audio_playing_full@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_full@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chat_sender_audio_playing_full@2x.png -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-UseProtobufDemo/Pods-UseProtobufDemo-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_UseProtobufDemo : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_UseProtobufDemo 5 | @end 6 | -------------------------------------------------------------------------------- /UseProtobufDemo.xcworkspace/xcuserdata/pengzk.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/UseProtobufDemo.xcworkspace/xcuserdata/pengzk.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_locationSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_locationSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_audioCallSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_audioCallSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_videoCallSelected@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/resources/EaseUIResource.bundle/chatBar_colorMore_videoCallSelected@2x.png -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrnb/libopencore-amrnb.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrnb/libopencore-amrnb.a -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrwb/libopencore-amrwb.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HelloiWorld/UseProtobufDemo/HEAD/Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrwb/libopencore-amrwb.a -------------------------------------------------------------------------------- /UseProtobufDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /UseProtobufDemo/Network/ResponseModel.m: -------------------------------------------------------------------------------- 1 | // 2 | // ResponseModel.m 3 | // UseProtobufDemo 4 | // 5 | // Created by PengZK on 2018/5/9. 6 | // Copyright © 2018年 Aone. All rights reserved. 7 | // 8 | 9 | #import "ResponseModel.h" 10 | 11 | @implementation ResponseModel 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /UseProtobufDemo/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // UseProtobufDemo 4 | // 5 | // Created by pzk on 17/4/21. 6 | // Copyright © 2017年 Aone. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/UIImage+Resource.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Resource.h 3 | // Pods 4 | // 5 | // Created by EaseMob on 2017/4/20. 6 | // 7 | // 8 | 9 | #import 10 | 11 | @interface UIImage (Resource) 12 | 13 | + (UIImage*)easeImageNamed:(NSString *)name; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UseProtobufDemo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /UseProtobufDemo.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Module&Src/aoneMessage.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.protobuf.message"; 4 | option java_outer_classname = "AoneProtoMessage"; 5 | 6 | message Test_Req { 7 | string param_1 = 1; 8 | int32 param_2 = 2; 9 | } 10 | 11 | message Test_Rsp { 12 | string result_1 = 1; 13 | int64 result_2 = 2; 14 | } 15 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | 5 | #ifndef TARGET_OS_IOS 6 | #define TARGET_OS_IOS TARGET_OS_IPHONE 7 | #endif 8 | 9 | #ifndef TARGET_OS_WATCH 10 | #define TARGET_OS_WATCH 0 11 | #endif 12 | 13 | #ifndef TARGET_OS_TV 14 | #define TARGET_OS_TV 0 15 | #endif 16 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Helper/NSObject+LogAllProperties.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+LogAllProperties.h 3 | // TCoreData 4 | // 5 | // Created by HeiHuaBaiHua on 16/6/17. 6 | // Copyright © 2016年 黑花白花. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSObject (LogAllProperties) 12 | 13 | - (void)log; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /UseProtobufDemo/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // UseProtobufDemo 4 | // 5 | // Created by pzk on 17/4/21. 6 | // Copyright © 2017年 Aone. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Module&Src/enumMessage.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.protobuf.message"; 4 | option java_outer_classname = "EnumMessage"; 5 | 6 | enum ResProtoType { 7 | RES_DEFAULT = 0; 8 | RES_EXP = 1; 9 | RES_GOLD = 2; 10 | RES_SILVER = 3; 11 | RES_COPPER = 4; 12 | RES_BLUE_GEM = 5; 13 | RES_RED_GEM = 6; 14 | RES_YELLOW_GEM = 7; 15 | RES_JIFEN = 8; 16 | } 17 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | platform :ios, '8.0' 3 | 4 | target 'UseProtobufDemo' do 5 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks 6 | # use_frameworks! 7 | pod 'AFNetworking', '~>3.1.0' 8 | pod 'Protobuf', '~> 3.1.0' 9 | pod 'CocoaAsyncSocket', '~>7.5.1' 10 | # Pods for UseProtobufDemo 11 | 12 | end 13 | -------------------------------------------------------------------------------- /UseProtobufDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // UseProtobufDemo 4 | // 5 | // Created by pzk on 17/4/21. 6 | // Copyright © 2017年 Aone. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Module&Src/commandMessage.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.protobuf.message"; 4 | option java_outer_classname = "CommandMessage"; 5 | 6 | enum CommandEnum { 7 | CMD_DEFAULT = 0; 8 | CMD_TEST = 1; 9 | 10 | CMD_ERROR = 100000; 11 | 12 | //--------------socket commond----------------- 13 | CMD_SYSTEM_LOGOUT = 99900001; 14 | CMD_HEART_BEAT = 99900002; 15 | } 16 | 17 | -------------------------------------------------------------------------------- /UseProtobufDemo/Network/ResponseModel.h: -------------------------------------------------------------------------------- 1 | // 2 | // ResponseModel.h 3 | // UseProtobufDemo 4 | // 5 | // Created by PengZK on 2018/5/9. 6 | // Copyright © 2018年 Aone. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ResponseModel : NSObject 12 | 13 | @property (nonatomic, assign) int sizeLength; 14 | 15 | @property (nonatomic, assign) int cmdId; 16 | 17 | @property (nonatomic, strong) NSData *data; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /UseProtobufDemo.xcodeproj/xcuserdata/pengzk.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UseProtobufDemo.xcscheme 8 | 9 | orderHint 10 | 1 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Module&Src/moduleMessage.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.protobuf.message"; 4 | option java_outer_classname = "ModuleMessage"; 5 | 6 | message Error_Rsp { 7 | int32 error_code = 1; 8 | } 9 | 10 | // Empty request, equal to Get 11 | message Empty_Req { 12 | 13 | } 14 | 15 | message Empty_Rsp { 16 | BaseRspMessage base_rsp = 101; 17 | } 18 | 19 | // Handle resource change 20 | message BaseRspMessage { 21 | int32 level = 1; 22 | // 23 | map res_map = 50; 24 | } 25 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/EMVoiceConverter.h: -------------------------------------------------------------------------------- 1 | // 2 | // VoiceConverter.h 3 | // Jeans 4 | // 5 | // Created by Jeans Huang on 12-7-22. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface EMVoiceConverter : NSObject 12 | 13 | + (int)isMP3File:(NSString *)filePath; 14 | 15 | + (int)isAMRFile:(NSString *)filePath; 16 | 17 | + (int)amrToWav:(NSString*)_amrPath wavSavePath:(NSString*)_savePath; 18 | 19 | + (int)wavToAmr:(NSString*)_wavPath amrSavePath:(NSString*)_savePath; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/NSString+Valid.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface NSString (Valid) 16 | 17 | - (BOOL)isChinese; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /UseProtobufDemo.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | UseProtobufDemo.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 9A0930341EA9AA9700B47D4D 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/UIViewController+DismissKeyboard.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface UIViewController (DismissKeyboard) 16 | 17 | -(void)setupForDismissKeyboard; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCell/EaseCustomMessageCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseBaseMessageCell.h" 14 | 15 | /** @brief 自定义git图片cell */ 16 | 17 | @interface EaseCustomMessageCell : EaseBaseMessageCell 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Protobuf/Protobuf.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Protobuf 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Protobuf" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/Protobuf" 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 8 | SKIP_INSTALL = YES 9 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/EaseChineseToPinyin.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface EaseChineseToPinyin : NSObject 16 | 17 | + (NSString *)pinyinFromChineseString:(NSString *)string; 18 | 19 | + (char)sortSectionTitle:(NSString *)string; 20 | 21 | @end -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/delegates/EMCDDeviceManagerDelegate.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import "EMCDDeviceManagerProximitySensorDelegate.h" 15 | 16 | @protocol EMCDDeviceManagerDelegate 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseViewController.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface EaseViewController : UIViewController 16 | 17 | @property (strong, nonatomic) NSArray *rightItems; 18 | 19 | //default YES; 20 | @property (nonatomic) BOOL endEditingWhenTap; 21 | 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/Target Support Files/CocoaAsyncSocket/CocoaAsyncSocket.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/CocoaAsyncSocket 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/Protobuf" 4 | OTHER_LDFLAGS = -framework "CFNetwork" -framework "Security" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/NSDateFormatter+Category.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface NSDateFormatter (Category) 16 | 17 | + (id)dateFormatter; 18 | 19 | + (id)dateFormatterWithFormat:(NSString *)dateFormat; 20 | 21 | + (id)defaultDateFormatter;/*yyyy-MM-dd HH:mm:ss*/ 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager+Remind.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EMCDDeviceManager.h" 14 | #import 15 | @interface EMCDDeviceManager (Remind) 16 | 17 | // The system sound for a new message 18 | - (SystemSoundID)playNewMessageSound; 19 | 20 | - (void)playVibration; 21 | @end 22 | -------------------------------------------------------------------------------- /Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/AFNetworking 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/Protobuf" 4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager+Microphone.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EMCDDeviceManager.h" 14 | 15 | @interface EMCDDeviceManager (Microphone) 16 | 17 | // Check the availability for microphone 18 | - (BOOL)emCheckMicrophoneAvailability; 19 | 20 | // Get the audio volumn (0~1) 21 | - (double)emPeekRecorderVoiceMeter; 22 | @end 23 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/UIViewController+HUD.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface UIViewController (HUD) 16 | 17 | - (void)showHudInView:(UIView *)view hint:(NSString *)hint; 18 | 19 | - (void)hideHud; 20 | 21 | - (void)showHint:(NSString *)hint; 22 | 23 | - (void)showHint:(NSString *)hint yOffset:(float)yOffset; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Helper/NSObject+ProtobufExtension.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+ProtobufExtension.h 3 | // TRuntime 4 | // 5 | // Created by 黑花白花 on 16/6/15. 6 | // Copyright © 2017年 黑花白花. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | extern NSString *const kHHObjectClassName; 12 | extern NSString *const kHHProtobufObjectKeyPath; 13 | @protocol HHProtobufExtension 14 | 15 | + (NSArray *)igonrePropertiesForProtobuf;/**< 从protobuf解析时忽略的属性 */ 16 | + (NSDictionary *)replacedPropertyKeypathsForProtobuf;/**< protobuf替换键值 */ 17 | + (NSDictionary *)containerPropertyKeypathsForProtobuf;/**< model中有model/model数组 时对应的keypath */ 18 | 19 | @end 20 | 21 | @interface NSObject (ProtobufExtension) 22 | 23 | + (instancetype)instanceWithProtoObject:(id)protoObject;/**< protobuf数据转换为模型 */ 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #ifndef ChatDemo_UI2_0_EMCDDeviceManager_h 14 | #define ChatDemo_UI2_0_EMCDDeviceManager_h 15 | 16 | #import "EMCDDeviceManager+Media.h" 17 | #import "EMCDDeviceManager+Remind.h" 18 | #import "EMCDDeviceManager+Microphone.h" 19 | #import "EMCDDeviceManager+ProximitySensor.h" 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/DemoErrorCode.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #ifndef ChatDemo_UI2_0_DemoErrorCode_h 14 | #define ChatDemo_UI2_0_DemoErrorCode_h 15 | 16 | #define EMErrorAudioRecordDurationTooShort -100 17 | #define EMErrorFileTypeConvertionFailure -101 18 | #define EMErrorAudioRecordStoping -102 19 | #define EMErrorAudioRecordNotStarted -103 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/UIImage+Resource.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+Resource.m 3 | // Pods 4 | // 5 | // Created by EaseMob on 2017/4/20. 6 | // 7 | // 8 | 9 | #import "UIImage+Resource.h" 10 | 11 | #import "EaseUserModel.h" 12 | 13 | @implementation UIImage (Resource) 14 | 15 | + (UIImage*)easeImageNamed:(NSString *)name 16 | { 17 | if ([name rangeOfString:@"EaseUIResource.bundle"].location != NSNotFound) { 18 | name = [name stringByReplacingOccurrencesOfString:@"EaseUIResource.bundle/" withString:@""]; 19 | } 20 | NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle bundleForClass:[EaseUserModel class]] pathForResource:@"EaseUIResource" ofType:@"bundle"]]; 21 | return [UIImage imageWithContentsOfFile:[bundle pathForResource:[NSString stringWithFormat:@"%@@2x",name] ofType:@"png"]]; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/pengzk.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AFNetworking.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | CocoaAsyncSocket.xcscheme 13 | 14 | orderHint 15 | 2 16 | 17 | Pods-UseProtobufDemo.xcscheme 18 | 19 | orderHint 20 | 3 21 | 22 | Protobuf.xcscheme 23 | 24 | orderHint 25 | 4 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/NSString+Valid.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "NSString+Valid.h" 14 | 15 | @implementation NSString (Valid) 16 | 17 | - (BOOL)isChinese 18 | { 19 | NSString *match = @"(^[\u4e00-\u9fa5]+$)"; 20 | NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match]; 21 | return [predicate evaluateWithObject:self]; 22 | } 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/EaseLocalDefine.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #ifndef EaseLocalDefine_h 14 | #define EaseLocalDefine_h 15 | 16 | #import "EaseMessageModel.h" 17 | 18 | #define NSEaseLocalizedString(key, comment) [[NSBundle bundleWithPath:[[NSBundle bundleForClass:[EaseMessageModel class]] pathForResource:@"EaseUIResource" ofType:@"bundle"]] localizedStringForKey:(key) value:@"" table:nil] 19 | 20 | #endif /* EaseLocalDefine_h */ 21 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/EaseUserModel.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseUserModel.h" 14 | 15 | @implementation EaseUserModel 16 | 17 | - (instancetype)initWithBuddy:(NSString *)buddy 18 | { 19 | self = [super init]; 20 | if (self) { 21 | _buddy = buddy; 22 | _nickname = @""; 23 | _avatarImage = [UIImage easeImageNamed:@"EaseUIResource.bundle/user"]; 24 | } 25 | 26 | return self; 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Pods/EaseUI/README.md: -------------------------------------------------------------------------------- 1 | # easeui-ios 2 | 3 | 4 | 环信iOS easeui CocoaPod repo 5 | 6 | 从3.1.1开始, 小伙伴们可以使用 Cocoapods 来集成环信3.0SDK版本的easeui啦, 集成方法如下: 7 | 8 | 1. Podfile 文件添加如下代码 9 | 10 | pod 'EaseUI', :git =>'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git' 11 | 12 | 2. 使用时, 需要引入头文件, 在 pch 预编译文件中, 引入头文件如下: 13 | 14 | #import 15 | 16 | 接下来, 就可以正常使用环信的所有功能啦. 17 | 具体的使用步骤可以参考我们的官方文档: [集成文档](http://docs.easemob.com/im/300iosclientintegration/85easeuiguide) 18 | 19 | 注意:由于SDK改成了动态库,EaseUI引入的头文件Full版本和Lite版本不同,导致集成EaseUI失败。代码中包含了宏`ENABLE_LITE`的定义这个是为了区分集成Lite版本SDK还是Full版本SDK,当通过pod在集成`EaseUILite `时会在`Build Settings> GCC_PREPROCESSOR_DEFINITIONS >ENABLE_LITE=1`中定义`ENABLE_LITE`,集成`EaseUI`时则不会定义,所以开发者不需要关注这个字段,如果集成Lite版本SDK,建议使用 20 | 21 | pod 'EaseUILite', :git =>'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git' 22 | 23 | //引入头文件 24 | #import 25 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseChatToolbarItem.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import 15 | #import 16 | 17 | @interface EaseChatToolbarItem : NSObject 18 | 19 | @property (strong, nonatomic, readonly) UIButton *button; 20 | 21 | @property (strong, nonatomic) UIView *button2View; 22 | 23 | - (instancetype)initWithButton:(UIButton *)button 24 | withView:(UIView *)button2View; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /UseProtobufDemo/Socket/SocketManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // SocketManager.h 3 | // TestProtobufSocket 4 | // 5 | // Created by pzk on 17/5/17. 6 | // Copyright © 2017年 Aone. All rights reserved. 7 | // 8 | 9 | #import 10 | @class ResponseModel; 11 | 12 | @protocol SocketManagerDelegate 13 | 14 | - (void)receiveProtobufData:(ResponseModel*)rspData; 15 | 16 | @end 17 | 18 | @interface SocketManager : NSObject 19 | 20 | @property (nonatomic, weak) id delegate; 21 | 22 | + (instancetype)sharedInstance; 23 | 24 | /** 25 | 连接到Socket 26 | 27 | @return YES/NO 28 | */ 29 | - (BOOL)connect; 30 | 31 | /** 32 | 断开连接 33 | */ 34 | - (void)disConnect; 35 | 36 | //- (void)sendMsg:(NSString *)msg; 37 | 38 | /** 39 | 发送数据流和协议号 40 | 41 | @param data 数据流 42 | @param commandId 协议号 43 | */ 44 | - (void)sendProbufData:(NSData *)data 45 | CommandId:(int)commandId; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseChatToolbarItem.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import "EaseChatToolbarItem.h" 15 | 16 | @implementation EaseChatToolbarItem 17 | 18 | - (instancetype)initWithButton:(UIButton *)button 19 | withView:(UIView *)button2View 20 | { 21 | self = [super init]; 22 | if (self) { 23 | _button = button; 24 | _button2View = button2View; 25 | } 26 | 27 | return self; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Gif.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseBubbleView.h" 14 | 15 | @interface EaseBubbleView (Gif) 16 | 17 | /*! 18 | @method 19 | @brief 构建gif自定义表情气泡 20 | @discussion 21 | @result 22 | */ 23 | - (void)setupGifBubbleView; 24 | 25 | /*! 26 | @method 27 | @brief 变更gif表情气泡的边距,并更新改子视图约束 28 | @discussion 29 | @param margin 气泡边距 30 | @result 31 | */ 32 | - (void)updateGifMargin:(UIEdgeInsets)margin; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+File.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseBubbleView.h" 14 | 15 | @interface EaseBubbleView (File) 16 | 17 | /*! 18 | @method 19 | @brief 构建文件类型消息气泡视图 20 | @discussion 21 | @result 22 | */ 23 | - (void)setupFileBubbleView; 24 | 25 | /*! 26 | @method 27 | @brief 变更文件类型消息气泡的边距,并更新改子视图约束 28 | @discussion 29 | @param margin 气泡边距 30 | @result 31 | */ 32 | - (void)updateFileMargin:(UIEdgeInsets)margin; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Text.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import "EaseBubbleView.h" 15 | 16 | @interface EaseBubbleView (Text) 17 | 18 | /*! 19 | @method 20 | @brief 构建文本类型消息气泡视图 21 | @discussion 22 | @result 23 | */ 24 | - (void)setupTextBubbleView; 25 | 26 | /*! 27 | @method 28 | @brief 变更文本类型消息气泡的边距,并更新改子视图约束 29 | @discussion 30 | @param margin 气泡边距 31 | @result 32 | */ 33 | - (void)updateTextMargin:(UIEdgeInsets)margin; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Image.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import "EaseBubbleView.h" 15 | 16 | @interface EaseBubbleView (Image) 17 | 18 | /*! 19 | @method 20 | @brief 构建图片类型消息气泡视图 21 | @discussion 22 | @result 23 | */ 24 | - (void)setupImageBubbleView; 25 | 26 | /*! 27 | @method 28 | @brief 变更图片类型消息气泡的边距,并更新改子视图约束 29 | @discussion 30 | @param margin 气泡边距 31 | @result 32 | */ 33 | - (void)updateImageMargin:(UIEdgeInsets)margin; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Voice.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import "EaseBubbleView.h" 15 | 16 | @interface EaseBubbleView (Voice) 17 | 18 | /*! 19 | @method 20 | @brief 构建语音类型消息气泡视图 21 | @discussion 22 | @result 23 | */ 24 | - (void)setupVoiceBubbleView; 25 | 26 | /*! 27 | @method 28 | @brief 变更语音类型消息气泡的边距,并更新改子视图约束 29 | @discussion 30 | @param margin 气泡边距 31 | @result 32 | */ 33 | - (void)updateVoiceMargin:(UIEdgeInsets)margin; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Location.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import "EaseBubbleView.h" 15 | 16 | @interface EaseBubbleView (Location) 17 | 18 | /*! 19 | @method 20 | @brief 构建位置类型消息气泡视图 21 | @discussion 22 | @result 23 | */ 24 | - (void)setupLocationBubbleView; 25 | 26 | /*! 27 | @method 28 | @brief 变更位置类型气泡的边距,并更新改子视图约束 29 | @discussion 30 | @param margin 气泡边距 31 | @result 32 | */ 33 | - (void)updateLocationMargin:(UIEdgeInsets)margin; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCellBubbleView/EaseBubbleView+Video.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Technologies. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import "EaseBubbleView.h" 15 | 16 | @interface EaseBubbleView (Video) 17 | 18 | /*! 19 | @method 20 | @brief 构建视频类型消息气泡视图 21 | @discussion 22 | @result 23 | */ 24 | - (void)setupVideoBubbleView; 25 | 26 | /*! 27 | @method 28 | @brief 变更视频类型消息气泡的边距,并更新改子视图约束 29 | @discussion 30 | @param margin 气泡边距 31 | @result 32 | */ 33 | - (void)updateVideoMargin:(UIEdgeInsets)margin; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMAudioPlayerUtil.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface EMAudioPlayerUtil : NSObject 16 | 17 | + (BOOL)isPlaying; 18 | 19 | // Get the path of what is currently being played 20 | + (NSString *)playingFilePath; 21 | 22 | // Play the audio(wav)from the path 23 | + (void)asyncPlayingWithPath:(NSString *)aFilePath 24 | completion:(void(^)(NSError *error))completon; 25 | 26 | + (void)stopCurrentPlaying; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/delegates/EMCDDeviceManagerProximitySensorDelegate.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @protocol EMCDDeviceManagerProximitySensorDelegate 16 | 17 | /*! 18 | @method 19 | @brief Posted when the state of the proximity sensor changes. 20 | @param isCloseToUser indicates whether the proximity sensor is close to the user (YES) or not (NO). 21 | @discussion 22 | @result 23 | */ 24 | - (void)proximitySensorChanged:(BOOL)isCloseToUser; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager+ProximitySensor.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EMCDDeviceManagerBase.h" 14 | 15 | @interface EMCDDeviceManager (ProximitySensor) 16 | #pragma mark - proximity sensor 17 | @property (nonatomic, readonly) BOOL isSupportProximitySensor; 18 | @property (nonatomic, readonly) BOOL isCloseToUser; 19 | @property (nonatomic, readonly) BOOL isProximitySensorEnabled; 20 | 21 | - (BOOL)enableProximitySensor; 22 | - (BOOL)disableProximitySensor; 23 | - (void)sensorStateChanged:(NSNotification *)notification; 24 | @end 25 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/EaseConvertToCommonEmoticonsHelper.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | @interface EaseConvertToCommonEmoticonsHelper : NSObject 16 | 17 | /*! 18 | @method 19 | @brief 系统emoji表情转换为表情编码 20 | @discussion 21 | @param text 待转换的文字 22 | @return 转换后的文字 23 | */ 24 | + (NSString *)convertToCommonEmoticons:(NSString *)text; 25 | 26 | /*! 27 | @method 28 | @brief 表情编码转换为系统emoji表情 29 | @discussion 30 | @param text 待转换的文字 31 | @return 转换后的文字 32 | */ 33 | + (NSString *)convertToSystemEmoticons:(NSString *)text; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/NSDateFormatter+Category.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "NSDateFormatter+Category.h" 14 | 15 | @implementation NSDateFormatter (Category) 16 | 17 | + (id)dateFormatter 18 | { 19 | return [[self alloc] init]; 20 | } 21 | 22 | + (id)dateFormatterWithFormat:(NSString *)dateFormat 23 | { 24 | NSDateFormatter *dateFormatter = [[self alloc] init]; 25 | dateFormatter.dateFormat = dateFormat; 26 | return dateFormatter; 27 | } 28 | 29 | + (id)defaultDateFormatter 30 | { 31 | return [self dateFormatterWithFormat:@"yyyy-MM-dd HH:mm:ss"]; 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCell/EaseMessageTimeCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | /** @brief 时间提示cell */ 16 | 17 | @interface EaseMessageTimeCell : UITableViewCell 18 | 19 | @property (strong, nonatomic) NSString *title; 20 | 21 | /* 22 | * 时间显示字体 23 | */ 24 | @property (nonatomic) UIFont *titleLabelFont UI_APPEARANCE_SELECTOR; //default [UIFont systemFontOfSize:12] 25 | 26 | /* 27 | * 时间显示颜色 28 | */ 29 | @property (nonatomic) UIColor *titleLabelColor UI_APPEARANCE_SELECTOR; //default [UIColor grayColor] 30 | 31 | + (NSString *)cellIdentifier; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Helper/PBHelper.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBHelper.h 3 | // Football_talk_iphone 4 | // 5 | // Created by pzk on 17/3/17. 6 | // Copyright © 2017年 Aone. All rights reserved. 7 | // 8 | 9 | #import 10 | // category + extension 11 | #import "NSObject+DataMerge.h" 12 | #import "NSObject+ProtobufExtension.h" 13 | #import "NSObject+LogAllProperties.h" 14 | 15 | #import "ResponseModel.h" 16 | // pbobjc model 17 | #import "AoneMessage.pbobjc.h" 18 | #import "CommandMessage.pbobjc.h" 19 | #import "EnumMessage.pbobjc.h" 20 | #import "ModuleMessage.pbobjc.h" 21 | 22 | @interface PBHelper : NSObject 23 | 24 | + (ResponseModel *)parseResponseObject:(NSData *)data; 25 | 26 | /** 27 | 错误码信息 28 | 29 | @return @{@"errorCode":@"desc"} 30 | */ 31 | + (NSDictionary *)getErrorDic; 32 | 33 | /** 34 | 处理资源数据变化 35 | 36 | @param baseRsp 资源变化 37 | */ 38 | + (void)handleBaseResponseChange:(BaseRspMessage*)baseRsp ; 39 | 40 | /** 41 | 返回数据不只一段(即有拼接)时,处理额外的事件 42 | 43 | @param additionalData 附加数据 44 | */ 45 | + (void)handleResponseAdditional:(NSData *)additionalData; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Pods/EaseUI/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Hyphenate Inc. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /UseProtobufDemo/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "size" : "1024x1024", 46 | "scale" : "1x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMAudioRecorderUtil.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import 15 | @interface EMAudioRecorderUtil : NSObject 16 | 17 | +(BOOL)isRecording; 18 | 19 | // Start recording 20 | + (void)asyncStartRecordingWithPreparePath:(NSString *)aFilePath 21 | completion:(void(^)(NSError *error))completion; 22 | // Stop recording 23 | +(void)asyncStopRecordingWithCompletion:(void(^)(NSString *recordPath))completion; 24 | 25 | // Cancel recording 26 | +(void)cancelCurrentRecording; 27 | 28 | // Current recorder 29 | +(AVAudioRecorder *)recorder; 30 | @end 31 | -------------------------------------------------------------------------------- /UseProtobufDemo/Network/MyDataService.h: -------------------------------------------------------------------------------- 1 | // 2 | // MyDataService.h 3 | // 4 | // Created by pzk on 17-4-21. 5 | // Copyright (c) 2017年 Aone. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | /** 11 | * 请求回调 12 | * 13 | * @param data 服务端返回的protobuf data信息 14 | * @param error 错误信息 15 | */ 16 | typedef void (^RequestCallBackBlock) (NSData *data, NSError *error); 17 | 18 | @interface MyDataService : NSObject 19 | 20 | //单例创建网络代理类 21 | + (MyDataService *)sharedService; 22 | 23 | /** 24 | 访问PB数据的方法 25 | 26 | @param commandId 协议号 27 | @param params protobuf data流 28 | @param playerID 用户Id,未登录为0 29 | @param sessionID 会话Id,每次登录/注册会改变 30 | @param dataBlock 数据回调,为nil时为服务端错误 31 | @param errorBlock 错误回调,若有值需处理错误情况 32 | */ 33 | - (void)requestProtobufCommandId:(int)commandId 34 | params:(NSData *)params 35 | playerId:(uint64_t)playerID 36 | sessionId:(uint64_t)sessionID 37 | completionHandler:(void(^)(NSData *data))dataBlock 38 | errorHandler:(void(^)(int32_t errorCode))errorBlock; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrwb/if_rom.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------ 2 | * Copyright (C) 2009 Martin Storsjo 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 | * express or implied. 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * ------------------------------------------------------------------- 17 | */ 18 | 19 | #ifndef OPENCORE_AMRWB_IF_ROM_H 20 | #define OPENCORE_AMRWB_IF_ROM_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | #include 27 | typedef int16_t Word16; 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManagerBase.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import "EMCDDeviceManagerDelegate.h" 15 | 16 | @interface EMCDDeviceManager : NSObject{ 17 | // recorder 18 | NSDate *_recorderStartDate; 19 | NSDate *_recorderEndDate; 20 | NSString *_currCategory; 21 | BOOL _currActive; 22 | 23 | // proximitySensor 24 | BOOL _isSupportProximitySensor; 25 | BOOL _isCloseToUser; 26 | } 27 | 28 | @property (nonatomic, assign) id delegate; 29 | 30 | +(EMCDDeviceManager *)sharedInstance; 31 | 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (3.1.0): 3 | - AFNetworking/NSURLSession (= 3.1.0) 4 | - AFNetworking/Reachability (= 3.1.0) 5 | - AFNetworking/Security (= 3.1.0) 6 | - AFNetworking/Serialization (= 3.1.0) 7 | - AFNetworking/UIKit (= 3.1.0) 8 | - AFNetworking/NSURLSession (3.1.0): 9 | - AFNetworking/Reachability 10 | - AFNetworking/Security 11 | - AFNetworking/Serialization 12 | - AFNetworking/Reachability (3.1.0) 13 | - AFNetworking/Security (3.1.0) 14 | - AFNetworking/Serialization (3.1.0) 15 | - AFNetworking/UIKit (3.1.0): 16 | - AFNetworking/NSURLSession 17 | - CocoaAsyncSocket (7.5.1): 18 | - CocoaAsyncSocket/GCD (= 7.5.1) 19 | - CocoaAsyncSocket/GCD (7.5.1) 20 | - Protobuf (3.1.0) 21 | 22 | DEPENDENCIES: 23 | - AFNetworking (~> 3.1.0) 24 | - CocoaAsyncSocket (~> 7.5.1) 25 | - Protobuf (~> 3.1.0) 26 | 27 | SPEC CHECKSUMS: 28 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 29 | CocoaAsyncSocket: e0a7e93b2ffa411592ff87e58524fbbc9b95b4fa 30 | Protobuf: 265e9977d04a83eba9cefb0bed3ad07e41033b4a 31 | 32 | PODFILE CHECKSUM: 3e1c557538bfce80cf72973dc2f66fb2fa31af93 33 | 34 | COCOAPODS: 1.1.1 35 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - AFNetworking (3.1.0): 3 | - AFNetworking/NSURLSession (= 3.1.0) 4 | - AFNetworking/Reachability (= 3.1.0) 5 | - AFNetworking/Security (= 3.1.0) 6 | - AFNetworking/Serialization (= 3.1.0) 7 | - AFNetworking/UIKit (= 3.1.0) 8 | - AFNetworking/NSURLSession (3.1.0): 9 | - AFNetworking/Reachability 10 | - AFNetworking/Security 11 | - AFNetworking/Serialization 12 | - AFNetworking/Reachability (3.1.0) 13 | - AFNetworking/Security (3.1.0) 14 | - AFNetworking/Serialization (3.1.0) 15 | - AFNetworking/UIKit (3.1.0): 16 | - AFNetworking/NSURLSession 17 | - CocoaAsyncSocket (7.5.1): 18 | - CocoaAsyncSocket/GCD (= 7.5.1) 19 | - CocoaAsyncSocket/GCD (7.5.1) 20 | - Protobuf (3.1.0) 21 | 22 | DEPENDENCIES: 23 | - AFNetworking (~> 3.1.0) 24 | - CocoaAsyncSocket (~> 7.5.1) 25 | - Protobuf (~> 3.1.0) 26 | 27 | SPEC CHECKSUMS: 28 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 29 | CocoaAsyncSocket: e0a7e93b2ffa411592ff87e58524fbbc9b95b4fa 30 | Protobuf: 265e9977d04a83eba9cefb0bed3ad07e41033b4a 31 | 32 | PODFILE CHECKSUM: 3e1c557538bfce80cf72973dc2f66fb2fa31af93 33 | 34 | COCOAPODS: 1.1.1 35 | -------------------------------------------------------------------------------- /Pods/AFNetworking/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011–2016 Alamofire Software Foundation (http://alamofire.org/) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-UseProtobufDemo/Pods-UseProtobufDemo.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/Protobuf" 4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/CocoaAsyncSocket" "$PODS_CONFIGURATION_BUILD_DIR/Protobuf" 5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" -isystem "${PODS_ROOT}/Headers/Public/Protobuf" 6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"CocoaAsyncSocket" -l"Protobuf" -framework "CFNetwork" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-UseProtobufDemo/Pods-UseProtobufDemo.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS=1 3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" "${PODS_ROOT}/Headers/Public/Protobuf" 4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/CocoaAsyncSocket" "$PODS_CONFIGURATION_BUILD_DIR/Protobuf" 5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/CocoaAsyncSocket" -isystem "${PODS_ROOT}/Headers/Public/Protobuf" 6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"CocoaAsyncSocket" -l"Protobuf" -framework "CFNetwork" -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT}/Pods 10 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/IUserModel.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import 15 | 16 | /** @brief 环信用户模型协议 */ 17 | 18 | @class EMBuddy; 19 | @protocol IUserModel 20 | 21 | /** @brief 好友环信id(用户环信id) */ 22 | @property (strong, nonatomic, readonly) NSString *buddy; 23 | /** @brief 用户昵称 */ 24 | @property (strong, nonatomic) NSString *nickname; 25 | /** @brief 用户头像url */ 26 | @property (strong, nonatomic) NSString *avatarURLPath; 27 | /** @brief 用户头像 */ 28 | @property (strong, nonatomic) UIImage *avatarImage; 29 | 30 | /*! 31 | @method 32 | @brief 初始化用户模型 33 | @param buddy 好友环信id(用户环信id) 34 | @return 用户模型 35 | */ 36 | - (instancetype)initWithBuddy:(NSString *)buddy; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/EaseUserModel.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | #import "IUserModel.h" 16 | 17 | /** @brief 环信用户模型对象 */ 18 | 19 | @interface EaseUserModel : NSObject 20 | 21 | /** @brief 好友环信id(用户环信id) */ 22 | @property (strong, nonatomic, readonly) NSString *buddy; 23 | /** @brief 用户昵称 */ 24 | @property (strong, nonatomic) NSString *nickname; 25 | /** @brief 用户头像url */ 26 | @property (strong, nonatomic) NSString *avatarURLPath; 27 | /** @brief 用户头像 */ 28 | @property (strong, nonatomic) UIImage *avatarImage; 29 | 30 | /*! 31 | @method 32 | @brief 初始化用户模型 33 | @param buddy 好友环信id(用户环信id) 34 | @return 用户模型 35 | */ 36 | - (instancetype)initWithBuddy:(NSString *)buddy; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /UseProtobufDemo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | Main 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Helper/NSObject+DataMerge.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+DataMerge.h 3 | // OneToSay 4 | // 5 | // Created by HeiHuaBaiHua on 16/7/6. 6 | // Copyright © 2016年 Excetop. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface NSObject (DataMerge) 12 | 13 | - (instancetype)deepCopy; 14 | 15 | + (instancetype)instanceWithObject:(id)object; 16 | + (instancetype)instanceWithObject:(id)object igonreProperties:(NSArray *)igonreProperties; 17 | + (instancetype)instanceWithObject:(id)object mapKeyValues:(NSDictionary *)mapKeyValues; 18 | + (instancetype)instanceWithObject:(id)object igonreProperties:(NSArray *)igonreProperties mapKeyValues:(NSDictionary *)mapKeyValues; 19 | 20 | - (void)setupWithObject:(id)object; 21 | - (void)setupWithObject:(id)object igonreProperties:(NSArray *)igonreProperties; 22 | - (void)setupWithObject:(id)object mapKeyValues:(NSDictionary *)mapKeyValues; 23 | - (void)setupWithObject:(id)object igonreProperties:(NSArray *)igonreProperties mapKeyValues:(NSDictionary *)mapKeyValues; 24 | @end 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseLocationViewController.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import "EaseViewController.h" 15 | 16 | @protocol EMLocationViewDelegate 17 | 18 | /*! 19 | @method 20 | @brief 发送位置信息的回调 21 | @discussion 22 | @param latitude 纬度 23 | @param longitude 经度 24 | @param address 地址信息 25 | @result 26 | */ 27 | -(void)sendLocationLatitude:(double)latitude 28 | longitude:(double)longitude 29 | andAddress:(NSString *)address; 30 | @end 31 | 32 | @interface EaseLocationViewController : EaseViewController 33 | 34 | @property (nonatomic, assign) id delegate; 35 | 36 | - (instancetype)initWithLocation:(CLLocationCoordinate2D)locationCoordinate; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Emoji/EaseEmoji.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | #define MAKE_Q(x) @#x 16 | #define MAKE_EM(x,y) MAKE_Q(x##y) 17 | 18 | #pragma clang diagnostic push 19 | #pragma clang diagnostic ignored "-Wunicode" 20 | #define MAKE_EMOJI(x) MAKE_EM(\U000,x) 21 | #pragma clang diagnostic pop 22 | 23 | #define EMOJI_METHOD(x,y) + (NSString *)x { return MAKE_EMOJI(y); } 24 | #define EMOJI_HMETHOD(x) + (NSString *)x; 25 | #define EMOJI_CODE_TO_SYMBOL(x) ((((0x808080F0 | (x & 0x3F000) >> 4) | (x & 0xFC0) << 10) | (x & 0x1C0000) << 18) | (x & 0x3F) << 24); 26 | 27 | @interface EaseEmoji : NSObject 28 | 29 | + (NSString *)emojiWithCode:(int)code; 30 | 31 | + (NSArray *)allEmoji; 32 | 33 | + (BOOL)stringContainsEmoji:(NSString *)string; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrwb/dec_if.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------ 2 | * Copyright (C) 2009 Martin Storsjo 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 | * express or implied. 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * ------------------------------------------------------------------- 17 | */ 18 | 19 | #ifndef OPENCORE_AMRWB_DEC_IF_H 20 | #define OPENCORE_AMRWB_DEC_IF_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | #define _good_frame 0 27 | 28 | void* D_IF_init(void); 29 | void D_IF_decode(void* state, const unsigned char* bits, short* synth, int bfi); 30 | void D_IF_exit(void* state); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrnb/interf_dec.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------ 2 | * Copyright (C) 2009 Martin Storsjo 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 | * express or implied. 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * ------------------------------------------------------------------- 17 | */ 18 | 19 | #ifndef OPENCORE_AMRNB_INTERF_DEC_H 20 | #define OPENCORE_AMRNB_INTERF_DEC_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | void* Decoder_Interface_init(void); 27 | void Decoder_Interface_exit(void* state); 28 | void Decoder_Interface_Decode(void* state, const unsigned char* in, short* out, int bfi); 29 | 30 | #ifdef __cplusplus 31 | } 32 | #endif 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/IConversationModel.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import 15 | 16 | @class EMConversation; 17 | 18 | /** @brief 环信会话模型协议 */ 19 | @protocol IConversationModel 20 | 21 | /** @brief 会话对象 */ 22 | @property (strong, nonatomic, readonly) EMConversation *conversation; 23 | /** @brief 会话的标题(主要用户UI显示) */ 24 | @property (strong, nonatomic) NSString *title; 25 | /** @brief conversationId的头像url */ 26 | @property (strong, nonatomic) NSString *avatarURLPath; 27 | /** @brief conversationId的头像 */ 28 | @property (strong, nonatomic) UIImage *avatarImage; 29 | 30 | /*! 31 | @method 32 | @brief 初始化会话对象模型 33 | @param conversation 会话对象 34 | @return 会话对象模型 35 | */ 36 | - (instancetype)initWithConversation:(EMConversation *)conversation; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/EaseConversationModel.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | #import "IConversationModel.h" 16 | 17 | /** @brief 环信会话对象模型 */ 18 | 19 | @interface EaseConversationModel : NSObject 20 | 21 | /** @brief 会话对象 */ 22 | @property (strong, nonatomic, readonly) EMConversation *conversation; 23 | /** @brief 会话的标题(主要用户UI显示) */ 24 | @property (strong, nonatomic) NSString *title; 25 | /** @brief conversationId的头像url */ 26 | @property (strong, nonatomic) NSString *avatarURLPath; 27 | /** @brief conversationId的头像 */ 28 | @property (strong, nonatomic) UIImage *avatarImage; 29 | 30 | 31 | /*! 32 | @method 33 | @brief 初始化会话对象模型 34 | @param conversation 会话对象 35 | @return 会话对象模型 36 | */ 37 | - (instancetype)initWithConversation:(EMConversation *)conversation; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/EaseConversationModel.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseConversationModel.h" 14 | 15 | #if ENABLE_LITE == 1 16 | #import 17 | #else 18 | #import 19 | #endif 20 | 21 | @implementation EaseConversationModel 22 | 23 | - (instancetype)initWithConversation:(EMConversation *)conversation 24 | { 25 | self = [super init]; 26 | if (self) { 27 | _conversation = conversation; 28 | _title = _conversation.conversationId; 29 | if (conversation.type == EMConversationTypeChat) { 30 | _avatarImage = [UIImage easeImageNamed:@"EaseUIResource.bundle/user"]; 31 | } 32 | else{ 33 | _avatarImage = [UIImage easeImageNamed:@"EaseUIResource.bundle/group"]; 34 | } 35 | } 36 | 37 | return self; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | AFNetworking.xcscheme 8 | 9 | isShown 10 | 11 | 12 | CocoaAsyncSocket.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-UseProtobufDemo.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Protobuf.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 233D1EE2E7A45B0CF6F76019537F9F9A 31 | 32 | primary 33 | 34 | 35 | 23D7DA26C40DEA0CBB49A7825C7CD4F1 36 | 37 | primary 38 | 39 | 40 | 3B24DF69BA71BA03B58423CC79C031B2 41 | 42 | primary 43 | 44 | 45 | 9E033EDB5EC0819481B0546434FA577B 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/EaseUI.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseConversationListViewController.h" 14 | #import "EaseMessageViewController.h" 15 | #import "EaseUsersListViewController.h" 16 | #import "EaseViewController.h" 17 | 18 | #import "IModelCell.h" 19 | #import "IModelChatCell.h" 20 | #import "EaseMessageCell.h" 21 | #import "EaseBaseMessageCell.h" 22 | #import "EaseBubbleView.h" 23 | #import "EaseUserCell.h" 24 | 25 | #import "EaseChineseToPinyin.h" 26 | #import "EaseEmoji.h" 27 | #import "EaseEmotionEscape.h" 28 | #import "EaseEmotionManager.h" 29 | #import "EaseSDKHelper.h" 30 | #import "EMCDDeviceManager.h" 31 | #import "EaseConvertToCommonEmoticonsHelper.h" 32 | 33 | #import "NSDate+Category.h" 34 | #import "NSString+Valid.h" 35 | #import 36 | #import "UIViewController+HUD.h" 37 | #import "UIViewController+DismissKeyboard.h" 38 | #import "EaseLocalDefine.h" 39 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseImageView.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import 15 | 16 | @interface EaseImageView : UIView 17 | 18 | /** @brief 头像图片 */ 19 | @property (strong, nonatomic) UIImageView *imageView; 20 | 21 | @property (strong, nonatomic) UIImage *image; 22 | 23 | /** @brief 角标数 */ 24 | @property (nonatomic) NSInteger badge; 25 | 26 | /** @brief 是否显示角标 */ 27 | @property (nonatomic) BOOL showBadge; 28 | 29 | /** @brief 头像圆角 */ 30 | @property (nonatomic) CGFloat imageCornerRadius UI_APPEARANCE_SELECTOR; 31 | 32 | /** @brief 角标控件宽度 */ 33 | @property (nonatomic) CGFloat badgeSize UI_APPEARANCE_SELECTOR; 34 | 35 | /** @brief 角标字体 */ 36 | @property (nonatomic) UIFont *badgeFont UI_APPEARANCE_SELECTOR; 37 | 38 | /** @brief 角标文字颜色 */ 39 | @property (nonatomic) UIColor *badgeTextColor UI_APPEARANCE_SELECTOR; 40 | 41 | /** @brief 角标背景色 */ 42 | @property (nonatomic) UIColor *badgeBackgroudColor UI_APPEARANCE_SELECTOR; 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Emoji/EaseEmotionEscape.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import 15 | 16 | @interface EaseEmotionEscape : NSObject 17 | 18 | + (EaseEmotionEscape *)sharedInstance; 19 | 20 | + (NSMutableAttributedString *) attributtedStringFromText:(NSString *) aInputText; 21 | 22 | + (NSAttributedString *) attStringFromTextForChatting:(NSString *) aInputText; 23 | 24 | + (NSAttributedString *) attStringFromTextForInputView:(NSString *) aInputText; 25 | 26 | - (NSAttributedString *) attStringFromTextForChatting:(NSString *) aInputText textFont:(UIFont*)font; 27 | 28 | - (NSAttributedString *) attStringFromTextForInputView:(NSString *) aInputText textFont:(UIFont*)font; 29 | 30 | - (void) setEaseEmotionEscapePattern:(NSString*)pattern; 31 | 32 | - (void) setEaseEmotionEscapeDictionary:(NSDictionary*)dict; 33 | 34 | @end 35 | 36 | @interface EMTextAttachment : NSTextAttachment 37 | 38 | @property(nonatomic, strong) NSString *imageName; 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/amrwapper/wav.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------ 2 | * Copyright (C) 2009 Martin Storsjo 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 | * express or implied. 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * ------------------------------------------------------------------- 17 | */ 18 | 19 | #ifndef WAV_H 20 | #define WAV_H 21 | 22 | #include 23 | 24 | class WavWriter { 25 | public: 26 | WavWriter(const char *filename, int sampleRate, int bitsPerSample, int channels); 27 | ~WavWriter(); 28 | 29 | void writeData(const unsigned char* data, int length); 30 | 31 | private: 32 | void writeString(const char *str); 33 | void writeInt32(int value); 34 | void writeInt16(int value); 35 | 36 | void writeHeader(int length); 37 | 38 | FILE *wav; 39 | int dataLength; 40 | 41 | int sampleRate; 42 | int bitsPerSample; 43 | int channels; 44 | }; 45 | 46 | #endif 47 | 48 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/IModelCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | /** @brief 消息cell的协议 */ 16 | 17 | @protocol IModelCell 18 | 19 | @required 20 | 21 | /** @brief 消息对象 */ 22 | @property (strong, nonatomic) id model; 23 | 24 | /*! 25 | @method 26 | @brief 获取cell的reuseIdentifier 27 | @param model 消息对象模型 28 | @return reuseIdentifier 29 | */ 30 | + (NSString *)cellIdentifierWithModel:(id)model; 31 | 32 | /*! 33 | @method 34 | @brief 获取cell的高度 35 | @param model 消息对象模型 36 | @return cell的高度 37 | */ 38 | + (CGFloat)cellHeightWithModel:(id)model; 39 | 40 | @optional 41 | 42 | /*! 43 | @method 44 | @brief 初始化消息cell 45 | @param style cell的样式 46 | @param reuseIdentifier cell的重用标识符 47 | @param model 消息对象 48 | @return UITableViewCell 49 | */ 50 | - (instancetype)initWithStyle:(UITableViewCellStyle)style 51 | reuseIdentifier:(NSString *)reuseIdentifier 52 | model:(id)model; 53 | 54 | @end 55 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/EMVoiceConverter.mm: -------------------------------------------------------------------------------- 1 | // 2 | // VoiceConverter.m 3 | // Jeans 4 | // 5 | // Created by Jeans Huang on 12-7-22. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "EMVoiceConverter.h" 10 | #import "wav.h" 11 | #import "interf_dec.h" 12 | #import "dec_if.h" 13 | #import "interf_enc.h" 14 | #import "amrFileCodec.h" 15 | 16 | @implementation EMVoiceConverter 17 | 18 | 19 | + (int)isMP3File:(NSString *)filePath{ 20 | const char *_filePath = [filePath cStringUsingEncoding:NSASCIIStringEncoding]; 21 | return isMP3File(_filePath); 22 | } 23 | 24 | + (int)isAMRFile:(NSString *)filePath{ 25 | const char *_filePath = [filePath cStringUsingEncoding:NSASCIIStringEncoding]; 26 | return isAMRFile(_filePath); 27 | } 28 | 29 | + (int)amrToWav:(NSString*)_amrPath wavSavePath:(NSString*)_savePath{ 30 | 31 | if (EM_DecodeAMRFileToWAVEFile([_amrPath cStringUsingEncoding:NSASCIIStringEncoding], [_savePath cStringUsingEncoding:NSASCIIStringEncoding])) 32 | return 0; // success 33 | 34 | return 1; // failed 35 | } 36 | 37 | + (int)wavToAmr:(NSString*)_wavPath amrSavePath:(NSString*)_savePath{ 38 | 39 | if (EM_EncodeWAVEFileToAMRFile([_wavPath cStringUsingEncoding:NSASCIIStringEncoding], [_savePath cStringUsingEncoding:NSASCIIStringEncoding], 1, 16)) 40 | return 0; // success 41 | 42 | return 1; // failed 43 | } 44 | 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+AFNetworking.h 3 | // 4 | // 5 | // Created by Paulo Ferreira on 08/07/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | #if TARGET_OS_IOS || TARGET_OS_TV 26 | 27 | #import 28 | 29 | @interface UIImage (AFNetworking) 30 | 31 | + (UIImage*) safeImageWithData:(NSData*)data; 32 | 33 | @end 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/EaseTextView.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | typedef NS_ENUM(NSUInteger, DXTextViewInputViewType) { 16 | DXTextViewNormalInputType = 0, 17 | DXTextViewTextInputType, 18 | DXTextViewFaceInputType, 19 | DXTextViewShareMenuInputType, 20 | }; 21 | 22 | @interface EaseTextView : UITextView 23 | 24 | /* 25 | * 提示用户输入的标语 26 | */ 27 | @property (nonatomic, copy) NSString *placeHolder; 28 | 29 | /* 30 | * 标语文本的颜色 31 | */ 32 | @property (nonatomic, strong) UIColor *placeHolderTextColor; 33 | 34 | 35 | /* 36 | @method 37 | @brief 获取自身文本占据有多少行 38 | @discussion 39 | @result 返回行数 40 | */ 41 | - (NSUInteger)numberOfLinesOfText; 42 | 43 | 44 | /* 45 | @method 46 | @brief 获取每行的高度 47 | @discussion 48 | @result 根据iPhone或者iPad来获取每行字体的高度 49 | */ 50 | + (NSUInteger)maxCharactersPerLine; 51 | 52 | /* 53 | @method 54 | @brief 获取某个文本占据自身适应宽带的行数 55 | @discussion 56 | @param text 目标文本 57 | @result 返回占据行数 58 | */ 59 | + (NSUInteger)numberOfLinesForMessage:(NSString *)text; 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Helper/HHClassInfo.h: -------------------------------------------------------------------------------- 1 | // 2 | // HHClassInfo.h 3 | // TCoreData 4 | // 5 | // Created by HeiHuaBaiHua on 16/6/15. 6 | // Copyright © 2016年 黑花白花. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | typedef enum : NSUInteger { 13 | HHPropertyTypeUnknown = 0, 14 | HHPropertyTypeVoid = 1, 15 | HHPropertyTypeBool = 2, 16 | HHPropertyTypeInt8 = 3, 17 | HHPropertyTypeUInt8 = 4, 18 | HHPropertyTypeInt16 = 5, 19 | HHPropertyTypeUInt16 = 6, 20 | HHPropertyTypeInt32 = 7, 21 | HHPropertyTypeUInt32 = 8, 22 | HHPropertyTypeInt64 = 9, 23 | HHPropertyTypeUInt64 = 10, 24 | HHPropertyTypeFloat = 11, 25 | HHPropertyTypeDouble = 12, 26 | HHPropertyTypeLongDouble = 13, 27 | HHPropertyTypeArray = 14, 28 | HHPropertyTypeCustomObject = 15, 29 | HHPropertyTypeFoundionObject = 16 30 | } HHPropertyType; 31 | 32 | @interface HHPropertyInfo : NSObject { 33 | 34 | @package 35 | SEL _setter; 36 | SEL _getter; 37 | Class _cls; 38 | NSString *_name; 39 | NSString *_getPath; 40 | HHPropertyType _type; 41 | } 42 | 43 | + (instancetype)propertyWithProperty:(objc_property_t)property; 44 | 45 | @end 46 | 47 | @interface HHClassInfo : NSObject 48 | 49 | + (instancetype)classInfoWithClass:(Class)cls ignoreProperties:(NSArray *)ignoreProperties replacePropertyKeypaths:(NSDictionary *)replacePropertyKeypaths; 50 | 51 | - (NSArray *)properties; 52 | @end 53 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager+Media.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EMCDDeviceManagerBase.h" 14 | 15 | @interface EMCDDeviceManager (Media) 16 | 17 | #pragma mark - AudioPlayer 18 | // Play the audio 19 | - (void)asyncPlayingWithPath:(NSString *)aFilePath 20 | completion:(void(^)(NSError *error))completon; 21 | // Stop playing 22 | - (void)stopPlaying; 23 | 24 | - (void)stopPlayingWithChangeCategory:(BOOL)isChange; 25 | 26 | -(BOOL)isPlaying; 27 | 28 | #pragma mark - AudioRecorder 29 | // Start recording 30 | - (void)asyncStartRecordingWithFileName:(NSString *)fileName 31 | completion:(void(^)(NSError *error))completion; 32 | 33 | // Stop recording 34 | -(void)asyncStopRecordingWithCompletion:(void(^)(NSString *recordPath, 35 | NSInteger aDuration, 36 | NSError *error))completion; 37 | // Cancel recording 38 | -(void)cancelCurrentRecording; 39 | 40 | -(BOOL)isRecording; 41 | 42 | // Get the saved data path 43 | + (NSString*)dataPath; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/FaceView/EaseFaceView.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import 15 | 16 | #import "EaseFacialView.h" 17 | 18 | @protocol EMFaceDelegate 19 | 20 | @required 21 | /*! 22 | @method 23 | @brief 输入表情键盘的默认表情,或者点击删除按钮 24 | @discussion 25 | @param str 被选择的表情编码 26 | @param isDelete 是否为删除操作 27 | @result 28 | */ 29 | - (void)selectedFacialView:(NSString *)str isDelete:(BOOL)isDelete; 30 | 31 | /*! 32 | @method 33 | @brief 点击表情键盘的发送回调 34 | @discussion 35 | @result 36 | */ 37 | - (void)sendFace; 38 | 39 | /*! 40 | @method 41 | @brief 点击表情键盘的自定义表情,直接发送 42 | @discussion 43 | @param emotion 自定义表情对象 44 | @result 45 | */ 46 | - (void)sendFaceWithEmotion:(EaseEmotion *)emotion; 47 | 48 | @end 49 | 50 | @interface EaseFaceView : UIView 51 | 52 | @property (nonatomic, assign) id delegate; 53 | 54 | - (BOOL)stringIsFace:(NSString *)string; 55 | 56 | /*! 57 | @method 58 | @brief 通过数据源获取表情分组数, 59 | @discussion 60 | @param number 分组数 61 | @param emotionManagers 表情分组列表 62 | @result 63 | */ 64 | - (void)setEmotionManagers:(NSArray*)emotionManagers; 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/FaceView/EaseFacialView.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import 15 | 16 | @class EaseEmotion; 17 | @protocol EaseFacialViewDelegate 18 | 19 | @optional 20 | 21 | /*! 22 | @method 23 | @brief 选中默认表情 24 | @discussion 25 | @param str 选中的默认表情 26 | @result 27 | */ 28 | -(void)selectedFacialView:(NSString*)str; 29 | 30 | /*! 31 | @method 32 | @brief 删除默认表情 33 | @discussion 34 | @result 35 | */ 36 | -(void)deleteSelected:(NSString *)str; 37 | 38 | /*! 39 | @method 40 | @brief 点击表情键盘的发送回调 41 | @discussion 42 | @result 43 | */ 44 | -(void)sendFace; 45 | 46 | /*! 47 | @method 48 | @brief 选择自定义表情,直接发送 49 | @discussion 50 | @param emotion 被选中的自定义表情 51 | @result 52 | */ 53 | -(void)sendFace:(EaseEmotion *)emotion; 54 | 55 | @end 56 | 57 | @class EaseEmotionManager; 58 | @interface EaseFacialView : UIView 59 | { 60 | NSMutableArray *_faces; 61 | } 62 | 63 | @property(nonatomic, weak) id delegate; 64 | 65 | @property(strong, nonatomic, readonly) NSArray *faces; 66 | 67 | -(void)loadFacialView:(NSArray*)emotionManagers size:(CGSize)size; 68 | 69 | -(void)loadFacialViewWithPage:(NSInteger)page; 70 | 71 | //-(void)loadFacialView:(int)page size:(CGSize)size; 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrnb/interf_enc.h: -------------------------------------------------------------------------------- 1 | /* ------------------------------------------------------------------ 2 | * Copyright (C) 2009 Martin Storsjo 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 | * express or implied. 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * ------------------------------------------------------------------- 17 | */ 18 | 19 | #ifndef OPENCORE_AMRNB_INTERF_ENC_H 20 | #define OPENCORE_AMRNB_INTERF_ENC_H 21 | 22 | #ifdef __cplusplus 23 | extern "C" { 24 | #endif 25 | 26 | #ifndef AMRNB_WRAPPER_INTERNAL 27 | /* Copied from enc/src/gsmamr_enc.h */ 28 | enum Mode { 29 | MR475 = 0,/* 4.75 kbps */ 30 | MR515, /* 5.15 kbps */ 31 | MR59, /* 5.90 kbps */ 32 | MR67, /* 6.70 kbps */ 33 | MR74, /* 7.40 kbps */ 34 | MR795, /* 7.95 kbps */ 35 | MR102, /* 10.2 kbps */ 36 | MR122, /* 12.2 kbps */ 37 | MRDTX, /* DTX */ 38 | N_MODES /* Not Used */ 39 | }; 40 | #endif 41 | 42 | void* Encoder_Interface_init(int dtx); 43 | void Encoder_Interface_exit(void* state); 44 | int Encoder_Interface_Encode(void* state, enum Mode mode, const short* speech, unsigned char* out, int forceSpeech); 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager+Microphone.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EMCDDeviceManager+Microphone.h" 14 | #import "EMAudioRecorderUtil.h" 15 | 16 | @implementation EMCDDeviceManager (Microphone) 17 | 18 | // Check the availability for microphone 19 | - (BOOL)emCheckMicrophoneAvailability{ 20 | __block BOOL ret = NO; 21 | AVAudioSession *session = [AVAudioSession sharedInstance]; 22 | if ([session respondsToSelector:@selector(requestRecordPermission:)]) { 23 | [session performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) { 24 | ret = granted; 25 | }]; 26 | } else { 27 | ret = YES; 28 | } 29 | 30 | return ret; 31 | } 32 | 33 | // Get the audio volumn (0~1) 34 | - (double)emPeekRecorderVoiceMeter{ 35 | double ret = 0.0; 36 | if ([EMAudioRecorderUtil recorder].isRecording) { 37 | [[EMAudioRecorderUtil recorder] updateMeters]; 38 | //Average volumn [recorder averagePowerForChannel:0]; 39 | //Maximum volumn [recorder peakPowerForChannel:0]; 40 | double lowPassResults = pow(10, (0.05 * [[EMAudioRecorderUtil recorder] peakPowerForChannel:0])); 41 | ret = lowPassResults; 42 | } 43 | 44 | return ret; 45 | } 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/Local Podspecs/EaseUI.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "EaseUI", 3 | "version": "3.3.1", 4 | "license": { 5 | "type": "Copyright", 6 | "text": "EaseMob Inc. 2017" 7 | }, 8 | "summary": "EaseMob UI Kit", 9 | "homepage": "https://github.com/easemob/easeui-ios-hyphenate-cocoapods", 10 | "authors": { 11 | "EaseMob Inc.": "admin@easemob.com" 12 | }, 13 | "source": { 14 | "git": "https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git", 15 | "tag": "3.3.1" 16 | }, 17 | "source_files": "EaseUI/**/*.{h,m,mm}", 18 | "public_header_files": "**/*.{h}", 19 | "private_header_files": [ 20 | "EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/amrwapper/wav.h", 21 | "EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/amrwapper/amrFileCodec.h", 22 | "EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrnb/*.h", 23 | "EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrwb/*.h" 24 | ], 25 | "prefix_header_contents": "#import \"UIImage+Resource.h\"", 26 | "platforms": { 27 | "ios": "7.0" 28 | }, 29 | "vendored_libraries": [ 30 | "EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrnb/libopencore-amrnb.a", 31 | "EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/opencore-amrwb/libopencore-amrwb.a" 32 | ], 33 | "requires_arc": true, 34 | "frameworks": [ 35 | "Foundation", 36 | "UIKit" 37 | ], 38 | "libraries": "stdc++", 39 | "resources": "EaseUI/resources/EaseUIResource.bundle", 40 | "xcconfig": { 41 | "OTHER_LDFLAGS": "-ObjC" 42 | }, 43 | "dependencies": { 44 | "MWPhotoBrowser": [ 45 | "~> 2.1.1" 46 | ], 47 | "MJRefresh": [ 48 | "~> 3.1.0" 49 | ], 50 | "Hyphenate": [ 51 | "~> 3.3.1" 52 | ] 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Pods/AFNetworking/AFNetworking/AFNetworking.h: -------------------------------------------------------------------------------- 1 | // AFNetworking.h 2 | // 3 | // Copyright (c) 2013 AFNetworking (http://afnetworking.com/) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | #import 25 | #import 26 | 27 | #ifndef _AFNETWORKING_ 28 | #define _AFNETWORKING_ 29 | 30 | #import "AFURLRequestSerialization.h" 31 | #import "AFURLResponseSerialization.h" 32 | #import "AFSecurityPolicy.h" 33 | 34 | #if !TARGET_OS_WATCH 35 | #import "AFNetworkReachabilityManager.h" 36 | #endif 37 | 38 | #import "AFURLSessionManager.h" 39 | #import "AFHTTPSessionManager.h" 40 | 41 | #endif /* _AFNETWORKING_ */ 42 | -------------------------------------------------------------------------------- /UseProtobufDemo/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/toolbar/RecordView/EaseRecordView.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import 15 | 16 | typedef enum{ 17 | EaseRecordViewTypeTouchDown, 18 | EaseRecordViewTypeTouchUpInside, 19 | EaseRecordViewTypeTouchUpOutside, 20 | EaseRecordViewTypeDragInside, 21 | EaseRecordViewTypeDragOutside, 22 | }EaseRecordViewType; 23 | 24 | @interface EaseRecordView : UIView 25 | 26 | @property (nonatomic) NSArray *voiceMessageAnimationImages UI_APPEARANCE_SELECTOR; 27 | 28 | @property (nonatomic) NSString *upCancelText UI_APPEARANCE_SELECTOR; 29 | 30 | @property (nonatomic) NSString *loosenCancelText UI_APPEARANCE_SELECTOR; 31 | 32 | /* 33 | @method 34 | @brief 录音按钮按下 35 | @discussion 36 | @param 37 | @result 38 | */ 39 | -(void)recordButtonTouchDown; 40 | 41 | /* 42 | @method 43 | @brief 手指在录音按钮内部时离开 44 | @discussion 45 | @param 46 | @result 47 | */ 48 | -(void)recordButtonTouchUpInside; 49 | 50 | /* 51 | @method 52 | @brief 手指在录音按钮外部时离开 53 | @discussion 54 | @param 55 | @result 56 | */ 57 | -(void)recordButtonTouchUpOutside; 58 | 59 | /* 60 | @method 61 | @brief 手指移动到录音按钮内部 62 | @discussion 63 | @param 64 | @result 65 | */ 66 | -(void)recordButtonDragInside; 67 | 68 | /* 69 | @method 70 | @brief 手指移动到录音按钮外部 71 | @discussion 72 | @param 73 | @result 74 | */ 75 | -(void)recordButtonDragOutside; 76 | 77 | @end 78 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/UIViewController+DismissKeyboard.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "UIViewController+DismissKeyboard.h" 14 | 15 | @implementation UIViewController (DismissKeyboard) 16 | 17 | - (void)setupForDismissKeyboard 18 | { 19 | NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 20 | UITapGestureRecognizer *singleTapGR = 21 | [[UITapGestureRecognizer alloc] initWithTarget:self 22 | action:@selector(tapAnywhereToDismissKeyboard:)]; 23 | 24 | __weak UIViewController *weakSelf = self; 25 | 26 | NSOperationQueue *mainQuene =[NSOperationQueue mainQueue]; 27 | [nc addObserverForName:UIKeyboardWillShowNotification 28 | object:nil 29 | queue:mainQuene 30 | usingBlock:^(NSNotification *note){ 31 | [weakSelf.view addGestureRecognizer:singleTapGR]; 32 | }]; 33 | [nc addObserverForName:UIKeyboardWillHideNotification 34 | object:nil 35 | queue:mainQuene 36 | usingBlock:^(NSNotification *note){ 37 | [weakSelf.view removeGestureRecognizer:singleTapGR]; 38 | }]; 39 | } 40 | 41 | - (void)tapAnywhereToDismissKeyboard:(UIGestureRecognizer *)gestureRecognizer { 42 | [self.view endEditing:YES]; 43 | } 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /UseProtobufDemo/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversation/MessageCell/EaseBaseMessageCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseMessageCell.h" 14 | 15 | extern NSString *const EaseMessageCellIdentifierSendText; 16 | extern NSString *const EaseMessageCellIdentifierSendLocation; 17 | extern NSString *const EaseMessageCellIdentifierSendVoice; 18 | extern NSString *const EaseMessageCellIdentifierSendVideo; 19 | extern NSString *const EaseMessageCellIdentifierSendImage; 20 | extern NSString *const EaseMessageCellIdentifierSendFile; 21 | 22 | @interface EaseBaseMessageCell : EaseMessageCell 23 | { 24 | UILabel *_nameLabel; 25 | } 26 | 27 | /* 28 | * 头像尺寸大小 29 | */ 30 | @property (nonatomic) CGFloat avatarSize UI_APPEARANCE_SELECTOR; //default 30; 31 | 32 | /* 33 | * 头像圆角 34 | */ 35 | @property (nonatomic) CGFloat avatarCornerRadius UI_APPEARANCE_SELECTOR; //default 0; 36 | 37 | /* 38 | * 昵称显示字体 39 | */ 40 | @property (nonatomic) UIFont *messageNameFont UI_APPEARANCE_SELECTOR; //default [UIFont systemFontOfSize:10]; 41 | 42 | /* 43 | * 昵称显示颜色 44 | */ 45 | @property (nonatomic) UIColor *messageNameColor UI_APPEARANCE_SELECTOR; //default [UIColor grayColor]; 46 | 47 | /* 48 | * 昵称显示高度 49 | */ 50 | @property (nonatomic) CGFloat messageNameHeight UI_APPEARANCE_SELECTOR; //default 15; 51 | 52 | /* 53 | * 昵称是否显示 54 | */ 55 | @property (nonatomic) BOOL messageNameIsHidden UI_APPEARANCE_SELECTOR; //default NO; 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/contact/EaseUserCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | #import "IUserModel.h" 16 | #import "IModelCell.h" 17 | #import "EaseImageView.h" 18 | 19 | static CGFloat EaseUserCellMinHeight = 50; 20 | 21 | @protocol EaseUserCellDelegate; 22 | 23 | /** @brief 好友(用户)列表自定义UITableViewCell */ 24 | 25 | @interface EaseUserCell : UITableViewCell 26 | 27 | @property (weak, nonatomic) id delegate; 28 | 29 | /** @brief 头像 */ 30 | @property (strong, nonatomic) EaseImageView *avatarView; 31 | 32 | /** @brief 昵称(环信id) */ 33 | @property (strong, nonatomic) UILabel *titleLabel; 34 | 35 | /** @brief 用户model */ 36 | @property (strong, nonatomic) id model; 37 | 38 | /** @brief 是否显示头像,默认为YES */ 39 | @property (nonatomic) BOOL showAvatar; 40 | 41 | /** @brief 当前cell在tabeleView的位置 */ 42 | @property (strong, nonatomic) NSIndexPath *indexPath; 43 | 44 | /** @brief titleLabel的字体 */ 45 | @property (nonatomic) UIFont *titleLabelFont UI_APPEARANCE_SELECTOR; 46 | 47 | /** @brief titleLabel的文字颜色 */ 48 | @property (nonatomic) UIColor *titleLabelColor UI_APPEARANCE_SELECTOR; 49 | 50 | @end 51 | 52 | /** @brief 好友(用户)列表自定义UITableViewCell */ 53 | @protocol EaseUserCellDelegate 54 | 55 | /*! 56 | @method 57 | @brief 选中的好友(用户)cell长按回调 58 | @discussion 59 | @param indexPath 选中的cell所在位置 60 | @result 61 | */ 62 | - (void)cellLongPressAtIndexPath:(NSIndexPath *)indexPath; 63 | 64 | @end 65 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/EaseMessageReadManager.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | #import "EaseMessageModel.h" 16 | 17 | typedef void (^FinishBlock)(BOOL success); 18 | typedef void (^PlayBlock)(BOOL playing, EaseMessageModel *messageModel); 19 | @class MWPhotoBrowser; 20 | @interface EaseMessageReadManager : NSObject 21 | 22 | @property (strong, nonatomic) MWPhotoBrowser *photoBrowser; 23 | @property (strong, nonatomic) FinishBlock finishBlock; 24 | // 25 | @property (strong, nonatomic) EaseMessageModel *audioMessageModel; 26 | 27 | + (id)defaultManager; 28 | 29 | /*! 30 | @method 31 | @brief 显示图片消息原图 32 | @discussion 33 | @param imageArray 原图数组,需要传入UIImage对象 34 | @return 35 | */ 36 | - (void)showBrowserWithImages:(NSArray *)imageArray; 37 | 38 | /*! 39 | @method 40 | @brief 语音消息是否可以播放 41 | @discussion 若传入的语音消息正在播放,停止播放并重置isMediaPlaying,返回NO;否则当前语音消息isMediaPlaying设为yes,记录的上一条语音消息isMediaPlaying重置,更新消息ext,返回yes 42 | @param messageModel 选中的语音消息model 43 | @param updateCompletion 语音消息model更新后的回调 44 | @return 45 | */ 46 | - (BOOL)prepareMessageAudioModel:(EaseMessageModel *)messageModel 47 | updateViewCompletion:(void (^)(EaseMessageModel *prevAudioModel, EaseMessageModel *currentAudioModel))updateCompletion; 48 | 49 | /*! 50 | @method 51 | @brief 重置正在播放状态为NO,返回对应的语音消息model 52 | @discussion 重置正在播放状态为NO,返回对应的语音消息model,若当前记录的消息不为语音消息,返回nil 53 | @return 返回修改后的语音消息model 54 | */ 55 | - (EaseMessageModel *)stopMessageAudioModel; 56 | 57 | @end 58 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIKit+AFNetworking.h 2 | // 3 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #if TARGET_OS_IOS || TARGET_OS_TV 24 | #import 25 | 26 | #ifndef _UIKIT_AFNETWORKING_ 27 | #define _UIKIT_AFNETWORKING_ 28 | 29 | #if TARGET_OS_IOS 30 | #import "AFAutoPurgingImageCache.h" 31 | #import "AFImageDownloader.h" 32 | #import "AFNetworkActivityIndicatorManager.h" 33 | #import "UIRefreshControl+AFNetworking.h" 34 | #import "UIWebView+AFNetworking.h" 35 | #endif 36 | 37 | #import "UIActivityIndicatorView+AFNetworking.h" 38 | #import "UIButton+AFNetworking.h" 39 | #import "UIImageView+AFNetworking.h" 40 | #import "UIProgressView+AFNetworking.h" 41 | #endif /* _UIKIT_AFNETWORKING_ */ 42 | #endif 43 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Model/IModelChatCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | #import "IModelCell.h" 16 | 17 | /** @brief 消息cell的协议,实现了IModelCell协议 */ 18 | 19 | @protocol IModelChatCell 20 | 21 | @required 22 | 23 | /** @brief 消息对象model */ 24 | @property (strong, nonatomic) id model; 25 | 26 | @optional 27 | 28 | /*! 29 | @method 30 | @brief 判断是否需要自定义气泡 31 | @param model 消息对象model 32 | @return 是否需要自定义气泡 33 | */ 34 | - (BOOL)isCustomBubbleView:(id)model; 35 | 36 | /*! 37 | @method 38 | @brief 根据消息model变更气泡样式 39 | @param model 消息对象 40 | @return UITableViewCell 41 | */ 42 | - (void)setCustomBubbleView:(id)model; 43 | 44 | /*! 45 | @method 46 | @brief 设置自定义cell的消息对象 47 | @param model 消息对象 48 | @return UITableViewCell 49 | */ 50 | - (void)setCustomModel:(id)model; 51 | 52 | /*! 53 | @method 54 | @brief 更新自定义气泡的边距 55 | @param bubbleMargin 待更新的边距 56 | @param model 消息对象 57 | @return UITableViewCell 58 | */ 59 | - (void)updateCustomBubbleViewMargin:(UIEdgeInsets)bubbleMargin model:(id)mode; 60 | 61 | @optional 62 | 63 | /*! 64 | @method 65 | @brief 初始化消息cell 66 | @param style cell的样式 67 | @param reuseIdentifier cell的重用标识符 68 | @param model 消息对象 69 | @return UITableViewCell 70 | */ 71 | - (instancetype)initWithStyle:(UITableViewCellStyle)style 72 | reuseIdentifier:(NSString *)reuseIdentifier 73 | model:(id)model; 74 | 75 | @end 76 | -------------------------------------------------------------------------------- /UseProtobufDemo/Protobuf/Helper/NSObject+LogAllProperties.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSObject+LogAllProperties.m 3 | // TCoreData 4 | // 5 | // Created by HeiHuaBaiHua on 16/6/17. 6 | // Copyright © 2016年 黑花白花. All rights reserved. 7 | // 8 | 9 | #import "NSObject+LogAllProperties.h" 10 | 11 | #import 12 | @implementation NSObject (LogAllProperties) 13 | 14 | - (void)log { 15 | 16 | NSMutableString *description = [NSMutableString stringWithString:@"\n-------------------------------------\n"]; 17 | [description appendString:[NSString stringWithFormat:@"%@ :\n",NSStringFromClass([self class])]]; 18 | Class cls = [self class]; 19 | while (cls != [NSObject class]) { 20 | [description appendString:[self classPropertiesDescriptionWithClass:cls]]; 21 | cls = [cls superclass]; 22 | } 23 | [description appendString:@"-------------------------------------"]; 24 | NSLog(@"%@",description); 25 | 26 | } 27 | 28 | - (NSString *)classPropertiesDescriptionWithClass:(Class)cls { 29 | 30 | NSMutableString *description = [NSMutableString string]; 31 | uint count; 32 | objc_property_t *properties = class_copyPropertyList(cls, &count); 33 | for (int i = 0; i < count; i++) { 34 | objc_property_t property = properties[i]; 35 | NSString *propertyName = [NSString stringWithCString:property_getName(property) encoding:NSUTF8StringEncoding]; 36 | 37 | if ([propertyName isEqualToString:@"debugDescription"] || 38 | [propertyName isEqualToString:@"description"] || 39 | [propertyName isEqualToString:@"superclass"] || 40 | [propertyName isEqualToString:@"hash"]) { 41 | continue; 42 | } 43 | 44 | id propertyValue = [self valueForKey:propertyName]; 45 | [description appendString:[NSString stringWithFormat:@"%@ : %@\n",propertyName,propertyValue]]; 46 | } 47 | free(properties); 48 | return [description copy]; 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/VoiceConvert/amrwapper/amrFileCodec.h: -------------------------------------------------------------------------------- 1 | // 2 | // amrFileCodec.h 3 | // amrDemoForiOS 4 | // 5 | // Created by Tang Xiaoping on 9/27/11. 6 | // Copyright 2011 test. All rights reserved. 7 | // 8 | #ifndef amrFileCodec_h 9 | #define amrFileCodec_h 10 | #include 11 | #include 12 | #include 13 | #include "interf_dec.h" 14 | #include "interf_enc.h" 15 | 16 | #define AMR_MAGIC_NUMBER "#!AMR\n" 17 | #define MP3_MAGIC_NUMBER "ID3" 18 | 19 | #define PCM_FRAME_SIZE 160 // 8khz 8000*0.02=160 20 | #define MAX_AMR_FRAME_SIZE 32 21 | #define AMR_FRAME_COUNT_PER_SECOND 50 22 | 23 | typedef struct 24 | { 25 | char chChunkID[4]; 26 | int nChunkSize; 27 | }EM_XCHUNKHEADER; 28 | 29 | typedef struct 30 | { 31 | short nFormatTag; 32 | short nChannels; 33 | int nSamplesPerSec; 34 | int nAvgBytesPerSec; 35 | short nBlockAlign; 36 | short nBitsPerSample; 37 | }EM_WAVEFORMAT; 38 | 39 | typedef struct 40 | { 41 | short nFormatTag; 42 | short nChannels; 43 | int nSamplesPerSec; 44 | int nAvgBytesPerSec; 45 | short nBlockAlign; 46 | short nBitsPerSample; 47 | short nExSize; 48 | }EM_WAVEFORMATX; 49 | 50 | typedef struct 51 | { 52 | char chRiffID[4]; 53 | int nRiffSize; 54 | char chRiffFormat[4]; 55 | }EM_RIFFHEADER; 56 | 57 | typedef struct 58 | { 59 | char chFmtID[4]; 60 | int nFmtSize; 61 | EM_WAVEFORMAT wf; 62 | }EM_FMTBLOCK; 63 | 64 | // WAVE audio processing frequency is 8khz 65 | // audio processing unit = 8000*0.02 = 160 (decided by audio processing frequency) 66 | // audio channels 1 : 160 67 | // 2 : 160*2 = 320 68 | // bps decides the size of processing sample 69 | // bps = 8 --> 8 bits 70 | // 16 --> 16 bit 71 | int EM_EncodeWAVEFileToAMRFile(const char* pchWAVEFilename, const char* pchAMRFileName, int nChannels, int nBitsPerSample); 72 | 73 | int EM_DecodeAMRFileToWAVEFile(const char* pchAMRFileName, const char* pchWAVEFilename); 74 | 75 | int isMP3File(const char *filePath); 76 | 77 | int isAMRFile(const char *filePath); 78 | #endif -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Views/conversationList/EaseConversationCell.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | 14 | #import 15 | 16 | #import "IConversationModel.h" 17 | #import "IModelCell.h" 18 | #import "EaseImageView.h" 19 | 20 | /** @brief cell的最小高度 */ 21 | static CGFloat EaseConversationCellMinHeight = 60; 22 | 23 | /** @brief 会话列表自定义UITableViewCell */ 24 | 25 | @interface EaseConversationCell : UITableViewCell 26 | 27 | /** @brief 头像(用户、群组、聊天室) */ 28 | @property (strong, nonatomic) EaseImageView *avatarView; 29 | 30 | /** @brief 最近一条消息的信息 */ 31 | @property (strong, nonatomic) UILabel *detailLabel; 32 | 33 | /** @brief 时间 */ 34 | @property (strong, nonatomic) UILabel *timeLabel; 35 | 36 | /** @brief 会话标题 */ 37 | @property (strong, nonatomic) UILabel *titleLabel; 38 | 39 | /** @brief 会话对象 */ 40 | @property (strong, nonatomic) id model; 41 | 42 | /** @brief 是否显示头像,默认为YES */ 43 | @property (nonatomic) BOOL showAvatar; 44 | 45 | /** @brief title的字体 */ 46 | @property (nonatomic) UIFont *titleLabelFont UI_APPEARANCE_SELECTOR; 47 | 48 | /** @brief title文字颜色 */ 49 | @property (nonatomic) UIColor *titleLabelColor UI_APPEARANCE_SELECTOR; 50 | 51 | /** @brief 最近一条消息字体 */ 52 | @property (nonatomic) UIFont *detailLabelFont UI_APPEARANCE_SELECTOR; 53 | 54 | /** @brief 最近一条消息文字颜色 */ 55 | @property (nonatomic) UIColor *detailLabelColor UI_APPEARANCE_SELECTOR; 56 | 57 | /** @brief 时间文字字体 */ 58 | @property (nonatomic) UIFont *timeLabelFont UI_APPEARANCE_SELECTOR; 59 | 60 | /** @brief 时间文字颜色 */ 61 | @property (nonatomic) UIColor *timeLabelColor UI_APPEARANCE_SELECTOR; 62 | 63 | @end 64 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseViewController.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "EaseViewController.h" 14 | 15 | @interface EaseViewController () 16 | 17 | @property (strong, nonatomic) UITapGestureRecognizer *tapRecognizer; 18 | 19 | @end 20 | 21 | @implementation EaseViewController 22 | 23 | - (void)viewDidLoad { 24 | [super viewDidLoad]; 25 | // Do any additional setup after loading the view. 26 | if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]){ 27 | [self setEdgesForExtendedLayout:UIRectEdgeNone]; 28 | } 29 | 30 | _tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapViewAction:)]; 31 | [self.view addGestureRecognizer:_tapRecognizer]; 32 | _endEditingWhenTap = YES; 33 | } 34 | 35 | - (void)didReceiveMemoryWarning { 36 | [super didReceiveMemoryWarning]; 37 | // Dispose of any resources that can be recreated. 38 | } 39 | 40 | #pragma mark - setter 41 | 42 | - (void)setEndEditingWhenTap:(BOOL)endEditingWhenTap 43 | { 44 | if (_endEditingWhenTap != endEditingWhenTap) { 45 | _endEditingWhenTap = endEditingWhenTap; 46 | 47 | if (_endEditingWhenTap) { 48 | [self.view addGestureRecognizer:self.tapRecognizer]; 49 | } 50 | else{ 51 | [self.view removeGestureRecognizer:self.tapRecognizer]; 52 | } 53 | } 54 | } 55 | 56 | #pragma mark - action 57 | 58 | - (void)tapViewAction:(UITapGestureRecognizer *)tapRecognizer 59 | { 60 | if (tapRecognizer.state == UIGestureRecognizerStateEnded) { 61 | [self.view endEditing:YES]; 62 | } 63 | } 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/3rdparty/DeviceHelper/internal/EMCDDeviceManager+ProximitySensor.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | #import "EMCDDeviceManager+ProximitySensor.h" 15 | 16 | @implementation EMCDDeviceManager (ProximitySensor) 17 | @dynamic isSupportProximitySensor; 18 | @dynamic isCloseToUser; 19 | 20 | 21 | #pragma mark - proximity sensor 22 | - (BOOL)isProximitySensorEnabled { 23 | BOOL ret = NO; 24 | ret = self.isSupportProximitySensor && [UIDevice currentDevice].proximityMonitoringEnabled; 25 | 26 | return ret; 27 | } 28 | 29 | - (BOOL)enableProximitySensor { 30 | BOOL ret = NO; 31 | if (_isSupportProximitySensor) { 32 | [[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; 33 | ret = YES; 34 | } 35 | 36 | return ret; 37 | } 38 | 39 | - (BOOL)disableProximitySensor { 40 | BOOL ret = NO; 41 | if (_isSupportProximitySensor) { 42 | [[UIDevice currentDevice] setProximityMonitoringEnabled:NO]; 43 | _isCloseToUser = NO; 44 | ret = YES; 45 | } 46 | 47 | return ret; 48 | } 49 | 50 | - (void)sensorStateChanged:(NSNotification *)notification { 51 | BOOL ret = NO; 52 | if ([[UIDevice currentDevice] proximityState] == YES) { 53 | ret = YES; 54 | } 55 | _isCloseToUser = ret; 56 | if([self.delegate respondsToSelector:@selector(proximitySensorChanged:)]){ 57 | [self.delegate proximitySensorChanged:_isCloseToUser]; 58 | } 59 | } 60 | 61 | #pragma mark - getter 62 | - (BOOL)isCloseToUser { 63 | return _isCloseToUser; 64 | } 65 | 66 | - (BOOL)isSupportProximitySensor { 67 | return _isSupportProximitySensor; 68 | } 69 | @end 70 | -------------------------------------------------------------------------------- /Pods/Protobuf/objectivec/GPBProtocolBuffers_RuntimeSupport.h: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | // This header is meant to only be used by the generated source, it should not 32 | // be included in code using protocol buffers. 33 | 34 | #import "GPBProtocolBuffers.h" 35 | 36 | #import "GPBDescriptor_PackagePrivate.h" 37 | #import "GPBExtensionInternals.h" 38 | #import "GPBMessage_PackagePrivate.h" 39 | #import "GPBRootObject_PackagePrivate.h" 40 | #import "GPBUtilities_PackagePrivate.h" 41 | -------------------------------------------------------------------------------- /Pods/Protobuf/objectivec/GPBRootObject_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | #import 32 | 33 | #import "GPBRootObject.h" 34 | 35 | @class GPBExtensionDescriptor; 36 | 37 | @interface GPBRootObject () 38 | 39 | // Globally register. 40 | + (void)globallyRegisterExtension:(GPBExtensionDescriptor *)field; 41 | 42 | @end 43 | 44 | // Returns YES if the selector was resolved and added to the class, 45 | // NO otherwise. 46 | BOOL GPBResolveExtensionClassMethod(Class self, SEL sel); 47 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIActivityIndicatorView+AFNetworking.h 2 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | 22 | #import 23 | 24 | #import 25 | 26 | #if TARGET_OS_IOS || TARGET_OS_TV 27 | 28 | #import 29 | 30 | /** 31 | This category adds methods to the UIKit framework's `UIActivityIndicatorView` class. The methods in this category provide support for automatically starting and stopping animation depending on the loading state of a session task. 32 | */ 33 | @interface UIActivityIndicatorView (AFNetworking) 34 | 35 | ///---------------------------------- 36 | /// @name Animating for Session Tasks 37 | ///---------------------------------- 38 | 39 | /** 40 | Binds the animating state to the state of the specified task. 41 | 42 | @param task The task. If `nil`, automatic updating from any previously specified operation will be disabled. 43 | */ 44 | - (void)setAnimatingWithStateOfTask:(nullable NSURLSessionTask *)task; 45 | 46 | @end 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /UseProtobufDemo/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // UseProtobufDemo 4 | // 5 | // Created by pzk on 17/4/21. 6 | // Copyright © 2017年 Aone. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @end 14 | 15 | @implementation AppDelegate 16 | 17 | 18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 19 | // Override point for customization after application launch. 20 | return YES; 21 | } 22 | 23 | 24 | - (void)applicationWillResignActive:(UIApplication *)application { 25 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 26 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 27 | } 28 | 29 | 30 | - (void)applicationDidEnterBackground:(UIApplication *)application { 31 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 32 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 33 | } 34 | 35 | 36 | - (void)applicationWillEnterForeground:(UIApplication *)application { 37 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 38 | } 39 | 40 | 41 | - (void)applicationDidBecomeActive:(UIApplication *)application { 42 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 43 | } 44 | 45 | 46 | - (void)applicationWillTerminate:(UIApplication *)application { 47 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 48 | } 49 | 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/Protobuf/objectivec/google/protobuf/Empty.pbobjc.h: -------------------------------------------------------------------------------- 1 | // Generated by the protocol buffer compiler. DO NOT EDIT! 2 | // source: google/protobuf/empty.proto 3 | 4 | // This CPP symbol can be defined to use imports that match up to the framework 5 | // imports needed when using CocoaPods. 6 | #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) 7 | #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 8 | #endif 9 | 10 | #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 11 | #import 12 | #else 13 | #import "GPBProtocolBuffers.h" 14 | #endif 15 | 16 | #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 17 | #error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources. 18 | #endif 19 | #if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION 20 | #error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources. 21 | #endif 22 | 23 | // @@protoc_insertion_point(imports) 24 | 25 | #pragma clang diagnostic push 26 | #pragma clang diagnostic ignored "-Wdeprecated-declarations" 27 | 28 | CF_EXTERN_C_BEGIN 29 | 30 | NS_ASSUME_NONNULL_BEGIN 31 | 32 | #pragma mark - GPBEmptyRoot 33 | 34 | /** 35 | * Exposes the extension registry for this file. 36 | * 37 | * The base class provides: 38 | * @code 39 | * + (GPBExtensionRegistry *)extensionRegistry; 40 | * @endcode 41 | * which is a @c GPBExtensionRegistry that includes all the extensions defined by 42 | * this file and all files that it depends on. 43 | **/ 44 | @interface GPBEmptyRoot : GPBRootObject 45 | @end 46 | 47 | #pragma mark - GPBEmpty 48 | 49 | /** 50 | * A generic empty message that you can re-use to avoid defining duplicated 51 | * empty messages in your APIs. A typical example is to use it as the request 52 | * or the response type of an API method. For instance: 53 | * 54 | * service Foo { 55 | * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); 56 | * } 57 | * 58 | * The JSON representation for `Empty` is empty JSON object `{}`. 59 | **/ 60 | @interface GPBEmpty : GPBMessage 61 | 62 | @end 63 | 64 | NS_ASSUME_NONNULL_END 65 | 66 | CF_EXTERN_C_END 67 | 68 | #pragma clang diagnostic pop 69 | 70 | // @@protoc_insertion_point(global_scope) 71 | -------------------------------------------------------------------------------- /Pods/AFNetworking/UIKit+AFNetworking/UIRefreshControl+AFNetworking.h: -------------------------------------------------------------------------------- 1 | // UIRefreshControl+AFNetworking.m 2 | // 3 | // Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) 4 | // 5 | // Permission is hereby granted, free of charge, to any person obtaining a copy 6 | // of this software and associated documentation files (the "Software"), to deal 7 | // in the Software without restriction, including without limitation the rights 8 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | // copies of the Software, and to permit persons to whom the Software is 10 | // furnished to do so, subject to the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included in 13 | // all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | // THE SOFTWARE. 22 | 23 | #import 24 | 25 | #import 26 | 27 | #if TARGET_OS_IOS 28 | 29 | #import 30 | 31 | NS_ASSUME_NONNULL_BEGIN 32 | 33 | /** 34 | This category adds methods to the UIKit framework's `UIRefreshControl` class. The methods in this category provide support for automatically beginning and ending refreshing depending on the loading state of a session task. 35 | */ 36 | @interface UIRefreshControl (AFNetworking) 37 | 38 | ///----------------------------------- 39 | /// @name Refreshing for Session Tasks 40 | ///----------------------------------- 41 | 42 | /** 43 | Binds the refreshing state to the state of the specified task. 44 | 45 | @param task The task. If `nil`, automatic updating from any previously specified operation will be disabled. 46 | */ 47 | - (void)setRefreshingWithStateOfTask:(NSURLSessionTask *)task; 48 | 49 | @end 50 | 51 | NS_ASSUME_NONNULL_END 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /Pods/Protobuf/LICENSE: -------------------------------------------------------------------------------- 1 | This license applies to all parts of Protocol Buffers except the following: 2 | 3 | - Atomicops support for generic gcc, located in 4 | src/google/protobuf/stubs/atomicops_internals_generic_gcc.h. 5 | This file is copyrighted by Red Hat Inc. 6 | 7 | - Atomicops support for AIX/POWER, located in 8 | src/google/protobuf/stubs/atomicops_internals_power.h. 9 | This file is copyrighted by Bloomberg Finance LP. 10 | 11 | Copyright 2014, Google Inc. All rights reserved. 12 | 13 | Redistribution and use in source and binary forms, with or without 14 | modification, are permitted provided that the following conditions are 15 | met: 16 | 17 | * Redistributions of source code must retain the above copyright 18 | notice, this list of conditions and the following disclaimer. 19 | * Redistributions in binary form must reproduce the above 20 | copyright notice, this list of conditions and the following disclaimer 21 | in the documentation and/or other materials provided with the 22 | distribution. 23 | * Neither the name of Google Inc. nor the names of its 24 | contributors may be used to endorse or promote products derived from 25 | this software without specific prior written permission. 26 | 27 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 28 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 29 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 30 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 31 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 32 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 33 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 35 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 36 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 37 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 38 | 39 | Code generated by the Protocol Buffer compiler is owned by the owner 40 | of the input file used when generating it. This code is not 41 | standalone and requires a support library to be linked with it. This 42 | support library is itself covered by the above license. 43 | -------------------------------------------------------------------------------- /Pods/Protobuf/objectivec/GPBUnknownField_PackagePrivate.h: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | #import 32 | 33 | #import "GPBUnknownField.h" 34 | 35 | @class GPBCodedOutputStream; 36 | 37 | @interface GPBUnknownField () 38 | 39 | - (instancetype)initWithNumber:(int32_t)number; 40 | 41 | - (void)writeToOutput:(GPBCodedOutputStream *)output; 42 | - (size_t)serializedSize; 43 | 44 | - (void)writeAsMessageSetExtensionToOutput:(GPBCodedOutputStream *)output; 45 | - (size_t)serializedSizeAsMessageSetExtension; 46 | 47 | - (void)mergeFromField:(GPBUnknownField *)other; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/Protobuf/objectivec/GPBRootObject.h: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // https://developers.google.com/protocol-buffers/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | #import 32 | 33 | @class GPBExtensionRegistry; 34 | 35 | NS_ASSUME_NONNULL_BEGIN 36 | 37 | /** 38 | * Every generated proto file defines a local "Root" class that exposes a 39 | * GPBExtensionRegistry for all the extensions defined by that file and 40 | * the files it depends on. 41 | **/ 42 | @interface GPBRootObject : NSObject 43 | 44 | /** 45 | * @return An extension registry for the given file and all the files it depends 46 | * on. 47 | **/ 48 | + (GPBExtensionRegistry *)extensionRegistry; 49 | 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/Protobuf.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Protobuf/objectivec/google/protobuf/SourceContext.pbobjc.h: -------------------------------------------------------------------------------- 1 | // Generated by the protocol buffer compiler. DO NOT EDIT! 2 | // source: google/protobuf/source_context.proto 3 | 4 | // This CPP symbol can be defined to use imports that match up to the framework 5 | // imports needed when using CocoaPods. 6 | #if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) 7 | #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0 8 | #endif 9 | 10 | #if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 11 | #import 12 | #else 13 | #import "GPBProtocolBuffers.h" 14 | #endif 15 | 16 | #if GOOGLE_PROTOBUF_OBJC_VERSION < 30002 17 | #error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources. 18 | #endif 19 | #if 30002 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION 20 | #error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources. 21 | #endif 22 | 23 | // @@protoc_insertion_point(imports) 24 | 25 | #pragma clang diagnostic push 26 | #pragma clang diagnostic ignored "-Wdeprecated-declarations" 27 | 28 | CF_EXTERN_C_BEGIN 29 | 30 | NS_ASSUME_NONNULL_BEGIN 31 | 32 | #pragma mark - GPBSourceContextRoot 33 | 34 | /** 35 | * Exposes the extension registry for this file. 36 | * 37 | * The base class provides: 38 | * @code 39 | * + (GPBExtensionRegistry *)extensionRegistry; 40 | * @endcode 41 | * which is a @c GPBExtensionRegistry that includes all the extensions defined by 42 | * this file and all files that it depends on. 43 | **/ 44 | @interface GPBSourceContextRoot : GPBRootObject 45 | @end 46 | 47 | #pragma mark - GPBSourceContext 48 | 49 | typedef GPB_ENUM(GPBSourceContext_FieldNumber) { 50 | GPBSourceContext_FieldNumber_FileName = 1, 51 | }; 52 | 53 | /** 54 | * `SourceContext` represents information about the source of a 55 | * protobuf element, like the file in which it is defined. 56 | **/ 57 | @interface GPBSourceContext : GPBMessage 58 | 59 | /** 60 | * The path-qualified name of the .proto file that contained the associated 61 | * protobuf element. For example: `"google/protobuf/source_context.proto"`. 62 | **/ 63 | @property(nonatomic, readwrite, copy, null_resettable) NSString *fileName; 64 | 65 | @end 66 | 67 | NS_ASSUME_NONNULL_END 68 | 69 | CF_EXTERN_C_END 70 | 71 | #pragma clang diagnostic pop 72 | 73 | // @@protoc_insertion_point(global_scope) 74 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/AFNetworking.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/macmini.xcuserdatad/xcschemes/CocoaAsyncSocket.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/ViewController/EaseRefreshTableViewController.h: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import 14 | 15 | /** @brief tabeleView的cell高度 */ 16 | #define KCELLDEFAULTHEIGHT 50 17 | 18 | /** @brief 带加载、刷新的Controller(包含UITableView) */ 19 | 20 | @interface EaseRefreshTableViewController : UIViewController 21 | { 22 | NSArray *_rightItems; 23 | } 24 | 25 | /** @brief 导航栏右侧BarItem */ 26 | @property (strong, nonatomic) NSArray *rightItems; 27 | /** @brief 默认的tableFooterView */ 28 | @property (strong, nonatomic) UIView *defaultFooterView; 29 | 30 | @property (strong, nonatomic) UITableView *tableView; 31 | 32 | /** @brief tableView的数据源,用户UI显示 */ 33 | @property (strong, nonatomic) NSMutableArray *dataArray; 34 | 35 | @property (strong, nonatomic) NSMutableDictionary *dataDictionary; 36 | 37 | /** @brief 当前加载的页数 */ 38 | @property (nonatomic) int page; 39 | 40 | /** @brief 是否启用下拉加载更多,默认为NO */ 41 | @property (nonatomic) BOOL showRefreshHeader; 42 | /** @brief 是否启用上拉加载更多,默认为NO */ 43 | @property (nonatomic) BOOL showRefreshFooter; 44 | /** @brief 是否显示无数据时的空白提示,默认为NO(未实现提示页面) */ 45 | @property (nonatomic) BOOL showTableBlankView; 46 | 47 | /*! 48 | @method 49 | @brief 初始化ViewController 50 | @discussion 51 | @param style tableView样式 52 | @return 53 | */ 54 | - (instancetype)initWithStyle:(UITableViewStyle)style; 55 | 56 | /*! 57 | @method 58 | @brief 下拉加载更多(下拉刷新) 59 | @discussion 60 | @return 61 | */ 62 | - (void)tableViewDidTriggerHeaderRefresh; 63 | 64 | /*! 65 | @method 66 | @brief 上拉加载更多 67 | @discussion 68 | @return 69 | */ 70 | - (void)tableViewDidTriggerFooterRefresh; 71 | 72 | /*! 73 | @method 74 | @brief 加载结束 75 | @discussion 加载结束后,通过参数reload来判断是否需要调用tableView的reloadData,判断isHeader来停止加载 76 | @param isHeader 是否结束下拉加载(或者上拉加载) 77 | @param reload 是否需要重载TabeleView 78 | @return 79 | */ 80 | - (void)tableViewDidFinishTriggerHeader:(BOOL)isHeader reload:(BOOL)reload; 81 | 82 | @end 83 | -------------------------------------------------------------------------------- /Pods/EaseUI/EaseUI/EMUIKit/Util/Category/UIViewController+HUD.m: -------------------------------------------------------------------------------- 1 | /************************************************************ 2 | * * Hyphenate CONFIDENTIAL 3 | * __________________ 4 | * Copyright (C) 2016 Hyphenate Inc. All rights reserved. 5 | * 6 | * NOTICE: All information contained herein is, and remains 7 | * the property of Hyphenate Inc. 8 | * Dissemination of this information or reproduction of this material 9 | * is strictly forbidden unless prior written permission is obtained 10 | * from Hyphenate Inc. 11 | */ 12 | 13 | #import "UIViewController+HUD.h" 14 | 15 | #import "MBProgressHUD.h" 16 | #import 17 | 18 | static const void *HttpRequestHUDKey = &HttpRequestHUDKey; 19 | 20 | @implementation UIViewController (HUD) 21 | 22 | - (MBProgressHUD *)HUD{ 23 | return objc_getAssociatedObject(self, HttpRequestHUDKey); 24 | } 25 | 26 | - (void)setHUD:(MBProgressHUD *)HUD{ 27 | objc_setAssociatedObject(self, HttpRequestHUDKey, HUD, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 28 | } 29 | 30 | - (void)showHudInView:(UIView *)view hint:(NSString *)hint{ 31 | MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:view]; 32 | HUD.labelText = hint; 33 | [view addSubview:HUD]; 34 | [HUD show:YES]; 35 | [self setHUD:HUD]; 36 | } 37 | 38 | - (void)showHint:(NSString *)hint 39 | { 40 | UIView *view = [[UIApplication sharedApplication].delegate window]; 41 | MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; 42 | hud.userInteractionEnabled = NO; 43 | // Configure for text only and offset down 44 | hud.mode = MBProgressHUDModeText; 45 | hud.labelText = hint; 46 | hud.margin = 10.f; 47 | hud.yOffset = 180; 48 | hud.removeFromSuperViewOnHide = YES; 49 | [hud hide:YES afterDelay:2]; 50 | } 51 | 52 | - (void)showHint:(NSString *)hint yOffset:(float)yOffset 53 | { 54 | UIView *view = [[UIApplication sharedApplication].delegate window]; 55 | MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:view animated:YES]; 56 | hud.userInteractionEnabled = NO; 57 | // Configure for text only and offset down 58 | hud.mode = MBProgressHUDModeText; 59 | hud.labelText = hint; 60 | hud.margin = 10.f; 61 | hud.yOffset = 180; 62 | hud.yOffset += yOffset; 63 | hud.removeFromSuperViewOnHide = YES; 64 | [hud hide:YES afterDelay:2]; 65 | } 66 | 67 | - (void)hideHud{ 68 | [[self HUD] hide:YES]; 69 | } 70 | 71 | @end 72 | --------------------------------------------------------------------------------