├── .gitignore
├── .swift-version
├── Examples
├── Podfile
├── Podfile.lock
├── README.md
├── VideoChat.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── VideoChat.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── VideoChat
│ ├── ChatRoom
│ ├── Assets.xcassets
│ │ ├── Contents.json
│ │ ├── btn-ic-history_g.imageset
│ │ │ ├── Contents.json
│ │ │ ├── btn-ic-history_g.png
│ │ │ ├── btn-ic-history_g@2x.png
│ │ │ └── btn-ic-history_g@3x.png
│ │ ├── btn-ic-history_w.imageset
│ │ │ ├── Contents.json
│ │ │ ├── btn-ic-history_w.png
│ │ │ ├── btn-ic-history_w@2x.png
│ │ │ └── btn-ic-history_w@3x.png
│ │ ├── btn-stickers.imageset
│ │ │ ├── Contents.json
│ │ │ ├── btn-stickers.png
│ │ │ ├── btn-stickers@2x.png
│ │ │ └── btn-stickers@3x.png
│ │ ├── btn_emoji.imageset
│ │ │ ├── Contents.json
│ │ │ ├── btn_emoji.png
│ │ │ ├── btn_emoji@2x.png
│ │ │ └── btn_emoji@3x.png
│ │ ├── btn_ic_keyboard.imageset
│ │ │ ├── Contents.json
│ │ │ ├── btn_ic_keyboard.png
│ │ │ ├── btn_ic_keyboard@2x.png
│ │ │ └── btn_ic_keyboard@3x.png
│ │ ├── btn_msg.imageset
│ │ │ ├── Contents.json
│ │ │ ├── btn_msg.png
│ │ │ ├── btn_msg@2x.png
│ │ │ └── btn_msg@3x.png
│ │ ├── emoji_XD.imageset
│ │ │ ├── Contents.json
│ │ │ ├── emoji_XD.png
│ │ │ ├── emoji_XD@2x.png
│ │ │ └── emoji_XD@3x.png
│ │ ├── emoji_heart.imageset
│ │ │ ├── Contents.json
│ │ │ ├── emoji_heart.png
│ │ │ ├── emoji_heart@2x.png
│ │ │ └── emoji_heart@3x.png
│ │ ├── emoji_like.imageset
│ │ │ ├── Contents.json
│ │ │ ├── emoji_like.png
│ │ │ ├── emoji_like@2x.png
│ │ │ └── emoji_like@3x.png
│ │ ├── ic_arrow_downward_chatroom.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_arrow_downward_chatroom.png
│ │ │ ├── ic_arrow_downward_chatroom@2x.png
│ │ │ └── ic_arrow_downward_chatroom@3x.png
│ │ ├── ic_host_chatroom.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_host_chatroom.png
│ │ │ ├── ic_host_chatroom@2x.png
│ │ │ └── ic_host_chatroom@3x.png
│ │ ├── ic_moderator_chatroom.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_moderator_chatroom.png
│ │ │ ├── ic_moderator_chatroom@2x.png
│ │ │ └── ic_moderator_chatroom@3x.png
│ │ ├── ic_pin_message.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_pin_message.png
│ │ │ ├── ic_pin_message@2x.png
│ │ │ └── ic_pin_message@3x.png
│ │ ├── img-guest-photo.imageset
│ │ │ ├── Contents.json
│ │ │ ├── img-guest-photo.png
│ │ │ ├── img-guest-photo@x2.png
│ │ │ └── img-guest-photo@x3.png
│ │ ├── img_chatroom_background.imageset
│ │ │ ├── Contents.json
│ │ │ ├── img_chatroom_background@2x.png
│ │ │ └── img_chatroom_background@3x.png
│ │ └── img_sticker_default.imageset
│ │ │ ├── Contents.json
│ │ │ ├── img_sticker_default.png
│ │ │ ├── img_sticker_default@2x.png
│ │ │ └── img_sticker_default@3x.png
│ ├── ChatExampleViewController.h
│ ├── ChatExampleViewController.m
│ ├── ChatStickerDelegate.h
│ ├── ChatStickerExampleViewController.h
│ ├── ChatStickerExampleViewController.m
│ ├── ChatStickerViewController.h
│ ├── ChatStickerViewController.m
│ ├── ChatViewController.h
│ ├── ChatViewController.m
│ ├── ECommerceChatViewController.h
│ ├── ECommerceChatViewController.m
│ ├── IconLabel.h
│ ├── IconLabel.m
│ ├── MessageTableViewCell.h
│ ├── MessageTableViewCell.m
│ ├── MessageTextView.h
│ ├── MessageTextView.m
│ ├── NSFileManager+Sticker.h
│ ├── NSFileManager+Sticker.m
│ ├── NSTimer+SafeTimer.h
│ ├── NSTimer+SafeTimer.m
│ ├── STSChatMessage+VideoChatUtility.h
│ ├── STSChatMessage+VideoChatUtility.m
│ ├── STSChatUser+VieoChatUtility.h
│ ├── STSChatUser+VieoChatUtility.m
│ ├── STSMessageLongPressGestureRecognizer.h
│ ├── STSMessageLongPressGestureRecognizer.m
│ ├── STSPinnedMessageView.h
│ ├── STSPinnedMessageView.m
│ ├── STSSegmentedControl.h
│ ├── STSSegmentedControl.m
│ ├── StickerInputViewDelegate.h
│ ├── StickersInputView.h
│ ├── StickersInputView.m
│ ├── StickersInputView.xib
│ ├── TransparentChatViewController.h
│ ├── TransparentChatViewController.m
│ ├── TransparentMessageTableViewCell.h
│ ├── TransparentMessageTableViewCell.m
│ ├── TypingIndicatorView.h
│ ├── TypingIndicatorView.m
│ ├── UIAlertController+VideoChatUtility.h
│ ├── UIAlertController+VideoChatUtility.m
│ ├── UIImage+sticker.h
│ ├── UIImage+sticker.m
│ ├── UIViewController+VideoChatUtility.h
│ ├── UIViewController+VideoChatUtility.m
│ ├── en.lproj
│ │ └── Localizable.strings
│ └── zh-Hant.lproj
│ │ └── Localizable.strings
│ ├── FloatingImageView.h
│ ├── FloatingImageView.m
│ ├── Info.plist
│ ├── Player
│ ├── STSPlayerViewController.h
│ ├── STSPlayerViewController.m
│ ├── UIViewController+STSKeyboard.h
│ └── UIViewController+STSKeyboard.m
│ ├── STSStreamingViewController.h
│ ├── STSStreamingViewController.m
│ ├── Shared
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-60@2x.png
│ │ │ ├── Icon-60@3x.png
│ │ │ ├── Icon-Small-40@2x.png
│ │ │ ├── Icon-Small-40@3x.png
│ │ │ ├── Icon-Small@2x.png
│ │ │ └── Icon-Small@3x.png
│ │ ├── Contents.json
│ │ ├── camera.imageset
│ │ │ ├── Contents.json
│ │ │ ├── camera.png
│ │ │ ├── camera@2x.png
│ │ │ └── camera@3x.png
│ │ ├── nav-icon-close_n.imageset
│ │ │ ├── Contents.json
│ │ │ ├── nav-icon-close_n.png
│ │ │ ├── nav-icon-close_n@2x.png
│ │ │ └── nav-icon-close_n@3x.png
│ │ └── scan.imageset
│ │ │ ├── Contents.json
│ │ │ ├── scan.png
│ │ │ ├── scan@2x.png
│ │ │ └── scan@3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── DetailViewController.h
│ ├── DetailViewController.m
│ ├── File.swift
│ ├── MasterViewController.h
│ ├── MasterViewController.m
│ ├── NSLayoutConstraint+STSUtility.h
│ ├── NSLayoutConstraint+STSUtility.m
│ ├── STSConstant.h
│ ├── STSQRCodeScannerViewController.h
│ ├── STSQRCodeScannerViewController.m
│ ├── UIColor+STSColor.h
│ ├── UIColor+STSColor.m
│ ├── UIViewController+Keyboard.h
│ ├── UIViewController+Keyboard.m
│ └── VideoChat-Bridging-Header.h
│ ├── StreamingFiltersViewController.h
│ ├── StreamingFiltersViewController.m
│ └── main.m
├── ISSUE_TEMPLATE.md
├── README.md
├── StraaS-iOS-SDK.podspec
├── docs
└── StraaSMessagingSDK
│ ├── Classes.html
│ ├── Classes
│ ├── LHDataObject.html
│ ├── STSApplication.html
│ ├── STSChat.html
│ ├── STSChatManager.html
│ ├── STSChatMessage.html
│ └── STSChatUser.html
│ ├── Enums.html
│ ├── Enums
│ ├── STSChatInputMode.html
│ └── STSMSGErrorCode.html
│ ├── Protocols.html
│ ├── Protocols
│ └── STSChatEventDelegate.html
│ ├── css
│ ├── highlight.css
│ └── jazzy.css
│ ├── docsets
│ ├── StraaSMessagingSDK.docset
│ │ └── Contents
│ │ │ ├── Info.plist
│ │ │ └── Resources
│ │ │ ├── Documents
│ │ │ ├── Classes.html
│ │ │ ├── Classes
│ │ │ │ ├── LHDataObject.html
│ │ │ │ ├── STSApplication.html
│ │ │ │ ├── STSChat.html
│ │ │ │ ├── STSChatManager.html
│ │ │ │ ├── STSChatMessage.html
│ │ │ │ └── STSChatUser.html
│ │ │ ├── Enums.html
│ │ │ ├── Enums
│ │ │ │ ├── STSChatInputMode.html
│ │ │ │ └── STSMSGErrorCode.html
│ │ │ ├── Protocols.html
│ │ │ ├── Protocols
│ │ │ │ └── STSChatEventDelegate.html
│ │ │ ├── css
│ │ │ │ ├── highlight.css
│ │ │ │ └── jazzy.css
│ │ │ ├── img
│ │ │ │ ├── carat.png
│ │ │ │ ├── dash.png
│ │ │ │ └── gh.png
│ │ │ ├── index.html
│ │ │ ├── js
│ │ │ │ ├── jazzy.js
│ │ │ │ └── jquery.min.js
│ │ │ └── undocumented.json
│ │ │ └── docSet.dsidx
│ ├── StraaSMessagingSDK.tgz
│ └── StraaSMessagingSDK.xml
│ ├── img
│ ├── carat.png
│ ├── dash.png
│ └── gh.png
│ ├── index.html
│ └── js
│ ├── jazzy.js
│ └── jquery.min.js
└── ios
├── StraaSCoreSDK.framework
├── Headers
│ ├── LHDataObject.h
│ ├── NSError+STSUtility.h
│ ├── NSString+STSUtility.h
│ ├── STSApplication.h
│ ├── STSCoreErrorCode.h
│ ├── STSSDKAuthManager.h
│ ├── StraaSCoreSDK.h
│ └── UIDevice+STSUtility.h
├── Info.plist
├── Modules
│ └── module.modulemap
├── PrivacyInfo.xcprivacy
├── StraaSCoreSDK
├── _CodeSignature
│ ├── CodeDirectory
│ ├── CodeRequirements
│ ├── CodeRequirements-1
│ ├── CodeResources
│ └── CodeSignature
├── en.lproj
│ └── Localizable.strings
└── zh-Hant.lproj
│ └── Localizable.strings
├── StraaSMessagingSDK.framework
├── Headers
│ ├── STSAggregatedData.h
│ ├── STSAggregatedItem.h
│ ├── STSChat.h
│ ├── STSChatManager.h
│ ├── STSChatManagerConfig.h
│ ├── STSChatMessage.h
│ ├── STSChatMetadata.h
│ ├── STSChatSticker.h
│ ├── STSChatUser.h
│ ├── STSGetMessagesConfiguration.h
│ ├── STSGetMessagesOrder.h
│ ├── STSGetUsersType.h
│ ├── STSMSGErrorCode.h
│ ├── StraaSMessagingSDK-Swift.h
│ └── StraaSMessagingSDK.h
├── Info.plist
├── Modules
│ ├── StraaSMessagingSDK.swiftmodule
│ │ ├── arm64-apple-ios-simulator.swiftdoc
│ │ ├── arm64-apple-ios-simulator.swiftinterface
│ │ ├── arm64-apple-ios-simulator.swiftmodule
│ │ ├── arm64-apple-ios.swiftdoc
│ │ ├── arm64-apple-ios.swiftinterface
│ │ ├── arm64-apple-ios.swiftmodule
│ │ ├── x86_64-apple-ios-simulator.swiftdoc
│ │ ├── x86_64-apple-ios-simulator.swiftinterface
│ │ └── x86_64-apple-ios-simulator.swiftmodule
│ └── module.modulemap
├── PrivacyInfo.xcprivacy
├── StraaSMessagingSDK
├── _CodeSignature
│ ├── CodeDirectory
│ ├── CodeRequirements
│ ├── CodeRequirements-1
│ ├── CodeResources
│ └── CodeSignature
├── en.lproj
│ └── Localizable.strings
└── zh-Hant.lproj
│ └── Localizable.strings
├── StraaSPlayerLowLatencyExtensionSDK.framework
├── Headers
│ ├── STSLowLatencyPlayer.h
│ └── StraaSPlayerLowLatencyExtensionSDK.h
├── Info.plist
├── Modules
│ └── module.modulemap
├── PrivacyInfo.xcprivacy
├── StraaSPlayerLowLatencyExtensionSDK
└── _CodeSignature
│ ├── CodeDirectory
│ ├── CodeRequirements
│ ├── CodeRequirements-1
│ ├── CodeResources
│ └── CodeSignature
├── StraaSPlayerSDK.framework
├── Assets.car
├── Headers
│ ├── STSCMSManager.h
│ ├── STSCategory.h
│ ├── STSGetLiveListConfiguration.h
│ ├── STSGetVideoListConfiguration.h
│ ├── STSLive.h
│ ├── STSLiveBroadcastState.h
│ ├── STSLiveEventListener.h
│ ├── STSLiveEventListenerState.h
│ ├── STSPagination.h
│ ├── STSPlayerDelegate.h
│ ├── STSPlayerErrorCode.h
│ ├── STSPlayerLiveEventDelegate.h
│ ├── STSPlayerPlayback.h
│ ├── STSPlayerPlaybackEventDelegate.h
│ ├── STSPlayerPlaylistEventDelegate.h
│ ├── STSPlaylist.h
│ ├── STSPlaylistItem.h
│ ├── STSSDKPlaybackStatus.h
│ ├── STSSDKPlayerControlView.h
│ ├── STSSDKPlayerView.h
│ ├── STSSDKStreamingTimelineView.h
│ ├── STSTag.h
│ ├── STSVideo.h
│ ├── STSVideoMetadata.h
│ ├── STSVideoScalingMode.h
│ ├── StraaSPlayerSDK-Swift.h
│ └── StraaSPlayerSDK.h
├── Info.plist
├── Modules
│ ├── StraaSPlayerSDK.swiftmodule
│ │ ├── arm64-apple-ios-simulator.swiftdoc
│ │ ├── arm64-apple-ios-simulator.swiftinterface
│ │ ├── arm64-apple-ios-simulator.swiftmodule
│ │ ├── arm64-apple-ios.swiftdoc
│ │ ├── arm64-apple-ios.swiftinterface
│ │ ├── arm64-apple-ios.swiftmodule
│ │ ├── x86_64-apple-ios-simulator.swiftdoc
│ │ ├── x86_64-apple-ios-simulator.swiftinterface
│ │ └── x86_64-apple-ios-simulator.swiftmodule
│ └── module.modulemap
├── PrivacyInfo.xcprivacy
├── Shader.vsh
├── StraaSPlayerSDK
├── _CodeSignature
│ ├── CodeDirectory
│ ├── CodeRequirements
│ ├── CodeRequirements-1
│ ├── CodeResources
│ └── CodeSignature
├── en.lproj
│ └── Localizable.strings
└── zh-Hant.lproj
│ └── Localizable.strings
└── StraaSStreamingSDK.framework
├── Headers
├── STSAudioConfiguration.h
├── STSLiveStreamer.h
├── STSSkinBeautifyFilter.h
├── STSStreamingConstants.h
├── STSStreamingErrorCode.h
├── STSStreamingInfo.h
├── STSStreamingLiveEventConfig.h
├── STSStreamingManager.h
├── STSStreamingPrepareConfig.h
├── STSStreamingProfile.h
├── STSStreamingResolution.h
├── STSStreamingState.h
├── STSStreamingStatsReport.h
├── STSVideoConfiguration.h
├── StraaSStreamingSDK-Swift.h
└── StraaSStreamingSDK.h
├── Info.plist
├── Localizable.strings
├── Modules
├── StraaSStreamingSDK.swiftmodule
│ ├── arm64-apple-ios-simulator.swiftdoc
│ ├── arm64-apple-ios-simulator.swiftinterface
│ ├── arm64-apple-ios-simulator.swiftmodule
│ ├── arm64-apple-ios.swiftdoc
│ ├── arm64-apple-ios.swiftinterface
│ ├── arm64-apple-ios.swiftmodule
│ ├── x86_64-apple-ios-simulator.swiftdoc
│ ├── x86_64-apple-ios-simulator.swiftinterface
│ └── x86_64-apple-ios-simulator.swiftmodule
└── module.modulemap
├── PrivacyInfo.xcprivacy
├── StraaSStreamingSDK
└── _CodeSignature
├── CodeDirectory
├── CodeRequirements
├── CodeRequirements-1
├── CodeResources
└── CodeSignature
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xcuserstate
23 |
24 | ## Obj-C/Swift specific
25 | *.hmap
26 | *.ipa
27 | *.dSYM.zip
28 | *.dSYM
29 |
30 | # CocoaPods
31 | #
32 | # We recommend against adding the Pods directory to your .gitignore. However
33 | # you should judge for yourself, the pros and cons are mentioned at:
34 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
35 | #
36 | Pods/
37 |
38 | # Carthage
39 | #
40 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
41 | # Carthage/Checkouts
42 |
43 | Carthage/Build
44 |
45 | # fastlane
46 | #
47 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
48 | # screenshots whenever they are needed.
49 | # For more information about the recommended setup visit:
50 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
51 |
52 | fastlane/report.xml
53 | fastlane/screenshots
54 |
55 | #Code Injection
56 | #
57 | # After new code Injection tools there's a generated folder /iOSInjectionProject
58 | # https://github.com/johnno1962/injectionforxcode
59 |
60 | iOSInjectionProject/
61 |
62 | # jazzy
63 |
64 | undocumented.json
65 |
--------------------------------------------------------------------------------
/.swift-version:
--------------------------------------------------------------------------------
1 | 4.0
2 |
--------------------------------------------------------------------------------
/Examples/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | platform :ios, '13.0'
3 |
4 | use_modular_headers!
5 | use_frameworks!
6 |
7 | target 'VideoChat' do
8 | pod 'SlackTextViewController'
9 | pod 'SDWebImage'
10 | pod 'TTTAttributedLabel'
11 | pod 'StraaS-iOS-SDK', :path=>'../'
12 | pod 'MBProgressHUD'
13 | pod 'IQKeyboardManager'
14 | pod 'Socket.IO-Client-Swift', '~> 15.1.0'
15 | pod 'IJKMediaFramework', '~> 0.1.2'
16 | pod 'YUGPUImageHighPassSkinSmoothing-Straas', '~> 1.6.0'
17 | end
18 |
19 | post_install do |installer|
20 | installer.pods_project.targets.each do |target|
21 | target.build_configurations.each do |config|
22 | config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
23 | end
24 | end
25 | end
--------------------------------------------------------------------------------
/Examples/VideoChat.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Examples/VideoChat.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Examples/VideoChat.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn-ic-history_g.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn-ic-history_g@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn-ic-history_g@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/btn-ic-history_g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/btn-ic-history_g.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/btn-ic-history_g@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/btn-ic-history_g@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/btn-ic-history_g@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_g.imageset/btn-ic-history_g@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn-ic-history_w.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn-ic-history_w@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn-ic-history_w@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/btn-ic-history_w.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/btn-ic-history_w.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/btn-ic-history_w@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/btn-ic-history_w@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/btn-ic-history_w@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-ic-history_w.imageset/btn-ic-history_w@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn-stickers.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn-stickers@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn-stickers@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/btn-stickers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/btn-stickers.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/btn-stickers@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/btn-stickers@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/btn-stickers@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn-stickers.imageset/btn-stickers@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_emoji.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_emoji@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn_emoji@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/btn_emoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/btn_emoji.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/btn_emoji@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/btn_emoji@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/btn_emoji@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_emoji.imageset/btn_emoji@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_ic_keyboard.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_ic_keyboard@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn_ic_keyboard@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/btn_ic_keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/btn_ic_keyboard.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/btn_ic_keyboard@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/btn_ic_keyboard@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/btn_ic_keyboard@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_ic_keyboard.imageset/btn_ic_keyboard@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "btn_msg.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "btn_msg@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "btn_msg@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/btn_msg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/btn_msg.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/btn_msg@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/btn_msg@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/btn_msg@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/btn_msg.imageset/btn_msg@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "emoji_XD.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "emoji_XD@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "emoji_XD@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/emoji_XD.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/emoji_XD.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/emoji_XD@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/emoji_XD@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/emoji_XD@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_XD.imageset/emoji_XD@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "emoji_heart.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "emoji_heart@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "emoji_heart@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/emoji_heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/emoji_heart.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/emoji_heart@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/emoji_heart@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/emoji_heart@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_heart.imageset/emoji_heart@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "emoji_like.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "emoji_like@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "emoji_like@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/emoji_like.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/emoji_like.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/emoji_like@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/emoji_like@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/emoji_like@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/emoji_like.imageset/emoji_like@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_arrow_downward_chatroom.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_arrow_downward_chatroom@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_arrow_downward_chatroom@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/ic_arrow_downward_chatroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/ic_arrow_downward_chatroom.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/ic_arrow_downward_chatroom@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/ic_arrow_downward_chatroom@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/ic_arrow_downward_chatroom@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_arrow_downward_chatroom.imageset/ic_arrow_downward_chatroom@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_host_chatroom.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_host_chatroom@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_host_chatroom@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/ic_host_chatroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/ic_host_chatroom.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/ic_host_chatroom@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/ic_host_chatroom@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/ic_host_chatroom@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_host_chatroom.imageset/ic_host_chatroom@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_moderator_chatroom.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_moderator_chatroom@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_moderator_chatroom@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/ic_moderator_chatroom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/ic_moderator_chatroom.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/ic_moderator_chatroom@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/ic_moderator_chatroom@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/ic_moderator_chatroom@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_moderator_chatroom.imageset/ic_moderator_chatroom@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "ic_pin_message.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "ic_pin_message@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "ic_pin_message@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/ic_pin_message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/ic_pin_message.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/ic_pin_message@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/ic_pin_message@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/ic_pin_message@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/ic_pin_message.imageset/ic_pin_message@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "img-guest-photo.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "img-guest-photo@x2.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "img-guest-photo@x3.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/img-guest-photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/img-guest-photo.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/img-guest-photo@x2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/img-guest-photo@x2.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/img-guest-photo@x3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img-guest-photo.imageset/img-guest-photo@x3.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_chatroom_background.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "img_chatroom_background@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "img_chatroom_background@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_chatroom_background.imageset/img_chatroom_background@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img_chatroom_background.imageset/img_chatroom_background@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_chatroom_background.imageset/img_chatroom_background@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img_chatroom_background.imageset/img_chatroom_background@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "img_sticker_default.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "img_sticker_default@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "img_sticker_default@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/img_sticker_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/img_sticker_default.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/img_sticker_default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/img_sticker_default@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/img_sticker_default@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/ChatRoom/Assets.xcassets/img_sticker_default.imageset/img_sticker_default@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/ChatExampleViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ChatExampleViewController.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 09/01/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "ChatViewController.h"
10 |
11 | @class STSChatManager;
12 |
13 | @interface ChatExampleViewController : ChatViewController
14 |
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/ChatStickerDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // ChatStickerDelegate.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 04/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @protocol ChatStickerDelegate
12 |
13 | - (void)chatStickerDidLoad:(NSArray *)stickers;
14 | - (void)showStickerView:(BOOL)animated;
15 | - (void)dismissStickerView:(BOOL)animated;
16 | - (BOOL)isStickerViewShowing;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/ChatStickerExampleViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ChatStickerExampleViewController.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 05/01/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "ChatStickerViewController.h"
10 |
11 | @class STSChatManager;
12 | @class ChatViewController;
13 |
14 | @interface ChatStickerExampleViewController : ChatStickerViewController
15 |
16 | + (instancetype)viewControllerWithChatViewController:(ChatViewController *)chatViewController;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/ECommerceChatViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ECommerceChatViewController.h
3 | // VideoChat
4 | //
5 | // Created by Harry on 25/05/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "TransparentChatViewController.h"
12 |
13 | extern CGFloat const kEcommerceChatVCfloatingDistrictWidth;
14 |
15 | @interface ECommerceChatViewController : UIViewController
16 |
17 | - (void)connectToChatWithJWT:(NSString *)JWT chatroomName:(NSString *)chatroomName;
18 |
19 | @property (nonatomic, readonly) TransparentChatViewController *chatVC;
20 | @property (nonatomic, readonly) UIView * toolbarView;
21 | @property (nonatomic, readonly) UIButton * showKeyboardButton;
22 | @property (nonatomic, readonly) UIButton * likeButton;
23 | @property (nonatomic, readonly) UILabel * likeCountLabel;
24 | @property (nonatomic, readonly) UIView * floatingDistrictView;
25 | @property (nonatomic) UIView * backgroundView;
26 |
27 | - (void)chatroomConnected:(STSChat *)chatroom NS_REQUIRES_SUPER;
28 | - (void)chatroomInputModeChanged:(STSChat *)chatroom NS_REQUIRES_SUPER;
29 | - (void)chatroom:(STSChat *)chatroom usersUpdated:(NSArray *)users NS_REQUIRES_SUPER;
30 | - (void)chatroom:(STSChat *)chatroom messageAdded:(STSChatMessage *)message NS_REQUIRES_SUPER;
31 | - (void)chatroom:(STSChat *)chatroom messageRemoved:(NSString *)messageId NS_REQUIRES_SUPER;
32 | - (void)chatroomMessageFlushed:(STSChat *)chatroom NS_REQUIRES_SUPER;
33 | - (void)chatroomDisconnected:(STSChat *)chatroom NS_REQUIRES_SUPER;
34 | - (void)chatroom:(STSChat *)chatroom failToConnect:(NSError *)error NS_REQUIRES_SUPER;
35 | - (void)chatroom:(STSChat *)chatroom aggregatedItemsAdded:(NSArray *)aggregatedItems NS_REQUIRES_SUPER;
36 | - (void)chatroom:(STSChat *)chatroom pinnedMessageUpdated:(STSChatMessage *)pinnedMessage NS_REQUIRES_SUPER;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/IconLabel.h:
--------------------------------------------------------------------------------
1 | //
2 | // IconLabel.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/2/16.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface IconLabel : UILabel
12 |
13 | //This method will set the default verticalOffset which is 0. If you need to custom vertical offset use `setIconImage:verticalOffset` instead.
14 | - (void)setIconImage:(UIImage *)image;
15 | - (void)setIconImage:(UIImage *)image verticalOffset:(CGFloat)verticalOffset;
16 |
17 | //Note: This method will override the attributedText in IconLabel, it may cause Icon Image disappear.
18 | //If you want to show IconImage with your custom attributedText, call setIconImage after calling this method.
19 | - (void)setAttributedText:(NSAttributedString *)attributedText;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/IconLabel.m:
--------------------------------------------------------------------------------
1 | //
2 | // IconLabel.m
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/2/16.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "IconLabel.h"
10 | #import
11 |
12 | @interface IconLabel()
13 | @property (nonatomic, nullable) NSTextAttachment * attachment;
14 | @property (nonatomic) CGFloat verticalOffset;
15 | @end
16 |
17 | @implementation IconLabel
18 |
19 | - (void)setIconImage:(UIImage *)image {
20 | [self setIconImage:image verticalOffset:0.0];
21 | }
22 |
23 | - (void)setIconImage:(UIImage *)image verticalOffset:(CGFloat)verticalOffset {
24 | if (!image) {
25 | self.attachment = nil;
26 | return;
27 | }
28 | _verticalOffset = verticalOffset;
29 | NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
30 | attachment.image = image;
31 | self.attachment = attachment;
32 | }
33 |
34 | - (void)setAttachment:(NSTextAttachment *)attachment {
35 | if ([_attachment isEqual:attachment]) {
36 | return;
37 | }
38 | _attachment = attachment;
39 | if (self.attributedText && self.attributedText.length > 0) {
40 | NSMutableAttributedString * attributedText = [self.attributedText mutableCopy];
41 | [attributedText removeAttribute:NSAttachmentAttributeName range:NSMakeRange(0, 1)];
42 | if (attachment) {
43 | NSMutableAttributedString * tempAttributedText =
44 | [[NSAttributedString attributedStringWithAttachment:attachment] mutableCopy];
45 | if (self.verticalOffset) {
46 | [tempAttributedText addAttribute:NSBaselineOffsetAttributeName value:@(self.verticalOffset) range:NSMakeRange(0,1)];
47 | }
48 | [tempAttributedText appendAttributedString:[[NSAttributedString alloc] initWithString:@" "]];
49 | [attributedText insertAttributedString:tempAttributedText atIndex:0];
50 | } else if (attributedText.mutableString.length > 0) {
51 | [attributedText.mutableString replaceOccurrencesOfString:@" " withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, 1)];
52 | }
53 | self.attributedText = attributedText;
54 | [self sizeToFit];
55 | return;
56 | }
57 | [self setText:self.text];
58 | }
59 |
60 | - (void)setText:(NSString *)text {
61 | if (!self.attachment || [text length] == 0) {
62 | self.attributedText = nil;
63 | [super setText:text];
64 | return;
65 | }
66 | NSMutableAttributedString * attributedText =
67 | [[NSAttributedString attributedStringWithAttachment:self.attachment] mutableCopy];
68 | if (self.verticalOffset) {
69 | [attributedText addAttribute:NSBaselineOffsetAttributeName value:@(self.verticalOffset) range:NSMakeRange(0,1)];
70 | }
71 | NSString * textToAppend = [NSString stringWithFormat:@" %@", text];
72 | [attributedText appendAttributedString:[[NSAttributedString alloc] initWithString:textToAppend]];
73 | self.attributedText = attributedText;
74 | [self sizeToFit];
75 | }
76 |
77 | - (void)setAttributedText:(NSAttributedString *)attributedText {
78 | [super setAttributedText:attributedText];
79 | }
80 |
81 | @end
82 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/MessageTableViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // MessageTableViewCell.h
3 | // Messenger
4 | //
5 | // Created by Ignacio Romero Zurbuchen on 9/1/14.
6 | // Copyright (c) 2014 Slack Technologies, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "IconLabel.h"
11 | #import
12 |
13 | static NSString *const MessengerCellIdentifier = @"MessengerCell";
14 | static NSString *const StickerCellIdentifier = @"StickerCell";
15 | static NSString *const AutoCompletionCellIdentifier = @"AutoCompletionCell";
16 |
17 | @interface MessageTableViewCell : UITableViewCell
18 |
19 | @property (nonatomic, strong) IconLabel *titleLabel;
20 | @property (nonatomic, strong) UILabel *sideLabel;
21 | @property (nonatomic, strong) TTTAttributedLabel *bodyLabel;
22 | @property (nonatomic, strong) UIImageView *thumbnailView;
23 | @property (nonatomic, strong) UIImageView * stickerImageView;
24 | @property (nonatomic, strong) UIView *separatorLineView;
25 |
26 | @property (nonatomic, strong) NSIndexPath *indexPath;
27 |
28 | @property (nonatomic) BOOL usedForMessage;
29 |
30 | + (CGFloat)defaultFontSize;
31 | + (CGFloat)estimateBodyLabelHeightWithText:(NSString *)text widthToFit:(CGFloat)width;
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/MessageTextView.h:
--------------------------------------------------------------------------------
1 | //
2 | // MessageTextView.h
3 | // Messenger
4 | //
5 | // Created by Ignacio Romero Z. on 1/20/15.
6 | // Copyright (c) 2015 Slack Technologies, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface MessageTextView : SLKTextView
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/MessageTextView.m:
--------------------------------------------------------------------------------
1 | //
2 | // MessageTextView.m
3 | // Messenger
4 | //
5 | // Created by Ignacio Romero Z. on 1/20/15.
6 | // Copyright (c) 2015 Slack Technologies, Inc. All rights reserved.
7 | //
8 |
9 | #import "MessageTextView.h"
10 |
11 | @implementation MessageTextView
12 |
13 | - (instancetype)init
14 | {
15 | if (self = [super init]) {
16 | // Do something
17 | }
18 | return self;
19 | }
20 |
21 | - (void)willMoveToSuperview:(UIView *)newSuperview
22 | {
23 | [super willMoveToSuperview:newSuperview];
24 |
25 | self.backgroundColor = [UIColor whiteColor];
26 |
27 | self.placeholder = NSLocalizedString(@"Message", nil);
28 | self.placeholderColor = [UIColor lightGrayColor];
29 | self.pastableMediaTypes = SLKPastableMediaTypeAll;
30 |
31 | self.layer.borderColor = [UIColor colorWithRed:217.0/255.0 green:217.0/255.0 blue:217.0/255.0 alpha:1.0].CGColor;
32 | }
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/NSFileManager+Sticker.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSFileManager+Sticker.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 09/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSFileManager (Sticker)
12 |
13 | + (NSArray *)getRecentlyUsedStickerItems;
14 | + (void)addRecentlyUsedStickerItem:(NSDictionary *)stickerItem;
15 | + (void)clearRecentlyUsedStickerItems;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/NSFileManager+Sticker.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSFileManager+Sticker.m
3 | // VideoChat
4 | //
5 | // Created by Lee on 09/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "NSFileManager+Sticker.h"
10 |
11 | NSString * const recentlyUsedStickerPathKey = @"recentlyUsedSticker.txt";
12 | NSUInteger const maxRecentlyUsedStickerCount = 20;
13 |
14 | @implementation NSFileManager (Sticker)
15 | + (NSArray *)getRecentlyUsedStickerItems {
16 | NSString * path = [self pathWithPathkey:recentlyUsedStickerPathKey];
17 | if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
18 | NSArray * recentlyUsedSticker = [NSArray arrayWithContentsOfFile:path];
19 | return recentlyUsedSticker;
20 | }
21 | return nil;
22 | }
23 |
24 | + (void)addRecentlyUsedStickerItem:(NSDictionary *)stickerItem {
25 | NSString * path = [self pathWithPathkey:recentlyUsedStickerPathKey];
26 | NSMutableArray * usedStickerItems = [NSMutableArray arrayWithContentsOfFile:path];
27 | if (!usedStickerItems) {
28 | [@[stickerItem] writeToFile:path atomically:YES];
29 | return;
30 | }
31 | if ([usedStickerItems containsObject:stickerItem]) {
32 | [usedStickerItems removeObject:stickerItem];
33 | }
34 | [usedStickerItems insertObject:stickerItem atIndex:0];
35 | if (usedStickerItems.count > maxRecentlyUsedStickerCount) {
36 | [usedStickerItems removeLastObject];
37 | }
38 | [usedStickerItems writeToFile:path atomically:YES];
39 | }
40 |
41 | + (void)clearRecentlyUsedStickerItems {
42 | NSString * path = [self pathWithPathkey:recentlyUsedStickerPathKey];
43 | [[NSFileManager defaultManager] removeItemAtPath:path error:NULL];
44 | }
45 |
46 | + (NSString *)pathWithPathkey:(NSString *)pathKey {
47 | NSString * path;
48 | NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
49 | path = [[paths objectAtIndex:0] stringByAppendingPathComponent:pathKey];
50 | return path;
51 | }
52 | @end
53 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/NSTimer+SafeTimer.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSTimer+SafeTimer.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 18/03/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSTimer (SafeTimer)
12 | + (NSTimer*)safeScheduledTimerWithTimeInterval:(NSTimeInterval)interval
13 | block:(void(^)(void))block
14 | repeats:(BOOL)repeats;
15 | @end
16 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/NSTimer+SafeTimer.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSTimer+SafeTimer.m
3 | // VideoChat
4 | //
5 | // Created by Lee on 18/03/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "NSTimer+SafeTimer.h"
10 |
11 | @implementation NSTimer (SafeTimer)
12 | + (NSTimer*)safeScheduledTimerWithTimeInterval:(NSTimeInterval)interval
13 | block:(void(^)(void))block
14 | repeats:(BOOL)repeats {
15 | return [self scheduledTimerWithTimeInterval:interval
16 | target:self
17 | selector:@selector(safeBlockInvoke:)
18 | userInfo:[block copy]
19 | repeats:repeats];
20 | }
21 |
22 | + (void)safeBlockInvoke:(NSTimer *)timer {
23 | void (^block)(void) = timer.userInfo;
24 | if (block) {
25 | block();
26 | }
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSChatMessage+VideoChatUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatMessage+VideoChatUtility.h
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/30/16.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface STSChatMessage (VideoChatUtility)
12 |
13 | - (NSString *)shortCreatedDate;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSChatMessage+VideoChatUtility.m:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatMessage+VideoChatUtility.m
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/30/16.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "STSChatMessage+VideoChatUtility.h"
10 |
11 | @implementation STSChatMessage (VideoChatUtility)
12 |
13 | - (NSString *)shortCreatedDate {
14 | NSDateFormatter * formatter = [NSDateFormatter new];
15 | formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSZ";
16 | NSDate * date = [formatter dateFromString:self.createdDate];
17 | formatter.dateFormat = @"HH:mm";
18 | return [formatter stringFromDate:date];
19 | }
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSChatUser+VieoChatUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatUser+VieoChatUtility.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 11/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface STSChatUser (VieoChatUtility)
12 |
13 | - (BOOL)canChatInAnchorMode;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSChatUser+VieoChatUtility.m:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatUser+VieoChatUtility.m
3 | // VideoChat
4 | //
5 | // Created by Lee on 11/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "STSChatUser+VieoChatUtility.h"
10 |
11 | @implementation STSChatUser (VieoChatUtility)
12 |
13 | - (BOOL)canChatInAnchorMode {
14 | return ([self.role isEqualToString:kSTSUserRoleMaster] ||
15 | [self.role isEqualToString:kSTSUserRoleLocalManager] ||
16 | [self.role isEqualToString:kSTSUserRoleModerator]);
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSMessageLongPressGestureRecognizer.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSMessageLongPressGestureRecognizer.h
3 | // VideoChat
4 | //
5 | // Created by shihwen.wang on 2017/6/21.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface STSMessageLongPressGestureRecognizer : UILongPressGestureRecognizer
13 |
14 | @property (nonatomic, nullable) STSChatMessage * message;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSMessageLongPressGestureRecognizer.m:
--------------------------------------------------------------------------------
1 | //
2 | // STSMessageLongPressGestureRecognizer.m
3 | // VideoChat
4 | //
5 | // Created by shihwen.wang on 2017/6/21.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "STSMessageLongPressGestureRecognizer.h"
10 |
11 | @implementation STSMessageLongPressGestureRecognizer
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSPinnedMessageView.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPinnedMessageView.h
3 | // VideoChat
4 | //
5 | // Created by shihwen.wang on 2017/6/21.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "IconLabel.h"
11 | #import
12 |
13 | NS_ASSUME_NONNULL_BEGIN
14 |
15 | @interface STSPinnedMessageView : UIView
16 |
17 | @property (nonatomic, strong, readonly) IconLabel * titleLabel;
18 | @property (nonatomic, strong, readonly) TTTAttributedLabel * bodyLabel;
19 | @property (nonatomic, strong, readonly) UIImageView * avatarView;
20 | @property (nonatomic, strong, readonly) UIButton * pinButton;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/STSSegmentedControl.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSSegmentedControl.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 07/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | @class STSSegmentedControl;
11 |
12 | @protocol STSSegmentedControlDelegate
13 | - (void)segmentedControl:(STSSegmentedControl *)segmentedControl didSelectSegmentIndex:(NSUInteger)index;
14 | @end
15 |
16 | @interface STSSegmentedControl : UIControl
17 |
18 | @property (weak ,nonatomic) id delegate;
19 | @property (nonatomic) NSArray * items;
20 | @property (nonatomic) NSUInteger selectedSegmentIndex;
21 | @property (nonatomic, readwrite) CGFloat itemHeight;
22 | @property (nonatomic, readwrite) CGFloat itemWidth;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/StickerInputViewDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // StickerInputViewDelegate.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 04/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | The delegate of a NSObject must adopt the StickerInputViewDelegate protocol.
13 | */
14 | @protocol StickerInputViewDelegate
15 |
16 | /**
17 | Tells the delegate that a sticker key did be selected.
18 |
19 | @param key The sticker key name.
20 | @param imageURL The sticker image URL.
21 | */
22 | - (void)didSelectStickerKey:(NSString *)key
23 | imageURL:(NSString *)imageURL;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/StickersInputView.h:
--------------------------------------------------------------------------------
1 | //
2 | // StickersInputView.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 02/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "STSSegmentedControl.h"
11 | #import
12 | #import "StickerInputViewDelegate.h"
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | extern NSString * const kStickersInputView;
17 | static CGFloat const kStickerSegmentWidth = 55.0;
18 | static CGFloat const kStickerSegmentHeight = 35.0;
19 | static CGFloat const kStickerItemScrollViewHeight = 180.0;
20 |
21 | static CGFloat const stickerItemSideLength = 62.0;
22 | static CGFloat const viewStickerPadding = 10.0;
23 | static CGFloat const minPaddingBetweenStickerItems = 10;
24 |
25 |
26 | @interface StickersInputView : UIView
27 | @property (weak, nonatomic) id delegate;
28 | @property (weak, nonatomic) IBOutlet UIScrollView *stickerGroupScrollView;
29 | @property (weak, nonatomic) IBOutlet UIScrollView *stickerItemScrollview;
30 | @property (nonatomic) CGFloat stickerInputViewHeight;
31 | @property (nonatomic) STSSegmentedControl * segmentedControl;
32 | - (void)setStickers:(NSArray *)stickers;
33 |
34 | @end
35 |
36 | NS_ASSUME_NONNULL_END
37 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/TransparentChatViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TransparentChatViewController.h
3 | // VideoChat
4 | //
5 | // Created by Harry on 25/05/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ChatViewController.h"
11 |
12 | static NSString *TransparentMessengerCellIdentifier = @"TransparentMessengerCell";
13 |
14 | @interface TransparentChatViewController : ChatViewController
15 |
16 | + (CGFloat)cellLeftPadding;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/TransparentMessageTableViewCell.h:
--------------------------------------------------------------------------------
1 | //
2 | // TransparentMessageTableViewCell.h
3 | // VideoChat
4 | //
5 | // Created by Harry on 25/05/2017.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import
12 |
13 | extern CGFloat const kTransparentCellLabelPaddingLeft;
14 | extern CGFloat const kTransparentCellLabelPaddingRight;
15 | extern CGFloat const kTransparentCellLabelPaddingTop;
16 | extern CGFloat const kTransparentCellLabelPaddingBottom;
17 |
18 | extern CGFloat const kTransparentCellBackgroundMaskHorizontalPadding;
19 | extern CGFloat const kTransparentCellBackgroundMaskVerticalPadding;
20 |
21 | @interface TransparentMessageTableViewCell : UITableViewCell
22 |
23 | + (CGFloat)estimateCellHeightWithMessage:(STSChatMessage *)message widthToFit:(CGFloat)width;
24 |
25 | - (void)setMessage:(STSChatMessage *)message;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/TypingIndicatorView.h:
--------------------------------------------------------------------------------
1 | //
2 | // TypingIndicatorView.h
3 | // Messenger
4 | //
5 | // Created by Ignacio Romero Z. on 6/27/15.
6 | // Copyright (c) 2015 Slack Technologies, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | static CGFloat kTypingIndicatorViewMinimumHeight = 80.0;
13 | static CGFloat kTypingIndicatorViewAvatarHeight = 30.0;
14 |
15 | @interface TypingIndicatorView : UIView
16 |
17 | - (void)presentIndicatorWithName:(NSString *)name image:(UIImage *)image;
18 | - (void)dismissIndicator;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/UIAlertController+VideoChatUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIAlertController+VideoChatUtility.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 9/8/16.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIAlertController (VideoChatUtility)
12 |
13 | + (UIAlertController *)nicknameAlertControllerWithCurrentNickname:(NSString *)nickname
14 | cancelActionHandler:(void (^)(UIAlertAction *))cancelActionHandler
15 | confirmActionHandler:(void (^)(UIAlertAction *, NSString *))confirmActionHandler;
16 |
17 | + (UIAlertController *)alertControllerWithTitle:(NSString *)title
18 | message:(NSString *)message
19 | confirmActionHandler:(void (^)(UIAlertAction *))confirmActionHandler;
20 |
21 | + (UIAlertController *)messageAlertControllerWithTitle:(NSString *)title
22 | message:(NSString *)message
23 | pinActionHandler:(void (^)(UIAlertAction *))pinActionHandler
24 | deleteActionHandler:(void (^)(UIAlertAction *))deleteActionHandler
25 | unpinActionHandler:(void (^)(UIAlertAction *))pinActionHandler
26 | cancelActionHandler:(void (^)(UIAlertAction *))cancelActionHandler;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/UIImage+sticker.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+sticker.h
3 | // VideoChat
4 | //
5 | // Created by Lee on 03/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | static CGFloat const stickerMainImageSideLength = 30.0;
11 |
12 | @interface UIImage (sticker)
13 |
14 | + (instancetype)desaturatedImage:(UIImage *)image;
15 | + (instancetype)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/UIImage+sticker.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+sticker.m
3 | // VideoChat
4 | //
5 | // Created by Lee on 03/11/2016.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "UIImage+sticker.h"
10 | #import
11 |
12 | @implementation UIImage (sticker)
13 |
14 | + (instancetype)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
15 | UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
16 | [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
17 | UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
18 | UIGraphicsEndImageContext();
19 | return newImage;
20 | }
21 |
22 | + (instancetype)desaturatedImage:(UIImage *)image {
23 | CIImage * inputImage = [CIImage imageWithCGImage:image.CGImage];
24 | CIFilter * filter = [CIFilter filterWithName:@"CIColorControls"
25 | withInputParameters:@{@"inputImage": inputImage,
26 | @"inputSaturation": @0}];
27 | CIImage * outputImage = [filter valueForKey:@"outputImage"];
28 | return [UIImage imageWithCIImage:outputImage scale:image.scale orientation:image.imageOrientation];
29 | }
30 |
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/UIViewController+VideoChatUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+VideoChatUtility.h
3 | // VideoChat
4 | //
5 | // Created by shihwen.wang on 2017/6/23.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @interface UIViewController(VideoChatUtility)
15 | - (void)showMessage:(NSString *)message dismissAfter:(NSTimeInterval)delay;
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/UIViewController+VideoChatUtility.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+VideoChatUtility.m
3 | // VideoChat
4 | //
5 | // Created by shihwen.wang on 2017/6/23.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "UIViewController+VideoChatUtility.h"
10 | #import
11 |
12 | @implementation UIViewController(VideoChatUtility)
13 |
14 | - (void)showMessage:(NSString *)message dismissAfter:(NSTimeInterval)delay
15 | {
16 | if (!self.view || ([message length] == 0)) {
17 | return;
18 | }
19 | TTTAttributedLabel * label = [self labelWithText:message];
20 | label.alpha = 0;
21 | [self.view addSubview:label];
22 | NSDictionary * views = @{@"label": label};
23 | NSString * visualFormat = @"H:|-(>=20)-[label]-(>=20)-|";
24 | NSArray * constraints =
25 | [NSLayoutConstraint constraintsWithVisualFormat:visualFormat options:0 metrics:nil views:views];
26 | [NSLayoutConstraint activateConstraints:constraints];
27 |
28 | visualFormat = @"V:|-(>=30)-[label]-(30)-|";
29 | constraints =
30 | [NSLayoutConstraint constraintsWithVisualFormat:visualFormat options:0 metrics:nil views:views];
31 | [NSLayoutConstraint activateConstraints:constraints];
32 |
33 | NSLayoutConstraint * constraint =
34 | [NSLayoutConstraint constraintWithItem:label
35 | attribute:NSLayoutAttributeCenterX
36 | relatedBy:NSLayoutRelationEqual
37 | toItem:self.view
38 | attribute:NSLayoutAttributeCenterX
39 | multiplier:1
40 | constant:0];
41 | [NSLayoutConstraint activateConstraints:@[constraint]];
42 | [UIView animateWithDuration:0.3 animations:^{
43 | label.alpha = 1;
44 | }];
45 | dispatch_time_t time = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC));
46 | dispatch_after(time, dispatch_get_main_queue(), ^{
47 | [label removeFromSuperview];
48 | });
49 | }
50 |
51 | - (TTTAttributedLabel *)labelWithText:(NSString *)text {
52 | TTTAttributedLabel * label = [[TTTAttributedLabel alloc] initWithFrame:CGRectZero];
53 | label.translatesAutoresizingMaskIntoConstraints = NO;
54 | label.textInsets = UIEdgeInsetsMake(12, 12, 12, 12);
55 | label.numberOfLines = 0;
56 | label.font = [UIFont boldSystemFontOfSize:16];
57 | label.backgroundColor = [UIColor colorWithWhite:0 alpha:0.8];
58 | label.textColor = [UIColor whiteColor];
59 | label.text = text;
60 | label.textAlignment = NSTextAlignmentCenter;
61 | label.layer.cornerRadius = 10;
62 | label.layer.masksToBounds = YES;
63 | return label;
64 | }
65 |
66 | @end
67 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | VideoChat
4 |
5 | Created by Lee on 27/03/2017.
6 | Copyright © 2020 StraaS.io. All rights reserved.
7 | */
8 |
9 |
10 | "encourage_to_chat" = "say something, let anchor know you're here!";
11 |
12 | "enter_nickname" = "Please Enter a Nickname";
13 |
14 | "jump_to_lastest_message" = "Jump to latest";
15 |
16 | "plz_signin" = "Please sign in to chat";
17 |
18 | "Send" = "Send";
19 |
20 | "input_hint" = "Type a message...";
21 |
22 | "update_nickname_fail" = "Failed to set nickname.";
23 |
24 | "user_join_welcome" = "%@ is coming!";
25 |
26 | "cancel" = "Cancel";
27 |
28 | "deleate_message" = "Delete Message";
29 |
30 | "operation_failed_message" = "Operation failed, please try again.";
31 |
32 | "pin_message_to_top" = "Pin to Top";
33 |
34 | "unping_message" = "Unpin from Top";
35 |
--------------------------------------------------------------------------------
/Examples/VideoChat/ChatRoom/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | VideoChat
4 |
5 | Created by Lee on 27/03/2017.
6 | Copyright © 2020 StraaS.io. All rights reserved.
7 | */
8 |
9 | "encourage_to_chat" = "跟主播說些話,讓他/她知道你來了";
10 |
11 | "enter_nickname" = "請輸入訪客名稱";
12 |
13 | "jump_to_lastest_message" = "跳至新訊息";
14 |
15 | "plz_signin" = "需登入後才可發言";
16 |
17 | "Send" = "送出";
18 |
19 | "input_hint" = "輸入訊息...";
20 |
21 | "update_nickname_fail" = "輸入名稱失敗";
22 |
23 | "user_join_welcome" = "%@ 來了!";
24 |
25 | "cancel" = "取消";
26 |
27 | "deleate_message" = "刪除留言";
28 |
29 | "operation_failed_message" = "操作失敗,請重試";
30 |
31 | "pin_message_to_top" = "留言置頂";
32 |
33 | "unping_message" = "取消置頂";
34 |
--------------------------------------------------------------------------------
/Examples/VideoChat/FloatingImageView.h:
--------------------------------------------------------------------------------
1 | //
2 | // FloatingImageView.h
3 | // VideoChat
4 | //
5 | // This class is modified by referring https://github.com/saidmarouf/FloatingHearts
6 | //
7 | // Created by Lee on 25/05/2017.
8 | // Copyright © 2020 StraaS.io. All rights reserved.
9 | //
10 |
11 | #import
12 |
13 | @interface FloatingImageView : UIImageView
14 |
15 | //This method will automatically add FloatingImageView to view and remove from view when animation finished.
16 | - (void)animateInView:(UIView *)view;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Examples/VideoChat/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 | $(MARKETING_VERSION)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | NSCameraUsageDescription
26 |
27 | NSLocationAlwaysAndWhenInUseUsageDescription
28 | You could permit the location access for usage analysis.
29 | NSLocationWhenInUseUsageDescription
30 | You could permit the location access for usage analysis.
31 | NSMicrophoneUsageDescription
32 |
33 | NSPhotoLibraryAddUsageDescription
34 | 「StraaS」想要將截圖存入您的相簿
35 | NSPhotoLibraryUsageDescription
36 | 「StraaS」想要將截圖存入您的相簿
37 | STSSDKClientID
38 | $(STRAAS_CMS_CLIENT_IDENTIFIER)
39 | UIBackgroundModes
40 |
41 | audio
42 |
43 | UILaunchStoryboardName
44 | LaunchScreen
45 | UIMainStoryboardFile
46 | Main
47 | UIRequiredDeviceCapabilities
48 |
49 | UIStatusBarTintParameters
50 |
51 | UINavigationBar
52 |
53 | Style
54 | UIBarStyleDefault
55 | Translucent
56 |
57 |
58 |
59 | UISupportedInterfaceOrientations
60 |
61 | UIInterfaceOrientationPortrait
62 |
63 | UISupportedInterfaceOrientations~ipad
64 |
65 | UIInterfaceOrientationPortrait
66 | UIInterfaceOrientationPortraitUpsideDown
67 | UIInterfaceOrientationLandscapeLeft
68 | UIInterfaceOrientationLandscapeRight
69 |
70 | UIUserInterfaceStyle
71 | Light
72 |
73 |
74 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Player/STSPlayerViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlayerViewController.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/21/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface STSPlayerViewController : UIViewController
12 |
13 | + (instancetype)viewControllerFromStoryboard;
14 | @property (nonatomic) NSString * JWT;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Player/UIViewController+STSKeyboard.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+STSKeyboard.h
3 | // StraaS
4 | //
5 | // Created by Jerome Lee on 13/6/16.
6 | // Copyright (c) 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIViewController (STSKeyboard)
12 |
13 | - (void)registerForKeyboardNotifications;
14 | - (void)unregisterForKeyboardNotifications;
15 | - (void)sts_keyboardWillBeShown:(NSNotification*)notification;
16 | - (void)sts_keyboardWillBeHidden:(NSNotification*)notification;
17 | - (void)updateLayoutWithKeyboard:(BOOL)keyboard notification:(NSNotification *)notification;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Player/UIViewController+STSKeyboard.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+STSKeyboard.m
3 | // StraaS
4 | //
5 | // Created by Jerome Lee on 13/6/16.
6 | // Copyright (c) 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "UIViewController+STSKeyboard.h"
10 |
11 | @implementation UIViewController (STSKeyboard)
12 |
13 | - (void)registerForKeyboardNotifications
14 | {
15 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sts_keyboardWillBeShown:) name:UIKeyboardWillShowNotification object:nil];
16 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sts_keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil];
17 | }
18 |
19 | - (void)unregisterForKeyboardNotifications {
20 | [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
21 | [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
22 | }
23 |
24 | - (void)sts_keyboardWillBeShown:(NSNotification*)notification
25 | {
26 | [self updateLayoutWithKeyboard:YES notification:notification];
27 | }
28 |
29 | - (void)sts_keyboardWillBeHidden:(NSNotification*)notification
30 | {
31 | [self updateLayoutWithKeyboard:NO notification:notification];
32 | }
33 |
34 | - (void)updateLayoutWithKeyboard:(BOOL)keyboard notification:(NSNotification *)notification
35 | {
36 | NSAssert(NO, @"Please override this method");
37 | }
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Examples/VideoChat/STSStreamingViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingViewController.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/10/28.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef NS_ENUM(NSUInteger, STSStreamWay) {
12 | STSStreamWayLiveEvent = 0,
13 | STSStreamWayStreamKey = 1,
14 | };
15 |
16 | @interface STSStreamingViewController : UIViewController
17 |
18 | + (instancetype)viewControllerFromStoryboard;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/26/16.
6 | // Copyright © 2020 StraaS.io. 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 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/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 | "size" : "29x29",
15 | "idiom" : "iphone",
16 | "filename" : "Icon-Small@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "size" : "29x29",
21 | "idiom" : "iphone",
22 | "filename" : "Icon-Small@3x.png",
23 | "scale" : "3x"
24 | },
25 | {
26 | "size" : "40x40",
27 | "idiom" : "iphone",
28 | "filename" : "Icon-Small-40@2x.png",
29 | "scale" : "2x"
30 | },
31 | {
32 | "size" : "40x40",
33 | "idiom" : "iphone",
34 | "filename" : "Icon-Small-40@3x.png",
35 | "scale" : "3x"
36 | },
37 | {
38 | "size" : "60x60",
39 | "idiom" : "iphone",
40 | "filename" : "Icon-60@2x.png",
41 | "scale" : "2x"
42 | },
43 | {
44 | "size" : "60x60",
45 | "idiom" : "iphone",
46 | "filename" : "Icon-60@3x.png",
47 | "scale" : "3x"
48 | },
49 | {
50 | "idiom" : "ipad",
51 | "size" : "20x20",
52 | "scale" : "1x"
53 | },
54 | {
55 | "idiom" : "ipad",
56 | "size" : "20x20",
57 | "scale" : "2x"
58 | },
59 | {
60 | "idiom" : "ipad",
61 | "size" : "29x29",
62 | "scale" : "1x"
63 | },
64 | {
65 | "idiom" : "ipad",
66 | "size" : "29x29",
67 | "scale" : "2x"
68 | },
69 | {
70 | "idiom" : "ipad",
71 | "size" : "40x40",
72 | "scale" : "1x"
73 | },
74 | {
75 | "idiom" : "ipad",
76 | "size" : "40x40",
77 | "scale" : "2x"
78 | },
79 | {
80 | "idiom" : "ipad",
81 | "size" : "76x76",
82 | "scale" : "1x"
83 | },
84 | {
85 | "idiom" : "ipad",
86 | "size" : "76x76",
87 | "scale" : "2x"
88 | },
89 | {
90 | "idiom" : "ipad",
91 | "size" : "83.5x83.5",
92 | "scale" : "2x"
93 | },
94 | {
95 | "idiom" : "ios-marketing",
96 | "size" : "1024x1024",
97 | "scale" : "1x"
98 | }
99 | ],
100 | "info" : {
101 | "version" : 1,
102 | "author" : "xcode"
103 | }
104 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small-40@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "camera.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "camera@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "camera@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/camera.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/camera.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/camera@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/camera@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/camera@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/camera.imageset/camera@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "nav-icon-close_n.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "nav-icon-close_n@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "nav-icon-close_n@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/nav-icon-close_n.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/nav-icon-close_n.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/nav-icon-close_n@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/nav-icon-close_n@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/nav-icon-close_n@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/nav-icon-close_n.imageset/nav-icon-close_n@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "scan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "scan@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "scan@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/scan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/scan.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/scan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/scan@2x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/scan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/Examples/VideoChat/Shared/Assets.xcassets/scan.imageset/scan@3x.png
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/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 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/DetailViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DetailViewController.h
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/26/16.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | extern NSString * const STSPlayerServiceBasicPlayerViewKeyword;
12 | extern NSString * const STSMessagingServiceKeyword;
13 | extern NSString * const STSMessagingServiceCustomUIKeyword;
14 | extern NSString * const STSMessagingServiceECommerceUIKeyword;
15 | extern NSString * const STSStreamingServiceKeyword;
16 | extern NSString * const STSStreamingFiltersServiceKeyword;
17 |
18 | @interface DetailViewController : UIViewController
19 |
20 | @property (strong, nonatomic) id detailItem;
21 | @property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel;
22 | @property (nonatomic, readonly) UIViewController * contentViewController;
23 | @end
24 |
25 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/File.swift:
--------------------------------------------------------------------------------
1 | //
2 | // File.swift
3 | // VideoChat
4 | //
5 | // Created by Allen and Kim on 2019/9/11.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/MasterViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MasterViewController.h
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/26/16.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class DetailViewController;
12 |
13 | @interface MasterViewController : UITableViewController
14 |
15 | @property (strong, nonatomic) DetailViewController *detailViewController;
16 |
17 |
18 | @end
19 |
20 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/MasterViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // MasterViewController.m
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/26/16.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "MasterViewController.h"
10 | #import "DetailViewController.h"
11 |
12 | @interface MasterViewController ()
13 |
14 | @property (nonatomic) NSArray *objects;
15 | @end
16 |
17 | @implementation MasterViewController
18 |
19 | - (void)viewDidLoad {
20 | [super viewDidLoad];
21 | // Do any additional setup after loading the view, typically from a nib.
22 | self.detailViewController = (DetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
23 | }
24 |
25 | - (void)viewWillAppear:(BOOL)animated {
26 | self.clearsSelectionOnViewWillAppear = self.splitViewController.isCollapsed;
27 | [super viewWillAppear:animated];
28 | self.navigationItem.title = @"Examples";
29 | }
30 |
31 | - (void)didReceiveMemoryWarning {
32 | [super didReceiveMemoryWarning];
33 | // Dispose of any resources that can be recreated.
34 | }
35 |
36 | - (NSArray *)objects {
37 | if (!_objects) {
38 | _objects = @[STSPlayerServiceBasicPlayerViewKeyword,
39 | STSMessagingServiceKeyword,
40 | STSMessagingServiceCustomUIKeyword,
41 | STSMessagingServiceECommerceUIKeyword,
42 | STSStreamingServiceKeyword,
43 | STSStreamingFiltersServiceKeyword];
44 | }
45 | return _objects;
46 | }
47 |
48 | #pragma mark - Segues
49 |
50 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
51 | if ([[segue identifier] isEqualToString:@"showDetail"]) {
52 | NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
53 | id object = self.objects[indexPath.row];
54 | DetailViewController *controller = (DetailViewController *)[[segue destinationViewController] topViewController];
55 | [controller setDetailItem:object];
56 | controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
57 | controller.navigationItem.leftItemsSupplementBackButton = YES;
58 | }
59 | }
60 |
61 | #pragma mark - Table View
62 |
63 | - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
64 | return 1;
65 | }
66 |
67 | - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
68 | return self.objects.count;
69 | }
70 |
71 | - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
72 | UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
73 |
74 | NSDate *object = self.objects[indexPath.row];
75 | cell.textLabel.text = [object description];
76 | return cell;
77 | }
78 |
79 | @end
80 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/NSLayoutConstraint+STSUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSLayoutConstraint+LHUtility.h
3 | // LiveHouse
4 | //
5 | // Created by Luke Jang on 12/8/15.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSLayoutConstraint (STSUtility)
12 |
13 | + (nonnull NSArray *)constraintsForViews:(nonnull NSDictionary *)views
14 | horizaontalVisualFormat:(nonnull NSString *)horizontalVisualFormat
15 | verticalVisualFormat:(nonnull NSString *)verticalVisualFormat;
16 |
17 | + (nonnull NSArray *)constraintsForViews:(nonnull NSDictionary *)views
18 | horizaontalVisualFormat:(nonnull NSString *)horizontalVisualFormat
19 | verticalVisualFormat:(nonnull NSString *)verticalVisualFormat
20 | horizaontalOptions:(NSLayoutFormatOptions)horizaontalOptions
21 | verticalOptions:(NSLayoutFormatOptions)verticalOptions
22 | metrics:(nullable NSDictionary *)metrics;
23 |
24 | + (nonnull NSArray *)centerConstraintsWithView:(nonnull UIView *)view
25 | equalToView:(nonnull UIView *)referenceView;
26 |
27 | + (nonnull NSArray *)centerConstraintsWithView:(nonnull UIView *)view
28 | equalToView:(nonnull UIView *)referenceView
29 | ViewSize:(CGSize)size;
30 |
31 | + (nonnull NSLayoutConstraint *)horizontallyCenterConstraintWithView:(nonnull UIView *)view
32 | equalToView:(nonnull UIView *)referenceView;
33 |
34 | + (nonnull NSLayoutConstraint *)verticallyCenterConstraintWithView:(nonnull UIView *)view
35 | equalToView:(nonnull UIView *)referenceView;
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/STSConstant.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSConstant.h
3 | // StraaS
4 | //
5 | // Created by Chuang Jason on 2018/11/9.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSConstant_h
10 | #define STSConstant_h
11 |
12 | #warning It is a placeholder, should be replaced with a member JWT.
13 | static NSString * const kStraaSProdMemberJWT = <#PUT_YOUR_MEMEBER_JWT_HERE#>;
14 |
15 |
16 | #endif /* STSConstant_h */
17 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/STSQRCodeScannerViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // QRCodeScannerViewController.h
3 | // LFLiveKitSample
4 | //
5 | // Created by shihwen.wang on 2017/8/18.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef NS_ENUM(NSUInteger, STSStreamWay);
12 |
13 | @class STSQRCodeScannerViewController;
14 |
15 | @protocol STSQRCodeScannerViewControllerDelegate
16 | - (void)scanner:(STSQRCodeScannerViewController *)scanner didGetQRCode:(NSString *)qrCode;
17 | @end
18 |
19 | @interface STSQRCodeScannerViewController : UIViewController
20 |
21 | @property (nonatomic, weak) id delegate;
22 |
23 | @property (nonatomic, assign) STSStreamWay streamWay;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/UIColor+STSColor.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIColor+STSColor.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/23/16.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIColor(STSColor)
12 | + (UIColor *)STSBarTintColor;
13 | + (UIColor *)LHGrey;
14 |
15 | + (UIColor *)STSBlueButtonColor;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/UIColor+STSColor.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIColor+STSColor.m
3 | // StraaS
4 | //
5 | // Created by Lee on 6/23/16.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "UIColor+STSColor.h"
10 |
11 | @implementation UIColor(STSColor)
12 |
13 | + (UIColor *)STSBarTintColor {
14 | return [UIColor colorWithRed:45./255. green:135./255. blue:135./255. alpha:1];
15 | }
16 |
17 | + (UIColor *)LHGrey {
18 | return [self colorWithWhite:153./255. alpha:1.0];
19 | }
20 |
21 | + (UIColor *)STSBlueButtonColor {
22 | return [UIColor colorWithRed:0.0 green:100./255. blue:255./255. alpha:1];
23 | }
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/UIViewController+Keyboard.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+Keyboard.h
3 | // LiveHouse
4 | //
5 | // Created by Luke Jang on 12/9/14.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIViewController (Keyboard)
12 |
13 | - (void)registerForKeyboardNotifications;
14 | - (void)unregisterForKeyboardNotifications;
15 | - (void)keyboardWillBeShown:(NSNotification*)notification;
16 | - (void)keyboardWillBeHidden:(NSNotification*)notification;
17 | - (void)updateLayoutWithKeyboard:(BOOL)keyboard notification:(NSNotification *)notification;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/UIViewController+Keyboard.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIViewController+Keyboard.m
3 | // LiveHouse
4 | //
5 | // Created by Luke Jang on 12/9/14.
6 | // Copyright © 2020年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import "UIViewController+Keyboard.h"
10 |
11 | @implementation UIViewController (Keyboard)
12 |
13 | - (void)registerForKeyboardNotifications
14 | {
15 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeShown:) name:UIKeyboardWillShowNotification object:nil];
16 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillBeHidden:) name:UIKeyboardWillHideNotification object:nil];
17 | }
18 |
19 | - (void)unregisterForKeyboardNotifications {
20 | [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
21 | [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
22 | }
23 |
24 | - (void)keyboardWillBeShown:(NSNotification*)notification
25 | {
26 | [self updateLayoutWithKeyboard:YES notification:notification];
27 | }
28 |
29 | - (void)keyboardWillBeHidden:(NSNotification*)notification
30 | {
31 | [self updateLayoutWithKeyboard:NO notification:notification];
32 | }
33 |
34 | - (void)updateLayoutWithKeyboard:(BOOL)keyboard notification:(NSNotification *)notification
35 | {
36 | NSAssert(NO, @"Please override this method");
37 | }
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Examples/VideoChat/Shared/VideoChat-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 |
--------------------------------------------------------------------------------
/Examples/VideoChat/StreamingFiltersViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // StreamingFiltersViewController.h
3 | // VideoChat
4 | //
5 | // Created by Allen on 2019/1/28.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface StreamingFiltersViewController : UIViewController
14 |
15 | + (instancetype)viewControllerFromStoryboard;
16 |
17 | @end
18 |
19 | NS_ASSUME_NONNULL_END
20 |
--------------------------------------------------------------------------------
/Examples/VideoChat/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // VideoChat
4 | //
5 | // Created by Luke Jang on 8/26/16.
6 | // Copyright © 2020 StraaS.io. 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 |
--------------------------------------------------------------------------------
/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | Welcome to StraaS and thanks for submitting an issue!
2 |
3 | Please feel free to fill in the following info so we can help faster!
4 |
5 | ### Step 1: Are you in the right place?
6 |
7 | * For issues or feature requests related to the code **in this repository** file a GitHub issue.
8 | * For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/) tagged appropriately.
9 | * Contact our [tech support](https://straas.io/contact/) for further service and assistance.
10 |
11 | ### Step 2: Describe your environment
12 |
13 | * Objective C or Swift: ____
14 | * iOS version: _____
15 | * iOS SDK version: _____
16 | * Use StraaS UI or not: _____
17 | * Cocoapods version: ____
18 | * Xcode version: ____
19 |
20 |
21 | ### Step 3: Describe the problem:
22 |
23 | #### Steps to reproduce:
24 |
25 | 1. _____
26 | 2. _____
27 | 3. _____
28 |
29 | #### Observed Results:
30 |
31 | * What happened? This could be a description, log output, error message, etc.
32 |
33 | #### Expected Results:
34 |
35 | * What did you expect to happen?
36 |
37 | #### Relevant Code:
38 |
39 | ```
40 | // TODO(you): code here to reproduce the problem
41 | ```
42 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | **Straas.io - Streaming as a Service, Your Best OTT Solution**
4 | https://straas.io/
5 |
6 | World-class streaming and advertisement technology to drive profit and provide best multi-screen,
7 | multi-device user experiences.
8 |
9 | ## Feature
10 |
11 | - [Video Streaming Service](https://github.com/Straas/Straas-iOS-sdk/wiki/Streaming)
12 | - [Messaging Service](https://github.com/Straas/Straas-iOS-sdk/wiki/Messaging-Installation)
13 | - [Player Service](https://github.com/Straas/Straas-iOS-sdk/wiki/Player-sdk)
14 |
15 | ## Documentation
16 |
17 | - [Guides](https://github.com/Straas/Straas-iOS-sdk/wiki)
18 | - [Core SDK API Reference](https://straas.github.io/Straas-iOS-sdk/StraaSCoreSDK/)
19 | - [Messaging SDK API Reference](https://straas.github.io/Straas-iOS-sdk/StraaSMessagingSDK/)
20 | - [Streaming SDK API Reference](https://straas.github.io/Straas-iOS-sdk/StraaSStreamingSDK/)
21 | - [Player SDK API Reference](https://straas.github.io/Straas-iOS-sdk/StraaSPlayerSDK/)
22 |
--------------------------------------------------------------------------------
/StraaS-iOS-SDK.podspec:
--------------------------------------------------------------------------------
1 | Pod::Spec.new do |s|
2 |
3 |
4 | s.name = "StraaS-iOS-SDK"
5 | s.version = "0.74.0"
6 | s.summary = "StraaS.io iOS SDK"
7 |
8 | s.description = "StraaS.io - Streaming as a Service, Your Best OTT Solution."
9 |
10 | s.homepage = "https://github.com/StraaS/StraaS-iOS-sdk"
11 | s.license = { :type => "Copyright", :text => "Copyright (c) 2020 StraaS.io. All rights reserved." }
12 | s.author = "StraaS.io"
13 |
14 | s.platform = :ios, "13.0"
15 |
16 | s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
17 | s.user_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'arm64' }
18 |
19 | s.source = { :git => "https://github.com/StraaS/StraaS-iOS-sdk.git",
20 | :tag => s.version }
21 | s.static_framework = true
22 | s.resource_bundles = {
23 | 'StraaSPlayerSDK' => ['ios/StraaSPlayerSDK.framework/Assets.car', 'ios/StraaSPlayerSDK.framework/*.lproj'],
24 | 'StraaSMessagingSDK' => ['ios/StraaSMessagingSDK.framework/*.lproj']
25 | }
26 |
27 | s.subspec 'Messaging' do |msg|
28 | msg.vendored_frameworks = "ios/StraaSMessagingSDK.framework"
29 | msg.dependency "StraaS-iOS-SDK/Core"
30 | msg.dependency "Socket.IO-Client-Swift", "= 15.1.0"
31 | end
32 | s.subspec 'Core' do |co|
33 | co.vendored_frameworks = "ios/StraaSCoreSDK.framework"
34 | co.dependency "AFNetworking", "= 4.0.1"
35 | co.dependency "Socket.IO-Client-Swift", "= 15.1.0"
36 | end
37 | s.subspec 'Streaming' do |streaming|
38 | streaming.vendored_frameworks = "ios/StraaSStreamingSDK.framework"
39 | streaming.dependency "StraaS-iOS-SDK/Core"
40 | streaming.dependency "GPUImage-StraaS", "= 0.1.10"
41 | end
42 | s.subspec 'Player' do |player|
43 | player.vendored_frameworks = "ios/StraaSPlayerSDK.framework"
44 | player.dependency "StraaS-iOS-SDK/Core"
45 | player.dependency "Socket.IO-Client-Swift", "= 15.1.0"
46 | player.dependency "GoogleAds-IMA-iOS-SDK", "= 3.13.0"
47 | player.dependency "KVOController", "= 1.2.0"
48 | player.dependency "AFNetworking", "= 4.0.1"
49 | end
50 | s.subspec 'PlayerLowLatencyExtension' do |playerLowLatencyExtension|
51 | playerLowLatencyExtension.vendored_frameworks = "ios/StraaSPlayerLowLatencyExtensionSDK.framework"
52 | playerLowLatencyExtension.dependency "StraaS-iOS-SDK/Player"
53 | end
54 | end
55 |
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleIdentifier
6 | com.jazzy.straasmessagingsdk
7 | CFBundleName
8 | StraaSMessagingSDK
9 | DocSetPlatformFamily
10 | straasmessagingsdk
11 | isDashDocset
12 |
13 | dashIndexFilePath
14 | index.html
15 | isJavaScriptEnabled
16 |
17 | DashDocSetFamily
18 | dashtoc
19 |
20 |
21 |
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/img/carat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/img/carat.png
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/img/dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/img/dash.png
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/img/gh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/img/gh.png
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/js/jazzy.js:
--------------------------------------------------------------------------------
1 | window.jazzy = {'docset': false}
2 | if (typeof window.dash != 'undefined') {
3 | document.documentElement.className += ' dash'
4 | window.jazzy.docset = true
5 | }
6 | if (navigator.userAgent.match(/xcode/i)) {
7 | document.documentElement.className += ' xcode'
8 | window.jazzy.docset = true
9 | }
10 |
11 | // On doc load, toggle the URL hash discussion if present
12 | $(document).ready(function() {
13 | if (!window.jazzy.docset) {
14 | var linkToHash = $('a[href="' + window.location.hash +'"]');
15 | linkToHash.trigger("click");
16 | }
17 | });
18 |
19 | // On token click, toggle its discussion and animate token.marginLeft
20 | $(".token").click(function(event) {
21 | if (window.jazzy.docset) {
22 | return;
23 | }
24 | var link = $(this);
25 | var animationDuration = 300;
26 | var tokenOffset = "15px";
27 | var original = link.css('marginLeft') == tokenOffset;
28 | link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration);
29 | $content = link.parent().parent().next();
30 | $content.slideToggle(animationDuration);
31 |
32 | // Keeps the document from jumping to the hash.
33 | var href = $(this).attr('href');
34 | if (history.pushState) {
35 | history.pushState({}, '', href);
36 | } else {
37 | location.hash = href;
38 | }
39 | event.preventDefault();
40 | });
41 |
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/Documents/undocumented.json:
--------------------------------------------------------------------------------
1 | {"warnings":[{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/NSError+StraaSMessagingSDK.h","line":11,"symbol":"STSMSGErrorDomain","symbol_kind":"sourcekitten.source.lang.objc.decl.constant","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/NSError+StraaSMessagingSDK.h","line":73,"symbol":"NSError(StraaSMessagingSDK)","symbol_kind":"sourcekitten.source.lang.objc.decl.category","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/STSChat.h","line":64,"symbol":"+new","symbol_kind":"sourcekitten.source.lang.objc.decl.method.class","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/STSChat.h","line":65,"symbol":"-init","symbol_kind":"sourcekitten.source.lang.objc.decl.method.instance","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/STSChatMessage.h","line":40,"symbol":"+new","symbol_kind":"sourcekitten.source.lang.objc.decl.method.class","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/STSChatMessage.h","line":41,"symbol":"-init","symbol_kind":"sourcekitten.source.lang.objc.decl.method.instance","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/STSChatUser.h","line":39,"symbol":"+new","symbol_kind":"sourcekitten.source.lang.objc.decl.method.class","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/STSChatUser.h","line":40,"symbol":"-init","symbol_kind":"sourcekitten.source.lang.objc.decl.method.instance","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/StraaSMessagingSDK.h","line":12,"symbol":"StraaSMessagingSDKVersionNumber","symbol_kind":"sourcekitten.source.lang.objc.decl.constant","warning":"undocumented"},{"file":"/Users/lukejang/Developer/iKala/ios-sdk/StraaSMessagingSDK/StraaSMessagingSDK.h","line":15,"symbol":"StraaSMessagingSDKVersionString","symbol_kind":"sourcekitten.source.lang.objc.decl.constant","warning":"undocumented"}],"source_directory":"/Users/lukejang/Developer/iKala/ios-sdk"}
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/docSet.dsidx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.docset/Contents/Resources/docSet.dsidx
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.tgz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.tgz
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/docsets/StraaSMessagingSDK.xml:
--------------------------------------------------------------------------------
1 | 0.2.0https://straas.github.io/StraaS-iOS-sdk/docsets/StraaSMessagingSDK.tgz
2 |
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/img/carat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/img/carat.png
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/img/dash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/img/dash.png
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/img/gh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/docs/StraaSMessagingSDK/img/gh.png
--------------------------------------------------------------------------------
/docs/StraaSMessagingSDK/js/jazzy.js:
--------------------------------------------------------------------------------
1 | window.jazzy = {'docset': false}
2 | if (typeof window.dash != 'undefined') {
3 | document.documentElement.className += ' dash'
4 | window.jazzy.docset = true
5 | }
6 | if (navigator.userAgent.match(/xcode/i)) {
7 | document.documentElement.className += ' xcode'
8 | window.jazzy.docset = true
9 | }
10 |
11 | // On doc load, toggle the URL hash discussion if present
12 | $(document).ready(function() {
13 | if (!window.jazzy.docset) {
14 | var linkToHash = $('a[href="' + window.location.hash +'"]');
15 | linkToHash.trigger("click");
16 | }
17 | });
18 |
19 | // On token click, toggle its discussion and animate token.marginLeft
20 | $(".token").click(function(event) {
21 | if (window.jazzy.docset) {
22 | return;
23 | }
24 | var link = $(this);
25 | var animationDuration = 300;
26 | var tokenOffset = "15px";
27 | var original = link.css('marginLeft') == tokenOffset;
28 | link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration);
29 | $content = link.parent().parent().next();
30 | $content.slideToggle(animationDuration);
31 |
32 | // Keeps the document from jumping to the hash.
33 | var href = $(this).attr('href');
34 | if (history.pushState) {
35 | history.pushState({}, '', href);
36 | } else {
37 | location.hash = href;
38 | }
39 | event.preventDefault();
40 | });
41 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/LHDataObject.h:
--------------------------------------------------------------------------------
1 | //
2 | // LHDataObject.h
3 | // LiveHouse
4 | //
5 | // Created by chao hsin-cheng on 2014/6/5.
6 | // Copyright (c) 2014年 LIVEhouse.in. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /// LIVEhouse.in data model base class
12 | @interface LHDataObject : NSObject
13 |
14 | /**
15 | * Create an array with LHDataObject or subclass object inside
16 | *
17 | * @param jsonArray JSON data to mapping
18 | *
19 | * @return a desired NSArray object
20 | */
21 | + (nonnull NSArray*)objectsWithArrayOfJSON:(nonnull NSArray*)jsonArray;
22 |
23 | /**
24 | * designated initializer to mapping raw JSON data to an object
25 | *
26 | * subclass of LHDataObject can override this method to provide it own implementation
27 | *
28 | * @param json a dictionary of raw JSON data
29 | *
30 | * @return an LHDataObject instance if mapping success, nil when mapping failure
31 | */
32 | - (nullable instancetype)initWithJSON:(nonnull NSDictionary*)json;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/NSError+STSUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSError+STSUtility.h
3 | // StraaS
4 | //
5 | // Created by Lee on 28/03/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /// :nodoc:
12 | @interface NSError (STSUtility)
13 |
14 | - (BOOL)isNetworkError;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/NSString+STSUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+STSUtility.h
3 | // StraaS
4 | //
5 | // Created by Harry Hsu on 26/09/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * A helper category on NSString.
15 | */
16 | @interface NSString(STSUtility)
17 |
18 | /**
19 | Get the payload of a JSON Web Token.
20 |
21 | @return The payload of a JSON Web Token. Nil if self is not a valid JWT.
22 | */
23 | - (nullable NSDictionary *)jwtPayload;
24 |
25 | @end
26 |
27 | NS_ASSUME_NONNULL_END
28 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/STSApplication.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSApplication.h
3 | // StraaS
4 | //
5 | // Created by Luke Jang on 8/16/16.
6 | // Copyright © 2016 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | * StraaS.io application class, the base interface of your StraaS.io application.
13 | */
14 | @interface STSApplication : NSObject
15 |
16 | /**
17 | * Configure your StraaS.io application.
18 | * You need to complete the configuration process and get a successfull response in order to using
19 | * StraaS-iOS-SDK.
20 | *
21 | * @param completion If success is YES, error will be nil. And StraaS-iOS-SDK components is ready
22 | * to use. Otherwise, an NSError object is passed into completion handler.
23 | */
24 | + (void)configureApplication:(void (^)(BOOL success, NSError * error))completion;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/STSCoreErrorCode.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSCoreErrorCode.m
3 | // StraaS
4 | //
5 | // Created by Lee on 24/10/2016.
6 | // Copyright © 2016 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | * StraaS.io core SDK error code
13 | */
14 | typedef NS_ENUM(NSUInteger, STSCoreErrorCode) {
15 | /**
16 | * Network error, underlying error object is included in the user info dictionary.
17 | */
18 | STSCoreErrorCodeNetwork,
19 | /**
20 | * Check if you've set the STSSDKClientID corresponding to your Bundle id in your project info.plist
21 | * and have called STSApplication configureApplication successfully before use this class.
22 | */
23 | STSCoreErrorCodeWrongInformation,
24 | /**
25 | * Succeed to reach our server, but fail to get authorized. Check if you've set the authorized
26 | * STSSDKClientID and bundleId pair.
27 | */
28 | STSCoreErrorCodeUnauthorized,
29 | /**
30 | * Server side error happened, please try again later or contact with service provider.
31 | */
32 | STSCoreErrorCodeServer,
33 | };
34 |
35 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/STSSDKAuthManager.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSSDKAuthManager.h
3 | // StraaS
4 | //
5 | // Created by Lee on 8/11/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * StraaS.io auth manager.
15 | */
16 | @interface STSSDKAuthManager : NSObject
17 |
18 | /**
19 | * The account id of current vendor.
20 | */
21 | @property (nonatomic, readonly) NSString * accountId;
22 |
23 | /**
24 | * The app token. If the app is authorized, then the token is not nil.
25 | */
26 | @property (nonatomic, readonly) NSString * token;
27 |
28 | /**
29 | * Using new to create a STSSDKAuthManager instance is unavailable.
30 | */
31 | + (instancetype)new NS_UNAVAILABLE;
32 |
33 | /**
34 | * Using init to create a STSSDKAuthManager instance is unavailable.
35 | */
36 | - (instancetype)init NS_UNAVAILABLE;
37 |
38 | /**
39 | * Returns the STSSDKAuthManager instance, creating it if it doesn’t exist yet.
40 | *
41 | * @return The shared instance of STSSDKAuthManager.
42 | */
43 | + (STSSDKAuthManager *)sharedManager;
44 |
45 | /**
46 | * Refresh a member access token.
47 | *
48 | * @param refreshToken The token wants to be refresh
49 | * @param success Handler for successful request. It takes refreshed token argument.
50 | * @param failure Error handler.
51 | * @return The new session data task. Returns `nil` if the application is unauthorized.
52 | */
53 | - (NSURLSessionDataTask *)refreshMemberToken:(NSString *)refreshToken
54 | success:(void(^)(NSString * token))success
55 | failure:(void(^)(NSError * error))failure;
56 |
57 | @end
58 | NS_ASSUME_NONNULL_END
59 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/StraaSCoreSDK.h:
--------------------------------------------------------------------------------
1 | //
2 | // StraaSCoreSDK.h
3 | // StraaSCoreSDK
4 | //
5 | // Created by Lee on 9/21/16.
6 | // Copyright © 2016 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for StraaSCoreSDK.
12 | FOUNDATION_EXPORT double StraaSCoreSDKVersionNumber;
13 |
14 | //! Project version string for StraaSCoreSDK.
15 | FOUNDATION_EXPORT const unsigned char StraaSCoreSDKVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 |
19 |
20 | #import
21 | #import
22 | #import
23 | #import
24 | #import
25 | #import
26 | #import
27 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Headers/UIDevice+STSUtility.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIDevice+DeviceName.h
3 | // LiveHouse
4 | //
5 | // Created by chao hsin-cheng on 2014/9/5.
6 | // Copyright (c) 2014年 LIVEhouse.in. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /// :nodoc:
12 | @interface UIDevice (STSUtility)
13 |
14 | - (NSString*)platfromString;
15 | - (NSString*)hardwareString;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/Info.plist
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module StraaSCoreSDK {
2 | umbrella header "StraaSCoreSDK.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyCollectedDataTypes
6 |
7 | NSPrivacyTracking
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/StraaSCoreSDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/StraaSCoreSDK
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/_CodeSignature/CodeDirectory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/_CodeSignature/CodeDirectory
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/_CodeSignature/CodeRequirements:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/_CodeSignature/CodeRequirements
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/_CodeSignature/CodeRequirements-1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/_CodeSignature/CodeRequirements-1
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/_CodeSignature/CodeSignature:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/_CodeSignature/CodeSignature
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSCoreSDK.framework/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSCoreSDK.framework/zh-Hant.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSAggregatedData.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSAggregatedData.h
3 | // StraaS
4 | //
5 | // Created by Lee on 23/01/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @class STSAggregatedItem;
14 |
15 | /**
16 | * STSAggregatedData class defines an aggregated data which being sent on certain time.
17 | */
18 | @interface STSAggregatedData : LHDataObject
19 |
20 | /**
21 | * The aggregated items.
22 | */
23 | @property(nonatomic, readonly) NSArray * items;
24 |
25 | /**
26 | * The aggregated data created date.
27 | */
28 | @property(nonatomic, readonly) NSString * createdDate;
29 |
30 | @end
31 |
32 |
33 | NS_ASSUME_NONNULL_END
34 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSAggregatedItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSAggregatedItem.h
3 | // StraaS
4 | //
5 | // Created by Lee on 18/02/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 | /**
13 | * STSAggregatedItem class defines an aggregated item.
14 | */
15 | @interface STSAggregatedItem : LHDataObject;
16 |
17 | /**
18 | * The key of an aggregated data.
19 | */
20 | @property (nonatomic, readonly) NSString * key;
21 |
22 | /**
23 | * The number of count indicates how many times that `key` be sent in one period.
24 | */
25 | @property (nonatomic, readonly) NSNumber * count;
26 |
27 | @end
28 |
29 | NS_ASSUME_NONNULL_END
30 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSChat.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChat.h
3 | // StraaS
4 | //
5 | // Created by Luke Jang on 8/11/16.
6 | // Copyright (c) 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @class STSChatUser;
14 | @class STSChatMessage;
15 | @class STSChatSticker;
16 | @class STSAggregatedItem;
17 |
18 | /**
19 | * Chat room model
20 | */
21 | @interface STSChat : NSObject
22 |
23 | /**
24 | * StraaS.io chat room support user privilege control. Each input mode has different chat ability
25 | * limitation depends on user's role.
26 | */
27 | typedef NS_ENUM(NSUInteger, STSChatInputMode) {
28 | /**
29 | * Mode undefined, it should not happen.
30 | */
31 | STSChatInputUndefined,
32 | /**
33 | * Normal mode, every user can chat.
34 | */
35 | STSChatInputNormal,
36 | /**
37 | * Member-only mode, guest can not send message in this mode.
38 | */
39 | STSChatInputMember,
40 | /**
41 | * Master mode, only the master of channel can send message.
42 | */
43 | STSChatInputMaster
44 | };
45 |
46 | typedef NS_ENUM(NSUInteger, STSChatStatus) {
47 | /**
48 | * The chatroom just initialized.
49 | */
50 | STSChatStatusEmptyProfile,
51 | /**
52 | * The chatroom is ready to connect.
53 | */
54 | STSChatStatusReady,
55 | /**
56 | * The chatroom is connecting.
57 | */
58 | STSChatStatusConnecting,
59 | /**
60 | * The chatroom is connected.
61 | */
62 | STSChatStatusConnected,
63 | /**
64 | * The chatroom is disconnecting.
65 | */
66 | STSChatStatusDisconnecting,
67 | /**
68 | * The connection of chatroom has be canceled.
69 | */
70 | STSChatStatusCanceled
71 | };
72 |
73 | /**
74 | * Input mode of chat.
75 | */
76 | @property (nonatomic, readonly) STSChatInputMode mode;
77 |
78 | /**
79 | * Chatroom name.
80 | */
81 | @property (nonatomic, readonly) NSString * chatroomName;
82 |
83 | /**
84 | The status of chat.
85 | */
86 | @property (nonatomic, readonly) STSChatStatus status;
87 |
88 | /**
89 | * The current user object in this chat.
90 | */
91 | @property (nonatomic, readonly) STSChatUser * currentUser;
92 |
93 | /**
94 | * Total user number of this chat.
95 | */
96 | @property (nonatomic, readonly) NSInteger userCount;
97 |
98 | /**
99 | * Total total aggregated items contain all of the aggregated items that a chatroom have.
100 | * The count property in each STSAggregatedItem indicates how many times this aggregated item key being sent.
101 | */
102 | @property (nonatomic, readonly) NSArray * totalAggregatedItems;
103 |
104 | /**
105 | * The chat stickers.
106 | */
107 | @property (nonatomic, readonly) NSArray * stickers;
108 |
109 | /**
110 | * Using new to create a STSChat instance is unavailable.
111 | */
112 | + (instancetype)new NS_UNAVAILABLE;
113 |
114 | /**
115 | * Using init to create a STSChat instance is unavailable.
116 | */
117 | - (instancetype)init NS_UNAVAILABLE;
118 |
119 | @end
120 |
121 | NS_ASSUME_NONNULL_END
122 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSChatManagerConfig.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatManagerConfig.h
3 | // StraaSMessagingSDK
4 | //
5 | // Created by Allen and Kim on 2020/10/6.
6 | // Copyright © 2020 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * Configuration for STSChatManager.
15 | */
16 | @interface STSChatManagerConfig : NSObject
17 |
18 | /**
19 | * The host of the chatroom restful API server. Not to set this or sets this to nil to use the default value.
20 | */
21 | @property (nonatomic, strong) NSString *restHost;
22 |
23 | /**
24 | * The host of the chatroom socket server. Not to set this or sets this to nil to use the default value.
25 | */
26 | @property (nonatomic, strong) NSString *socketHost;
27 |
28 | @end
29 |
30 | NS_ASSUME_NONNULL_END
31 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSChatMessage.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatRoomMessage.h
3 | // StraaS
4 | //
5 | // Created by Luke Jang on 8/11/16.
6 | // Copyright (c) 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "STSChatUser.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * The type of the message.
16 | */
17 | typedef NS_ENUM(NSInteger, STSChatMesssageType) {
18 | /**
19 | * The message text type.
20 | */
21 | STSChatMessageTypeText,
22 | /**
23 | * The message sticker type.
24 | */
25 | STSChatMessageTypeSticker,
26 | };
27 |
28 | /**
29 | * Chat room message model
30 | */
31 | @interface STSChatMessage : LHDataObject
32 |
33 | /**
34 | * Message Id.
35 | */
36 | @property (nonatomic, readonly) NSString * messageId;
37 |
38 | /**
39 | * Message text. It may be the normal text or rawData text.
40 | */
41 | @property (nonatomic, readonly) NSString * text;
42 |
43 | /**
44 | * Message RawData, only valid when recieves data chanenl RawData.
45 | */
46 | @property (nonatomic, readonly, nullable) id rawData;
47 |
48 | /**
49 | * Chat message type.
50 | */
51 | @property (nonatomic, readonly) STSChatMesssageType type;
52 |
53 | /**
54 | * Message create time.
55 | */
56 | @property (nonatomic, readonly) NSString * createdDate;
57 |
58 | /**
59 | * String represent where this message is sent from.
60 | */
61 | @property (nonatomic, readonly) NSString * sourceType;
62 |
63 | /**
64 | * Chat user who create this message.
65 | */
66 | @property (nonatomic, readonly) STSChatUser * creator;
67 |
68 | /**
69 | * Using new to create a STSChatMessage instance is unavailable.
70 | */
71 | + (instancetype)new NS_UNAVAILABLE;
72 |
73 | /**
74 | * Using int to create a STSChatMessage instance is unavailable.
75 | */
76 | - (instancetype)init NS_UNAVAILABLE;
77 |
78 | @end
79 |
80 | /**
81 | * Chat room message sticker category. The property is only valid when message is sent for sticker.
82 | */
83 | @interface STSChatMessage (sticker)
84 |
85 | /**
86 | * The sticker image url.
87 | */
88 | @property (nonatomic, readonly) NSURL * stickerURL;
89 |
90 | @end
91 |
92 | NS_ASSUME_NONNULL_END
93 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSChatMetadata.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatMetadata.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/7/7.
6 | // Copyright © 2017年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * Model for chatroom metadata.
15 | */
16 | @interface STSChatMetadata : LHDataObject
17 |
18 | /**
19 | * The key of the metadata.
20 | */
21 | @property (nonatomic, readonly) NSString * key;
22 |
23 | /**
24 | * The value of the metadata.
25 | *
26 | * The value types could be:
27 | *
28 | * * NSArray
29 | * * NSNull
30 | * * NSNumber (also includes booleans)
31 | * * NSDictionary
32 | * * NSString
33 | */
34 | @property (nonatomic, readonly) id value;
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSChatSticker.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatSticker.h
3 | // StraaS
4 | //
5 | // Created by Lee on 26/10/2016.
6 | // Copyright © 2016 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * Chat sticker model.
15 | */
16 | @interface STSChatSticker : LHDataObject
17 |
18 | /**
19 | * The sticker name.
20 | */
21 | @property (nonatomic, readonly) NSString * name;
22 |
23 | /**
24 | * The main image of the sticker.
25 | */
26 | @property (nonatomic, readonly) NSString * mainImage;
27 |
28 | /**
29 | * The stickers dictionary whose key indicate sticker text and value indicate sticker url.
30 | */
31 | @property (nonatomic, readonly) NSDictionary * stickers;
32 |
33 | @end
34 |
35 | NS_ASSUME_NONNULL_END
36 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSChatUser.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSChatUser.h
3 | // StraaS
4 | //
5 | // Created by Luke Jang on 8/10/16.
6 | // Copyright (c) 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * User role Global Manager key.
15 | */
16 | extern NSString * const kSTSUserRoleGlobalManager;
17 | /**
18 | * User role Local Manager key.
19 | */
20 | extern NSString * const kSTSUserRoleLocalManager;
21 | /**
22 | * User role Master key.
23 | */
24 | extern NSString * const kSTSUserRoleMaster;
25 | /**
26 | * User role Moderator key.
27 | */
28 | extern NSString * const kSTSUserRoleModerator;
29 | /**
30 | * User role Normal key.
31 | */
32 | extern NSString * const kSTSUserRoleNormal;
33 | /**
34 | * User role Blocked key.
35 | */
36 | extern NSString * const kSTSUserRoleBlocked;
37 |
38 | /**
39 | * Chat room user model
40 | */
41 | @interface STSChatUser : LHDataObject
42 |
43 | /**
44 | * Unique identifier of chat room user. Users are identifying and comparing using this attribute.
45 | * (`NSObject` method `isEqual:` and `hash` are implemented).
46 | */
47 | @property (nonatomic, readonly, nullable) NSNumber * label;
48 |
49 | /**
50 | * Guest nickname or member name.
51 | */
52 | @property (nonatomic, readonly, nullable) NSString * name;
53 |
54 | /**
55 | * Chat room member avatar
56 | */
57 | @property (nonatomic, readonly, nullable) NSString * avatar;
58 |
59 | /**
60 | * When user info was updated.
61 | */
62 | @property (nonatomic, readonly, nullable) NSString * updatedDate;
63 |
64 | /**
65 | * User's role. Get more informations in the following link.
66 | * https://github.com/StraaS/StraaS-web-document/wiki/Messaging-Service#roles-of-messaging-service
67 | */
68 | @property (nonatomic, readonly, nullable) NSString * role;
69 |
70 | /**
71 | * Using new to create a STSChatUser instance is unavailable.
72 | */
73 | + (instancetype)new NS_UNAVAILABLE;
74 |
75 | /**
76 | * Using init to create a STSChatUser instance is unavailable.
77 | */
78 | - (instancetype)init NS_UNAVAILABLE;
79 |
80 | @end
81 |
82 | NS_ASSUME_NONNULL_END
83 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSGetMessagesConfiguration.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSGetMessagesConfiguration.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/12/12.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "STSGetMessagesOrder.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * A STSGetMessagesConfiguration object defines the request rules of how to get messages from StraaS server.
16 | */
17 | @interface STSGetMessagesConfiguration : NSObject
18 |
19 | /**
20 | * The target page. Default value is 1. This value should be bigger than or equal to 1.
21 | * The newest message will be at page 1.
22 | */
23 | @property (nonatomic) NSNumber * page;
24 |
25 | /**
26 | * How many messages you want each page to return. Default value is 10. This value should be in the range [1..100].
27 | */
28 | @property (nonatomic) NSNumber * perPage;
29 |
30 | /**
31 | * Oldest date of request messages. Unix time in millisecond.
32 | */
33 | @property (nonatomic, nullable) NSNumber * oldestDate;
34 |
35 | /**
36 | * Latest date of request messages. Unix time in millisecond.
37 | */
38 | @property (nonatomic, nullable) NSNumber * latestDate;
39 |
40 | /**
41 | * Indicates in what order the message will be sorted by created date. Default value is STSGetMessagesOrderDescending.
42 | */
43 | @property (nonatomic) STSGetMessagesOrder order;
44 |
45 | @end
46 |
47 | NS_ASSUME_NONNULL_END
48 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSGetMessagesOrder.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSGetMessagesOrder.h
3 | // StraaS
4 | //
5 | // Created by Lee on 13/02/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSGetMessagesOrder_h
10 | #define STSGetMessagesOrder_h
11 |
12 | /**
13 | * Options for how the messages will be sorted.
14 | */
15 | typedef NS_ENUM(NSUInteger, STSGetMessagesOrder) {
16 | /**
17 | * Get messages with ascending order.
18 | */
19 | STSGetMessagesOrderAscending = 0,
20 | /**
21 | * Get messages with descending order.
22 | */
23 | STSGetMessagesOrderDescending = 1,
24 | };
25 |
26 | #endif /* STSGetMessagesOrder_h */
27 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/STSGetUsersType.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSGetUsersType.h
3 | // StraaS
4 | //
5 | // Created by Lee on 26/12/2016.
6 | // Copyright © 2016 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSGetUsersType_h
10 | #define STSGetUsersType_h
11 |
12 | /**
13 | * The type of users you want to get.
14 | */
15 | typedef NS_ENUM(NSUInteger, STSGetUsersType) {
16 | /**
17 | * Get the online users from user list.
18 | * STSGetUsersTypeOnlineUsers will return every online user except those who were blocked.
19 | */
20 | STSGetUsersTypeOnlineUsers,
21 | /**
22 | * Get the blocked users from user list no matter the user is online or not.
23 | */
24 | STSGetUsersTypeBlocked,
25 | /**
26 | * Get the supervisors user from user list.
27 | * STSGetUsersTypeModerator will return whose role is Globale manager, localManager, master, or moderator. No matter that user is online or not.
28 | */
29 | STSGetUsersTypeSupervisor,
30 | };
31 |
32 | #endif /* STSGetUsersType_h */
33 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Headers/StraaSMessagingSDK.h:
--------------------------------------------------------------------------------
1 | //
2 | // StraaSMessagingSDK.h
3 | // StraaSMessagingSDK
4 | //
5 | // Created by Luke Jang on 7/26/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for StraaSMessagingSDK.
12 | FOUNDATION_EXPORT double StraaSMessagingSDKVersionNumber;
13 |
14 | //! Project version string for StraaSMessagingSDK.
15 | FOUNDATION_EXPORT const unsigned char StraaSMessagingSDKVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 | #import
19 | #import
20 | #import
21 | #import
22 | #import
23 | #import
24 | #import
25 | #import
26 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Info.plist
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios11.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSMessagingSDK
4 | @_exported import StraaSMessagingSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios11.0 -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSMessagingSDK
4 | @_exported import StraaSMessagingSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/arm64-apple-ios.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target x86_64-apple-ios11.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSMessagingSDK
4 | @_exported import StraaSMessagingSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/Modules/StraaSMessagingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module StraaSMessagingSDK {
2 | umbrella header "StraaSMessagingSDK.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module StraaSMessagingSDK.Swift {
9 | header "StraaSMessagingSDK-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyCollectedDataTypes
6 |
7 | NSPrivacyTracking
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/StraaSMessagingSDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/StraaSMessagingSDK
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeDirectory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeDirectory
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeRequirements:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeRequirements
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeRequirements-1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeRequirements-1
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeSignature:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/_CodeSignature/CodeSignature
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSMessagingSDK.framework/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSMessagingSDK.framework/zh-Hant.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/Headers/STSLowLatencyPlayer.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSLowLatencyPlayer.h
3 | // STSLowLatencyPlayer
4 | //
5 | // Created by Jason.Chuang on 2018/8/10.
6 | // Copyright © 2018年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * The low latency player used in STSSDKPlayerView
16 | * [lowLatencyPlayer](https://straas.github.io/StraaS-iOS-sdk/StraaSPlayerSDK/Classes/STSSDKPlayerView.html#/c:objc(cs)STSSDKPlayerView(py)lowLatencyPlayer)
17 | * property
18 | */
19 | @interface STSLowLatencyPlayer : NSObject
20 |
21 | @end
22 |
23 | NS_ASSUME_NONNULL_END
24 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/Headers/StraaSPlayerLowLatencyExtensionSDK.h:
--------------------------------------------------------------------------------
1 | //
2 | // StraaSPlayerLowLatencyExtensionSDK.h
3 | // StraaSPlayerLowLatencyExtensionSDK
4 | //
5 | // Created by Jason.Chuang on 2018/8/10.
6 | // Copyright © 2018年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for StraaSPlayerLowLatencyExtensionSDK.
12 | FOUNDATION_EXPORT double StraaSPlayerLowLatencyExtensionSDKVersionNumber;
13 |
14 | //! Project version string for StraaSPlayerLowLatencyExtensionSDK.
15 | FOUNDATION_EXPORT const unsigned char StraaSPlayerLowLatencyExtensionSDKVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 | #import
19 |
20 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerLowLatencyExtensionSDK.framework/Info.plist
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module StraaSPlayerLowLatencyExtensionSDK {
2 | umbrella header "StraaSPlayerLowLatencyExtensionSDK.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyCollectedDataTypes
6 |
7 | NSPrivacyTracking
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/StraaSPlayerLowLatencyExtensionSDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerLowLatencyExtensionSDK.framework/StraaSPlayerLowLatencyExtensionSDK
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeDirectory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeDirectory
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeRequirements:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeRequirements
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeRequirements-1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeRequirements-1
--------------------------------------------------------------------------------
/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeSignature:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerLowLatencyExtensionSDK.framework/_CodeSignature/CodeSignature
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Assets.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Assets.car
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSCategory.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSCategory.h
3 | // StraaS
4 | //
5 | // Created by Lee on 7/28/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * Category model of StraaS player SDK
15 | */
16 | @interface STSCategory : LHDataObject
17 |
18 | /**
19 | * The category id.
20 | */
21 | @property (nonatomic, readonly) NSNumber * categoryId;
22 |
23 | /**
24 | * The category name.
25 | */
26 | @property (nonatomic, readonly) NSString * name;
27 |
28 | /**
29 | * The category description.
30 | */
31 | @property (nonatomic, readonly) NSString * categoryDescription;
32 |
33 | /**
34 | * The number of videos which are contained in the category.
35 | */
36 | @property (nonatomic, readonly) NSInteger videosCount;
37 |
38 | /**
39 | * The id of the category which contains this category. If this category has no parentCategoryId, then it is not a subcategory.
40 | */
41 | @property (nonatomic, readonly, nullable) NSNumber * parentCategoryId;
42 |
43 | @end
44 | NS_ASSUME_NONNULL_END
45 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSGetLiveListConfiguration.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSGetLiveListConfiguration.h
3 | // StraaSPlayerSDK
4 | //
5 | // Created by Harry Hsu on 21/09/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 |
12 | /**
13 | * The configuration defines the request rules of how to get a live list.
14 | */
15 | @interface STSGetLiveListConfiguration : NSObject
16 |
17 | /**
18 | * Filter the items which exist in the categories.
19 | */
20 | @property (nonatomic) NSArray * categoryIds;
21 |
22 | /**
23 | * Filter the items which are tagged with the tag names.
24 | */
25 | @property (nonatomic) NSArray * tags;
26 |
27 | /**
28 | * Filter the items which are owned by the member.
29 | */
30 | @property (nonatomic) NSString * ownerMemberId;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSGetVideoListConfiguration.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSGetVideoListConfiguration.h
3 | // StraaS
4 | //
5 | // Created by Harry Hsu on 14/09/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | * The configuration defines the request rules of how to get a video list.
13 | */
14 | @interface STSGetVideoListConfiguration : NSObject
15 |
16 | /**
17 | * Filter the items which exist in the categories.
18 | */
19 | @property (nonatomic) NSArray * categoryIds;
20 |
21 | /**
22 | * Filter the items which are tagged with the tag names.
23 | */
24 | @property (nonatomic) NSArray * tags;
25 |
26 | /**
27 | * Filter the items which are owned by the member.
28 | */
29 | @property (nonatomic) NSString * ownerMemberId;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSLive.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSLive.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/8/31.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "STSVideo.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * Live model of StraaS player SDK
16 | */
17 | @interface STSLive : LHDataObject
18 |
19 | /**
20 | * The live id.
21 | */
22 | @property (nonatomic, readonly) NSString * liveId;
23 |
24 | /**
25 | * The id of the account which the resource belongs to.
26 | */
27 | @property (nonatomic, readonly) NSString * accountId;
28 |
29 | /**
30 | * The title of the live.
31 | */
32 | @property (nonatomic, readonly) NSString * title;
33 |
34 | /**
35 | * The synopsis of the live.
36 | */
37 | @property (nonatomic, readonly) NSString * synopsis;
38 |
39 | /**
40 | * The status of the live.(ready|started|ended)
41 | */
42 | @property (nonatomic, readonly) NSString * status;
43 |
44 | /**
45 | * The live event created time.
46 | */
47 | @property (nonatomic, readonly) NSString *createdAt;
48 |
49 | /**
50 | * The start time of the live event.
51 | */
52 | @property (nonatomic, readonly) NSString * startTime;
53 |
54 | /**
55 | * The starting time of live streaming.
56 | */
57 | @property (nonatomic, readonly) NSString * startedAt;
58 |
59 | /**
60 | * The ending time of live streaming.
61 | */
62 | @property (nonatomic, readonly) NSString * endedAt;
63 |
64 | /**
65 | * The large size thumbnail of thumbnail_urls.
66 | */
67 | @property (nonatomic, readonly, nullable) NSString * posterUrl;
68 |
69 | /**
70 | * The concurrent user in the live.
71 | */
72 | @property (nonatomic, readonly, nullable) NSNumber * ccu;
73 |
74 | /**
75 | * The hit count of the live.
76 | */
77 | @property (nonatomic, readonly, nullable) NSNumber * hitCountSum;
78 |
79 | /**
80 | * The play count of the live.
81 | */
82 | @property (nonatomic, readonly, nullable) NSNumber * playCountSum;
83 |
84 | /**
85 | * The VODs of the live event.
86 | */
87 | @property (nonatomic, readonly, nullable) NSArray * videos;
88 |
89 | /**
90 | * Indicate if the source is 360-degree streaming or not.
91 | * "equirectangular" if the source is 360-degree streaming. "flat" if not.
92 | */
93 | @property (nonatomic, readonly) NSString * projection;
94 |
95 | /**
96 | * The associated chatroom name.
97 | */
98 | @property (nonatomic, readonly, nullable) NSString * chatroomName;
99 |
100 | /**
101 | * The image shown in the StraaS web player when the live streaming is off air.
102 | */
103 | @property (nonatomic, readonly, nullable) NSString * coverUrl;
104 |
105 | /**
106 | * A boolean value indicates whether the DVR playback is enabled.
107 | */
108 | @property (nonatomic, readonly) BOOL isDvrEnabled;
109 |
110 | @end
111 |
112 | NS_ASSUME_NONNULL_END
113 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSLiveBroadcastState.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSLiveBroadcastState.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/3/22.
6 | // Copyright © 2017年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSLiveEventStatus_h
10 | #define STSLiveEventStatus_h
11 |
12 | /**
13 | * The broadcast state of the live.
14 | */
15 | typedef NS_ENUM(NSInteger, STSLiveBroadcastState) {
16 | /**
17 | * The broadcast state of the live cannot be determined.
18 | */
19 | STSLiveBroadcastStateUnknown = 0,
20 |
21 | /**
22 | * The stream of the live has started.
23 | */
24 | STSLiveBroadcastStateStreamStarted = 1,
25 |
26 | /**
27 | * The stream of the live has stopped.
28 | */
29 | STSLiveBroadcastStateStreamStopped = 2,
30 |
31 | /**
32 | * The live is waiting for stream.
33 | */
34 | STSLiveBroadcastStateWaitingForStream = 3,
35 |
36 | /**
37 | * The live event has ended.
38 | */
39 | STSLiveBroadcastStateEventEnded = 4,
40 |
41 | /**
42 | * Means the live event state is still available for playback within amount of time temporarily
43 | * when this event is not broadcasting for live dvr enabled live event.
44 | */
45 | STSLiveBroadcastStateDvrPlaybackAvailable = 5,
46 | };
47 |
48 | #endif /* STSLiveEventStatus_h */
49 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSLiveEventListenerState.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSLiveEventListenerState.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2018/2/21.
6 | // Copyright © 2018年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSLiveEventListenerState_h
10 | #define STSLiveEventListenerState_h
11 |
12 | /**
13 | * The state of the STSLiveEventListner.
14 | */
15 | typedef NS_ENUM(NSInteger, STSLiveEventListenerState) {
16 | /**
17 | * The STSLiveEventListner object is idle.
18 | */
19 | STSLiveEventListenerStateIdle = 0,
20 | /**
21 | * The STSLiveEventListner object is attempting to connect to the server.
22 | */
23 | STSLiveEventListenerStateStarting = 1,
24 | /**
25 | * The STSLiveEventListner object is connected to the server and can receive event.
26 | */ STSLiveEventListenerStateStarted = 2
27 | };
28 |
29 |
30 | #endif /* STSLiveEventListenerState_h */
31 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPagination.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPagination.h
3 | // StraaS
4 | //
5 | // Created by Lee on 8/10/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | /**
12 | * Pagination model of StraaS player SDK
13 | * STSPagination is an object wrapping pagination header in api request.
14 | * reference: https://developer.github.com/guides/traversing-with-pagination/
15 | */
16 | @interface STSPagination : NSObject
17 |
18 | /**
19 | * The number of the last page.
20 | * Usually, last page is a constant, unless CMS update resource.
21 | * Nil if at the last page.
22 | */
23 | @property (nonatomic) NSNumber * last;
24 |
25 | /**
26 | * The number of the first page.
27 | * Usually, first page will equal 1. Nil if at the first page.
28 | */
29 | @property (nonatomic) NSNumber * first;
30 |
31 | /**
32 | * The number of the previous page. Nil if have no previous page.
33 | */
34 | @property (nonatomic) NSNumber * prev;
35 |
36 | /**
37 | * The number of the next page. Nil if have no next page.
38 | */
39 | @property (nonatomic) NSNumber * next;
40 |
41 | @end
42 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPlayerDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlayerDelegate.h
3 | // StraaS
4 | //
5 | // Created by Lee on 08/03/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSPlayerDelegate_h
10 | #define STSPlayerDelegate_h
11 |
12 | @protocol STSPlayerPlayback;
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | @protocol STSPlayerDelegate
17 |
18 | - (void)playerIsReadyToPlay:(id)player;
19 | - (void)playerItemReadyToPlay:(id)player;
20 | - (void)playerStartToPlay:(id)player;
21 | - (void)player:(id)player onBuffering:(BOOL)isBuffering;
22 | - (void)playerDidStop:(id)player;
23 | - (void)playerOnError:(id)player;
24 | - (void)player:(id)player durationChanged:(Float64)timeInSeconds;
25 | - (void)player:(id)player playbackTimeChanged:(Float64)timeInSeconds;
26 | - (void)player:(id)player loadedTimeRangesChanged:(NSArray *)loadedTimeRanges;
27 | - (void)player:(id)player seekableTimeRangesChanged:(NSArray *)seekableTimeRanges;
28 |
29 | @end
30 |
31 | NS_ASSUME_NONNULL_END
32 |
33 | #endif /* STSPlayerDelegate_h */
34 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPlayerErrorCode.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlayerErrorCode.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/16/16.
6 | //
7 | //
8 |
9 | #ifndef STSPlayerErrorCode_h
10 | #define STSPlayerErrorCode_h
11 |
12 | /**
13 | * StraaS.io player SDK error code.
14 | */
15 | typedef NS_ENUM(NSInteger, STSPlayerErrorCode) {
16 | /**
17 | * Network error, underlying error object is included in the user info dictionary.
18 | */
19 | STSPlayerErrorCodeNetwork = 0,
20 | /**
21 | * Server side error happened, please try again later or contact with service provider.
22 | */
23 | STSPlayerErrorCodeServer = 1,
24 | /**
25 | * SDK internal error happened, please try again or report issue.
26 | */
27 | STSPlayerErrorCodeSDKInternal = 2,
28 | /**
29 | * Playback has been stopped due to error. Usually caused by player failing to play playerItem. PlayerItem may fail due to invalid url, bad network.
30 | */
31 | STSPlayerErrorCodePlayer = 3,
32 | /**
33 | * The requested resource is not found.
34 | */
35 | STSPlayerErrorCodeNotFound = 4,
36 | /**
37 | * The format of the received data is unacceptable.
38 | */
39 | STSPlayerErrorCodeDataDeserialization = 5,
40 | /**
41 | * Member JWT is invalid or expired. Please try again with a new member JWT.
42 | */
43 | STSPlayerErrorCodeJWTTokenUnauthorized = 6,
44 | /**
45 | * Have no permission to use the SDK. Make sure you've configured your app successfully.
46 | * Check if you've set the STSSDKClientID corresponding to your Bundle id in your project setting and have called STSApplication's configureApplication method to configure your identity.
47 | * REMIND: you needs to register your bundle id to StraaS.io to get an client_id(STSSDKClientID).
48 | */
49 | STSPlayerErrorCodeSDKUnauthorized = 7,
50 | /**
51 | * Current member has no permission to get the requested resource. This resource may need to be paid to get.
52 | */
53 | STSPlayerErrorCodeMediaPermissionDenial = 8,
54 | /**
55 | * The requested resource exist, but is unlisted and can not be played.
56 | */
57 | STSPlayerErrorCodeMediaUnavailable = 9,
58 | /**
59 | * Unprocessable entity. May occurred due to unacceptable input value.
60 | */
61 | STSPlayerErrorCodeUnprocessableEntity = 10,
62 | /**
63 | * Operation denied. May occur due to calling the method in a wrong state.
64 | */
65 | STSPlayerErrorCodeOperationDenied = 11,
66 | /**
67 | * Invalid live id. The live id should not be nil or empty string.
68 | */
69 | STSPlayerErrorCodeInvalidLiveId = 12,
70 | /**
71 | * Failed to connect to the socket server(for listening live event) or disconnected from the socket server due to unexpected error after a connection was established successfully.
72 | */
73 | STSPlayerErrorCodeSocketConnection = 13,
74 | /**
75 | * Too many requests for the server, please try again later.
76 | */
77 | STSPlayerErrorCodeTooManyRequest = 14,
78 | /**
79 | * The operation was cancelled before it was completed.
80 | */
81 | STSPlayerErrorCodeCancelled = 15,
82 | };
83 |
84 | #endif /* STSPlayerErrorCode_h */
85 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPlayerPlayback.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlayerPlayback.h
3 | // StraaS
4 | //
5 | // Created by Lee on 07/03/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSPlayerPlayback_h
10 | #define STSPlayerPlayback_h
11 |
12 | #import "STSPlayerDelegate.h"
13 | #import "STSSDKPlaybackStatus.h"
14 | #import "STSVideoScalingMode.h"
15 |
16 | NS_ASSUME_NONNULL_BEGIN
17 |
18 | typedef NSArray * (^QualityNamesMappingType)(NSArray * rawQualityNames);
19 |
20 | @protocol STSPlayerPlayback
21 |
22 | @property (nonatomic, readonly) STSSDKPlaybackStatus playbackStatus;
23 | @property (nonatomic, readwrite) STSVideoScalingMode videoScalingMode;
24 | @property (nonatomic, nullable, weak) id delegate;
25 | @property (nonatomic, readonly) CALayer * playerLayer;
26 | @property (nonatomic) BOOL allowsPlayingInBackground;
27 | @property (nonatomic) BOOL muted;
28 | @property (nonatomic) float playbackSpeed;
29 | @property (nonatomic) float playbackSpeedForContinue;
30 | @property (nonatomic) CGSize preferredMaximumResolution;
31 | @property (nonatomic, readonly) CGSize presentationSize;
32 |
33 | - (void)setStreamURL:(NSURL * _Nullable)URL;
34 | - (void)setStreamURL:(NSURL * _Nullable)URL cookie:(NSHTTPCookie * _Nullable)cookie;
35 | - (void)play;
36 | - (void)pause;
37 | - (void)resume;
38 | - (void)stop;
39 | - (void)replay;
40 | - (void)forceToEnd;
41 | - (CVPixelBufferRef _Nullable)pixelBufferForCurrentItemTime;
42 | - (BOOL)isPlaying;
43 | - (BOOL)hasEnded;
44 | - (void)seekToTime:(Float64)timeInSeconds shouldPlayAfterSeeking:(BOOL)play;
45 | - (NSTimeInterval)currentTime;
46 | - (NSTimeInterval)currentLiveDateTime;
47 | - (UIViewController *)qualitySelectionViewControllerWithQualityNamesMapping:(QualityNamesMappingType)mapping;
48 | - (NSArray *)availableRawQualityNames;
49 | - (NSString *)currentRawQualityName;
50 | - (BOOL)setMediaQuality:(NSString *)qualityName;
51 | @end
52 |
53 | NS_ASSUME_NONNULL_END
54 |
55 | #endif /* STSPlayerPlayback_h */
56 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPlayerPlaylistEventDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlayerPlaylistEventDelegate.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/10/17.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSPlayerPlaylistEventDelegate_h
10 | #define STSPlayerPlaylistEventDelegate_h
11 |
12 | @class STSSDKPlayerView;
13 | @class STSPlaylist;
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | /**
18 | * Implements the STSPlayerPlaybackEventDelegate protocol to respond to playlist events.
19 | */
20 | @protocol STSPlayerPlaylistEventDelegate
21 |
22 | /**
23 | * Sent when the player view did load an playlist.
24 | *
25 | * @param playerView The player view that sent the message.
26 | * @param playlist The loaded playlist.
27 | */
28 | - (void)playerView:(STSSDKPlayerView *)playerView didLoadPlaylist:(STSPlaylist *)playlist;
29 |
30 | /**
31 | * Sent when the player view is about to play a specific item.
32 | *
33 | * @param playerView The player view that sent the message.
34 | * @param index The index of the target item in the current playlist that the player view is going to play.
35 | *
36 | * @return YES if the player view should play the target item, NO if not.
37 | */
38 | - (BOOL)playerView:(STSSDKPlayerView *)playerView willPlayItemAtIndex:(NSInteger)index;
39 |
40 | /**
41 | * Sent when the player view did start playing the target item.
42 | *
43 | * @param playerView The player view that sent the message.
44 | * @param index The index of the played item in the current playlist.
45 | */
46 | - (void)playerView:(STSSDKPlayerView *)playerView didPlayItemAtIndex:(NSInteger)index;
47 |
48 | /**
49 | * Sent when the last item in the playlist has ended.
50 | *
51 | * @param playerView The player view that sent the message.
52 | * @param playlist The playlist that related to this message.
53 | */
54 | - (void)playerView:(STSSDKPlayerView *)playerView playListDidPlayToEnd:(STSPlaylist *)playlist;
55 |
56 | @end
57 |
58 | NS_ASSUME_NONNULL_END
59 |
60 | #endif /* STSPlayerPlaylistEventDelegate_h */
61 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPlaylist.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlaylist.h
3 | // StraaS
4 | //
5 | // Created by Lee on 8/16/16.
6 | //
7 | //
8 |
9 | #import
10 | #import "STSPlaylistItem.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * Playlist model of StraaS player SDK
16 | */
17 | @interface STSPlaylist : LHDataObject
18 |
19 | /**
20 | * The playlist id.
21 | */
22 | @property (nonatomic, readonly) NSString * playlistId;
23 |
24 | /**
25 | * The id of the account which the resource belongs to.
26 | */
27 | @property (nonatomic, readonly) NSString * accountId;
28 |
29 | /**
30 | * The playlist title.
31 | */
32 | @property (nonatomic, readonly) NSString * title;
33 |
34 | /**
35 | * The playlist synposis.
36 | */
37 | @property (nonatomic, readonly) NSString * synposis;
38 |
39 | /**
40 | * The number of videos that the playlist contains.
41 | */
42 | @property (nonatomic, readonly) NSInteger videosCount;
43 |
44 | /**
45 | * The large size thumbnail of thumbnail_urls.
46 | */
47 | @property (nonatomic, readonly) NSString * posterURL;
48 |
49 | /**
50 | * The playlist created time.
51 | */
52 | @property (nonatomic, readonly) NSString * createdAt;
53 |
54 | /**
55 | * The array of playlistItems.
56 | */
57 | @property (nonatomic, readonly, nullable) NSArray * playlistItems;
58 |
59 | @end
60 |
61 | NS_ASSUME_NONNULL_END
62 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSPlaylistItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSPlaylistItem.h
3 | // StraaS
4 | //
5 | // Created by Lee on 8/10/16.
6 | //
7 | //
8 |
9 | #import
10 | #import "STSVideo.h"
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * Playlist item model of StraaS player SDK
16 | */
17 | @interface STSPlaylistItem : LHDataObject
18 |
19 | /**
20 | * The playlist item id.
21 | */
22 | @property (nonatomic, readonly) NSString * playlistItemId;
23 |
24 | /**
25 | * The playlist id which the playlist item belongs to.
26 | */
27 | @property (nonatomic, readonly) NSString * playlistId;
28 |
29 | /**
30 | * The id of the account which the playlist item belongs to.
31 | */
32 | @property (nonatomic, readonly) NSString * accountId;
33 |
34 | /**
35 | * The video id of the playlist item.
36 | */
37 | @property (nonatomic, readonly) NSString * videoId;
38 |
39 | /**
40 | * The STSVideo object.
41 | */
42 | @property (nonatomic, readonly) STSVideo * video;
43 |
44 | @end
45 | NS_ASSUME_NONNULL_END
46 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSSDKPlaybackStatus.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSSDKPlaybackStatus.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/16/16.
6 | //
7 | //
8 |
9 | #ifndef STSSDKPlaybackStatus_h
10 | #define STSSDKPlaybackStatus_h
11 |
12 | /**
13 | * The playback status of the player view.
14 | */
15 | typedef NS_ENUM(NSInteger, STSSDKPlaybackStatus) {
16 | /**
17 | * The default status. The player has no item to play.
18 | */
19 | STSSDKPlaybackStatusNone,
20 | /**
21 | * The player is loading a new item.
22 | */
23 | STSSDKPlaybackStatusConnecting,
24 | /**
25 | * The player is playing an item.
26 | */
27 | STSSDKPlaybackStatusPlaying,
28 | /**
29 | * The player is buffering.
30 | */
31 | STSSDKPlaybackStatusBuffering,
32 | /**
33 | * The player has an item to play, but is stopped/paused.
34 | */
35 | STSSDKPlaybackStatusStopped,
36 | /**
37 | * The player is stopped due to error.
38 | */
39 | STSSDKPlaybackStatusError,
40 | };
41 |
42 | #endif
43 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSSDKStreamingTimelineView.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSSDKPlayerTimelineView.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/22/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * A STSSDKStreamingTimelineView object includes subviews that shows the playback time information.
15 | */
16 | @interface STSSDKStreamingTimelineView : UIControl
17 |
18 | /**
19 | * The slider that shows the playback progress.
20 | */
21 | @property (nonatomic, readonly) UISlider * playbackTimeSlider;
22 |
23 | /**
24 | * The label shows the playback duration.
25 | */
26 | @property (nonatomic, readonly) UILabel * durationLabel;
27 |
28 | /**
29 | * The label shows the playback elapsed time.
30 | */
31 | @property (nonatomic, readonly) UILabel * playbackTimeLabel;
32 |
33 | /**
34 | * The layout constraints of the subviews embedded in the currentView.
35 | * Change this property to customize the layout of the subviews.
36 | */
37 | @property (nonatomic) NSArray * subviewLayoutConstraints;
38 |
39 | @end
40 |
41 | NS_ASSUME_NONNULL_END
42 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSTag.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSTag.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/28/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 | /**
13 | * Tag model for StraaS player SDK
14 | */
15 | @interface STSTag : LHDataObject
16 |
17 | /**
18 | * The tag id, which is uniquo.
19 | */
20 | @property (nonatomic, readonly) NSNumber * tagId;
21 |
22 | /**
23 | * The tag name.
24 | */
25 | @property (nonatomic, readonly) NSString * name;
26 |
27 | /**
28 | * The tag description.
29 | */
30 | @property (nonatomic, readonly) NSString * tagDescription;
31 |
32 | /**
33 | * The number of objects which are tagged with this tag.
34 | */
35 | @property (nonatomic, readonly) NSNumber * taggingsCount;
36 |
37 | @end
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSVideo.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSVideos.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/27/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * Video model of StraaS player SDK
15 | */
16 | @interface STSVideo : LHDataObject
17 |
18 | /**
19 | * The video id.
20 | */
21 | @property (nonatomic, readonly) NSString * videoId;
22 |
23 | /**
24 | * The id of the account which the resource belongs to.
25 | */
26 | @property (nonatomic, readonly) NSString * accountId;
27 |
28 | /**
29 | * The video title.
30 | */
31 | @property (nonatomic, readonly) NSString * title;
32 |
33 | /**
34 | * The video synopsis.
35 | */
36 | @property (nonatomic, readonly) NSString * synopsis;
37 |
38 | /**
39 | * The video transcoding status.
40 | */
41 | @property (nonatomic, readonly) BOOL accomplished;
42 |
43 | /**
44 | * The duration of the video.
45 | */
46 | @property (nonatomic, readonly) NSNumber * duration;
47 |
48 | /**
49 | * The large size thumbnail of thumbnail_urls.
50 | */
51 | @property (nonatomic, readonly) NSString * posterUrl;
52 |
53 | /**
54 | * The id of the live event that the video is generated by.
55 | * If a video is generated by a live event, it would have a corresponding live id.
56 | * If a video is generated by uploading, liveId would be nil;
57 | */
58 | @property (nonatomic, readonly, nullable) NSString * liveId;
59 |
60 | /**
61 | * Indicate if the source is 360-degree streaming or not.
62 | * "equirectangular" if the source is 360-degree streaming. "flat" if not.
63 | */
64 | @property (nonatomic, readonly) NSString * projection;
65 |
66 | /**
67 | * The total views count.
68 | * This property is deprecated. Use `playCountSum` instead.
69 | */
70 | @property (nonatomic, readonly) NSNumber * viewsCount __attribute__((deprecated("Use playCountSum instead.")));
71 |
72 | /**
73 | * The total viewers count.
74 | * This property is deprecated and will be removed in a feature release.
75 | */
76 | @property (nonatomic, readonly) NSNumber * viewersCount __attribute__((deprecated("This property will be removed in a feature release.")));
77 |
78 | /**
79 | * The total watched duration.
80 | * This property is deprecated. Use `playDurationSum` instead.
81 | */
82 | @property (nonatomic, readonly) NSNumber * timeWatched __attribute__((deprecated("Use playDurationSum instead.")));
83 |
84 | /**
85 | * The sum of number of times the media (Live or VOD) played.
86 | */
87 | @property (nonatomic, readonly) NSNumber * playCountSum;
88 |
89 | /**
90 | * The play count inherited from related media.
91 | */
92 | @property (nonatomic, readonly) NSNumber * basePlayCount;
93 |
94 | /**
95 | * The sum of play duration of the media (Live or VOD) in seconds.
96 | */
97 | @property (nonatomic, readonly) NSNumber * playDurationSum;
98 |
99 | /**
100 | * The play duration inherited from related media.
101 | */
102 | @property (nonatomic, readonly) NSNumber * basePlayDuration;
103 |
104 | /**
105 | * The video created time.
106 | */
107 | @property (nonatomic, readonly) NSString * createdAt;
108 |
109 | /**
110 | * The sum of number of times the media (Live or VOD) hit.
111 | */
112 | @property (nonatomic, readonly) NSNumber * hitCountSum;
113 |
114 | /**
115 | * The hit count inherited from related media.
116 | */
117 | @property (nonatomic, readonly) NSNumber * baseHitCount;
118 |
119 | @end
120 | NS_ASSUME_NONNULL_END
121 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSVideoMetadata.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSVideoMetadata.h
3 | // StraaS
4 | //
5 | // Created by Lee on 6/27/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * Video metadata model of StraaS player SDK
15 | */
16 | @interface STSVideoMetadata : LHDataObject
17 |
18 | /**
19 | * The metadata id.
20 | */
21 | @property (nonatomic, readonly) NSNumber * metadataId;
22 |
23 | /**
24 | * The author of the video.
25 | */
26 | @property (nonatomic, readonly, nullable) NSString * author;
27 |
28 | /**
29 | * The location of the video.
30 | */
31 | @property (nonatomic, readonly, nullable) NSString * location;
32 |
33 | /**
34 | * The language of the video.
35 | */
36 | @property (nonatomic, readonly, nullable) NSString * language;
37 |
38 | /**
39 | * The video id.
40 | */
41 | @property (nonatomic, readonly) NSString * videoId;
42 |
43 | @end
44 | NS_ASSUME_NONNULL_END
45 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/STSVideoScalingMode.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSVideoScalingMode.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/1/9.
6 | // Copyright © 2017年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSVideoScalingMode_h
10 | #define STSVideoScalingMode_h
11 |
12 | /**
13 | * Constants specify how the video is displayed within a STSSDKPLayerView.
14 | */
15 | typedef NS_ENUM(NSInteger, STSVideoScalingMode) {
16 | /**
17 | * Specifies that the player should preserve the video’s aspect ratio and fit the video within the STSSDKPLayerView's bounds.
18 | */
19 | STSVideoScalingModeAspectFit,
20 |
21 | /**
22 | * Specifies that the player should preserve the video’s aspect ratio and fill the STSSDKPLayerView's bounds.
23 | */
24 | STSVideoScalingModeAspectFill,
25 |
26 | /**
27 | * Specifies that the video should be stretched to fill the STSSDKPLayerView's bounds.
28 | */
29 | STSVideoScalingModeFill
30 | };
31 | #endif /* STSVideoScalingMode_h */
32 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Headers/StraaSPlayerSDK.h:
--------------------------------------------------------------------------------
1 | //
2 | // StraaSSDK.h
3 | // StraaSSDK
4 | //
5 | // Created by Lee on 6/15/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for StraaSSDK.
12 | FOUNDATION_EXPORT double StraaSSDKVersionNumber;
13 |
14 | //! Project version string for StraaSSDK.
15 | FOUNDATION_EXPORT const unsigned char StraaSSDKVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 | #import
19 | #import
20 | #import
21 | #import
22 | #import
23 | #import
24 | #import
25 | #import
26 | #import
27 | #import
28 | #import
29 | #import
30 | #import
31 | #import
32 | #import
33 | #import
34 | #import
35 | #import
36 | #import
37 | #import
38 | #import
39 | #import
40 | #import
41 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Info.plist
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSPlayerSDK
4 | @_exported import StraaSPlayerSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios13.0 -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSPlayerSDK
4 | @_exported import StraaSPlayerSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/arm64-apple-ios.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target x86_64-apple-ios13.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSPlayerSDK
4 | @_exported import StraaSPlayerSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/Modules/StraaSPlayerSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module StraaSPlayerSDK {
2 | umbrella header "StraaSPlayerSDK.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module StraaSPlayerSDK.Swift {
9 | header "StraaSPlayerSDK-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyCollectedDataTypes
6 |
7 |
8 | NSPrivacyCollectedDataType
9 | NSPrivacyCollectedDataTypePreciseLocation
10 | NSPrivacyCollectedDataTypeLinked
11 |
12 | NSPrivacyCollectedDataTypeTracking
13 |
14 | NSPrivacyCollectedDataTypePurposes
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/Shader.vsh:
--------------------------------------------------------------------------------
1 | //
2 | // Shader.vsh
3 | //
4 | // Created by on 11/8/15.
5 | // Copyright © 2015 Hanton. All rights reserved.
6 | //
7 |
8 | attribute vec4 position;
9 | attribute vec2 texCoord;
10 |
11 | varying vec2 v_textureCoordinate;
12 |
13 | uniform mat4 modelViewProjectionMatrix;
14 |
15 | void main() {
16 | v_textureCoordinate = texCoord;
17 | gl_Position = modelViewProjectionMatrix * position;
18 | }
19 |
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/StraaSPlayerSDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/StraaSPlayerSDK
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeDirectory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeDirectory
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeRequirements:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeRequirements
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeRequirements-1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeRequirements-1
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeSignature:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/_CodeSignature/CodeSignature
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/en.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSPlayerSDK.framework/zh-Hant.lproj/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSPlayerSDK.framework/zh-Hant.lproj/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSAudioConfiguration.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSAudioConfiguration.h
3 | // StraaS
4 | //
5 | // Created by Harry on 17/07/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /**
12 | * Indicates ReplayKit's microphone audio channel.
13 | */
14 | extern NSString * const kSTSReplayKitAudioChannelMic;
15 |
16 | /**
17 | * Indicates ReplayKit's application audio channel.
18 | */
19 | extern NSString * const kSTSReplayKitAudioChannelApp;
20 |
21 | /**
22 | * Constants specifying the audio sample rate.
23 | */
24 | typedef NS_ENUM(NSInteger, STSAudioSampleRate) {
25 |
26 | /**
27 | * Indicates the sample rate of 16000 Hz.
28 | */
29 | STSAudioSampleRate_16000Hz = 16000,
30 |
31 | /**
32 | * Indicates the sample rate of 44100 Hz.
33 | */
34 | STSAudioSampleRate_44100Hz = 44100,
35 |
36 | /**
37 | * Indicates the sample rate of 48000 Hz.
38 | */
39 | STSAudioSampleRate_48000Hz = 48000
40 | };
41 |
42 | /**
43 | * A STSAudioConfiguration object defines the audio configuration of a STSLiveStreamer object.
44 | */
45 | @interface STSAudioConfiguration : NSObject
46 |
47 | /**
48 | * The output audio sample rate. Defaults to STSAudioSampleRate_44100Hz. See STSAudioSampleRate for details.
49 | */
50 | @property (nonatomic) STSAudioSampleRate sampleRate;
51 |
52 | /**
53 | * The number of output channels. Defaults to 1. Set the value to 1 for mono and 2 for stereo.
54 | */
55 | @property (nonatomic) NSUInteger numOfChannels;
56 |
57 | /**
58 | * The input ReplayKit audio channels. Defaults to nil.
59 | */
60 | @property (nonatomic, copy) NSArray * replayKitAudioChannels;
61 |
62 | /**
63 | * The volume of kSTSReplayKitAudioChannelMic channel. The property will be used only when the elements of replayKitAudioChannels contain both kSTSReplayKitAudioChannelMic and kSTSReplayKitAudioChannelApp. The value must be between 0.0 and 1.0. By default, the value is set to 0.8.
64 | */
65 | @property (nonatomic) float replayKitMicChannelVolume;
66 |
67 | /**
68 | * The volume of kSTSReplayKitAudioChannelApp channel. The property will be used only when the elements of replayKitAudioChannels contain both kSTSReplayKitAudioChannelMic and kSTSReplayKitAudioChannelApp. The value must be between 0.0 and 1.0. By default, the value is set to 0.8.
69 | */
70 | @property (nonatomic) float replayKitAppChannelVolume;
71 |
72 | @end
73 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSSkinBeautifyFilter.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSSkinBeautifyFilter.h
3 | // StraaSStreamingSDK
4 | //
5 | // Created by Allen on 2019/1/17.
6 | // Copyright © 2019 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | /**
14 | * GPUImageFilter for beaufity skin.
15 | */
16 | @interface STSSkinBeautifyFilter : GPUImageFilter
17 |
18 | /**
19 | * The class method to create a STSSkinBeautifyFilter instance with default skin smoothness level 0.5, brightness level 0.5.
20 | */
21 | + (STSSkinBeautifyFilter *)filter;
22 |
23 | /**
24 | * The class method to create a STSSkinBeautifyFilter.
25 | * @param skinSmoothnessLevel The skin smoothness level.
26 | * @param brightnessLevel The brightness level.
27 | * @return The instance of the STSSkinBeautifyFilter.
28 | */
29 | + (STSSkinBeautifyFilter *)filterWithSkinSmoothnessLevel:(CGFloat)skinSmoothnessLevel brightnessLevel:(CGFloat)brightnessLevel;
30 |
31 | /**
32 | * The skin smoothness level. The default value is 0.5. Suggested value is between 0 to 2.
33 | */
34 | @property (nonatomic, assign) CGFloat skinSmoothnessLevel;
35 |
36 | /**
37 | * The brightness level. The default value is 0.5. Suggested value is between 0 to 1.
38 | */
39 | @property (nonatomic, assign) CGFloat brightnessLevel;
40 |
41 | /**
42 | * Using init to create a STSSkinBeautifyFilter instance is unavailable.
43 | */
44 | - (instancetype)init NS_UNAVAILABLE;
45 |
46 | /**
47 | * Using new to create a STSSkinBeautifyFilter instance is unavailable.
48 | */
49 | + (instancetype)new NS_UNAVAILABLE;
50 |
51 | /**
52 | * Using initWithFragmentShaderFromFile to create a STSSkinBeautifyFilter instance is unavailable.
53 | */
54 | - (instancetype)initWithFragmentShaderFromFile:(NSString *)fragmentShaderFilename NS_UNAVAILABLE;
55 |
56 | /**
57 | * Using initWithFragmentShaderFromString to create a STSSkinBeautifyFilter instance is unavailable.
58 | */
59 | - (instancetype)initWithFragmentShaderFromString:(NSString *)fragmentShaderString NS_UNAVAILABLE;
60 |
61 | /**
62 | * Using initWithVertexShaderFromString to create a STSSkinBeautifyFilter instance is unavailable.
63 | */
64 | -(id)initWithVertexShaderFromString:(NSString *)vertexShaderString fragmentShaderFromString:(NSString *)fragmentShaderString NS_UNAVAILABLE;
65 |
66 | @end
67 |
68 | NS_ASSUME_NONNULL_END
69 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingConstants.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingConstants.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/1/9.
6 | // Copyright © 2017年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #ifndef STSStreamingConstants_h
12 | #define STSStreamingConstants_h
13 |
14 | /**
15 | * The error doamin of StraaS streaming SDK.
16 | */
17 | FOUNDATION_EXPORT NSString * const STSStreamingErrorDomain;
18 |
19 | #endif /* STSStreamingConstants_h */
20 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingErrorCode.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingErrorCode.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/10/26.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSStreamingSDKErrorCode_h
10 | #define STSStreamingSDKErrorCode_h
11 |
12 | /**
13 | * StraaS.io streaming SDK error code
14 | */
15 | typedef NS_ENUM(NSUInteger, STSStreamingErrorCode) {
16 | /**
17 | * Couldn't access the camera, may be the permission problem or other camera problems.
18 | */
19 | STSStreamingErrorCodeCamera = 0,
20 | /**
21 | * Couldn't access the microphone, may be the permission problem or other microphone problems.
22 | */
23 | STSStreamingErrorCodeMicrophone = 1,
24 | /**
25 | * Resolution is not supported by camera in current device.
26 | */
27 | STSStreamingErrorCodeResolutionNotSupport = 2,
28 | /**
29 | * SDK internal error happened, please try again or report issue.
30 | */
31 | STSStreamingErrorCodeInternal = 3,
32 | /**
33 | * Network error, underlying error object is included in the user info dictionary.
34 | */
35 | STSStreamingErrorCodeNetwork = 4,
36 | /**
37 | * Operation is denied, the cause may be calling a method in wrong state.
38 | */
39 | STSStreamingErrorCodeOperationDenied = 5,
40 | /**
41 | * Server side error happened, please try again later or contact with service provider.
42 | */
43 | STSStreamingErrorCodeServer = 6,
44 | /**
45 | * Member JWT is invalid or expired. Please try again with a new member JWT.
46 | */
47 | STSStreamingErrorCodeUnauthorized = 7,
48 | /**
49 | * Provided parameter is invalid.
50 | */
51 | STSStreamingErrorCodeParameterNotSupport = 8,
52 | /**
53 | * Couldn't create new event because of limitation of user's live event count.
54 | */
55 | STSStreamingErrorCodeLiveCountLimit = 9,
56 | /**
57 | * Live event expired, please remove this event by calling STSStreamingManager's `cleanLiveEvent:success:failure:` method.
58 | */
59 | STSStreamingErrorCodeEventExpired = 10,
60 | /**
61 | * Couldn't find target live event. This error may be due to the event doesn't exist, is ended, or doesn't belong to current JWT.
62 | */
63 | STSStreamingErrorCodeEventNotFound = 11,
64 | /**
65 | * Too many requests for the server, please try again later.
66 | */
67 | STSStreamingTooManyRequests = 12,
68 | };
69 |
70 | #endif /* STSStreamingSDKErrorCode_h */
71 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingInfo.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingInfo.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/10/24.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * Streaming info of a live event.
16 | */
17 | @interface STSStreamingInfo : LHDataObject
18 |
19 | /**
20 | * The live id.
21 | */
22 | @property (nonatomic, readonly) NSString *liveId;
23 |
24 | /**
25 | * The stream server URL.
26 | */
27 | @property (nonatomic, readonly) NSString *streamServerURL;
28 |
29 | /**
30 | * The stream key.
31 | */
32 | @property (nonatomic, readonly) NSString *streamKey;
33 |
34 | @end
35 |
36 | NS_ASSUME_NONNULL_END
37 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingPrepareConfig.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingPrepareConfig.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/1/25.
6 | // Copyright © 2017年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "STSStreamingResolution.h"
12 |
13 |
14 | NS_ASSUME_NONNULL_BEGIN
15 |
16 | /**
17 | * A STSStreamingPrepareConfig object defines the prepare configuration of the stream manager.
18 | */
19 | @interface STSStreamingPrepareConfig : NSObject
20 |
21 | /**
22 | * The target size of the output video. Defaults to `CGSizeZero`.
23 | * The width and height should both be the positive even number.
24 | * If this property is set to `CGSizeZero`, the output video size will be calculated by the streaming manager according to property `fitAllCamera`, `maxResolution` and the aspect ratio of the preview view.
25 | */
26 | @property (nonatomic) CGSize targetOutputSize;
27 |
28 | /**
29 | * A boolean value indicates if the size of the output video should fit all available cameras on the device.
30 | * Defaults to `YES`. This property will be used only when `targetOutputSize` is equal to `CGSizeZero`.
31 | * If this property is set to `NO`, the output video size will be limited by the max resolution of the current camera. If this property is set to `YES`, the output video size will be limited by the max resolution of all available cameras.
32 | */
33 | @property (nonatomic) BOOL fitAllCamera;
34 |
35 | /**
36 | * The max resolution of the output video. Defaluts to `STSStreamingResolution720p`.
37 | * Both the width and the height of the output video will be limited by this value.
38 | * This property will be used only when `targetOutputSize` is equal to `CGSizeZero`.
39 | */
40 | @property (nonatomic) STSStreamingResolution maxResolution __attribute__((deprecated("`maxResolution` has been deprecated. Use `maxVideoHeight` instead.")));
41 |
42 | /**
43 | * The max video hieght of the output video. Defaluts to 720.
44 | * The height of the output video will be limited by this value, and the width is limited by the calculated width based on `maxVideoHeight` and the aspect ratio of the `previewView` in `STSStreamingManager`. This value is usually as same as the `profile` in `STSStreamingLiveEventConfig` if you create a live event by iOS client SDK.
45 | * This property will be used only when `targetOutputSize` is equal to `CGSizeZero`.
46 | */
47 | @property (nonatomic) NSUInteger maxVideoHeight;
48 |
49 | /**
50 | * The orientation of the output video. Defaults to `UIInterfaceOrientationPortrait`.
51 | */
52 | @property (nonatomic) UIInterfaceOrientation outputImageOrientation;
53 |
54 | /**
55 | * The maximum video bitrate in bits per second.
56 | * By default, no value is set and the SDK calculates the maximum bitrate automatically using an algorithm which considers the output video size. We recommend to set maxVideoBitrate to at least more than 100000.
57 | */
58 | @property (nonatomic) NSNumber * maxVideoBitrate;
59 |
60 | @end
61 |
62 | NS_ASSUME_NONNULL_END
63 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingProfile.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingProfile.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2018/4/16.
6 | // Copyright © 2018年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSStreamingProfile_h
10 | #define STSStreamingProfile_h
11 |
12 | /**
13 | * The profile of the live event.
14 | */
15 | typedef NS_ENUM(NSUInteger, STSStreamingProfile) {
16 | /**
17 | * No profile setting.
18 | */
19 | STSStreamingProfileNone,
20 | /**
21 | * 1080p(1920 x 1080) and origin streaming source.
22 | */
23 | STSStreamingProfile1080pAndSource,
24 |
25 | /**
26 | * 720p(1280 x 720) and origin streaming source.
27 | */
28 | STSStreamingProfile720pAndSource,
29 |
30 | /**
31 | * 720p resolution.(1280 x 720)
32 | */
33 | STSStreamingProfile720p,
34 |
35 | /**
36 | * 360p resolution.(640 x 360)
37 | */
38 | STSStreamingProfile360p,
39 | };
40 |
41 | #endif /* STSStreamingProfile_h */
42 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingResolution.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingResolution.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2017/1/16.
6 | // Copyright © 2017年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSStreamingResolution_h
10 | #define STSStreamingResolution_h
11 |
12 | /**
13 | * The highest resolution of the live event.
14 | */
15 | typedef NS_ENUM(NSUInteger, STSStreamingResolution) {
16 | /**
17 | * 1080p resolution.(1920 * 1080)
18 | */
19 | STSStreamingResolution1080p,
20 |
21 | /**
22 | * 720p resolution.(1280 x 720)
23 | */
24 | STSStreamingResolution720p,
25 |
26 | /**
27 | * 360p resolution.(640 x 360)
28 | */
29 | STSStreamingResolution360p
30 | };
31 |
32 | #endif /* STSStreamingResolution_h */
33 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingState.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingState.h
3 | // StraaS
4 | //
5 | // Created by shihwen.wang on 2016/10/27.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #ifndef STSStreamingState_h
10 | #define STSStreamingState_h
11 |
12 | /**
13 | * The state of the STSStreamingManager.
14 | */
15 | typedef NS_ENUM(NSUInteger, STSStreamingState) {
16 | /**
17 | * The initial state.
18 | */
19 | STSStreamingStateIdle = 0,
20 | /**
21 | * The STSStreamingManager is in the process of preparing.
22 | */
23 | STSStreamingStatePreparing = 1,
24 | /**
25 | * The STSStreamingManager is ready for streaming. You can start streaming in this state.
26 | */
27 | STSStreamingStatePrepared = 2,
28 | /**
29 | * The STSStreamingManager is connecting to the server, but is not yet connected.
30 | */
31 | STSStreamingStateConnecting = 3,
32 | /**
33 | * The STSStreamingManager is streaming to the server.
34 | */
35 | STSStreamingStateStreaming = 4,
36 | /**
37 | * The STSStreamingManager is in the process of disconnecting.
38 | */
39 | STSStreamingStateDisconnecting = 5
40 | };
41 | #endif /* STSStreamingState_h */
42 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSStreamingStatsReport.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSStreamingStatsReport.h
3 | // StraaS
4 | //
5 | // Created by Harry Hsu on 13/10/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | /**
13 | * A STSStreamingStatsReport object provides streaming related information.
14 | */
15 | @interface STSStreamingStatsReport : NSObject
16 |
17 | /**
18 | * The bitrate in bits per second.
19 | */
20 | @property (nonatomic, readonly) NSUInteger currentBitrate;
21 |
22 | /**
23 | * The video frame rate in frames per second.
24 | */
25 | @property (nonatomic, readonly) CGFloat currentFPS;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/STSVideoConfiguration.h:
--------------------------------------------------------------------------------
1 | //
2 | // STSRKVideoConfiguration.h
3 | // StraaS
4 | //
5 | // Created by Harry on 17/07/2017.
6 | // Copyright © 2017 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | /**
15 | * A STSVideoConfiguration object defines the video configuration of a STSLiveStreamer object.
16 | */
17 | @interface STSVideoConfiguration : NSObject
18 |
19 | /**
20 | * The output video resolution. Defaults to CGSizeZero. The width and height should both be even and the maximum resolution is 1080p.
21 | */
22 | @property (nonatomic) CGSize videoSize;
23 |
24 | /**
25 | * The output frame rate. Defaults to 30. The value must be between 1 and 60.
26 | */
27 | @property (nonatomic) NSUInteger frameRate;
28 |
29 | @end
30 |
31 | NS_ASSUME_NONNULL_END
32 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Headers/StraaSStreamingSDK.h:
--------------------------------------------------------------------------------
1 | //
2 | // StraaSStreamingSDK.h
3 | // StraaSStreamingSDK
4 | //
5 | // Created by shihwen.wang on 2016/10/24.
6 | // Copyright © 2016年 StraaS.io. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | //! Project version number for StraaSStreamingSDK.
12 | FOUNDATION_EXPORT double StraaSStreamingSDKVersionNumber;
13 |
14 | //! Project version string for StraaSStreamingSDK.
15 | FOUNDATION_EXPORT const unsigned char StraaSStreamingSDKVersionString[];
16 |
17 | // In this header, you should import all the public headers of your framework using statements like #import
18 | #import
19 | #import
20 | #import
21 | #import
22 | #import
23 | #import
24 | #import
25 | #import
26 | #import
27 | #import
28 | #import
29 | #import
30 | #import
31 | #import
32 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Info.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Info.plist
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Localizable.strings
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios11.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSStreamingSDK
4 | @_exported import StraaSStreamingSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target arm64-apple-ios11.0 -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSStreamingSDK
4 | @_exported import StraaSStreamingSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/arm64-apple-ios.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:
--------------------------------------------------------------------------------
1 | // swift-interface-format-version: 1.0
2 | // swift-compiler-version: Apple Swift version 5.6.1 effective-4.1.50 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
3 | // swift-module-flags: -target x86_64-apple-ios11.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 4 -enforce-exclusivity=checked -O -module-name StraaSStreamingSDK
4 | @_exported import StraaSStreamingSDK
5 | import Swift
6 | import _Concurrency
7 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/Modules/StraaSStreamingSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/Modules/module.modulemap:
--------------------------------------------------------------------------------
1 | framework module StraaSStreamingSDK {
2 | umbrella header "StraaSStreamingSDK.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
8 | module StraaSStreamingSDK.Swift {
9 | header "StraaSStreamingSDK-Swift.h"
10 | requires objc
11 | }
12 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/PrivacyInfo.xcprivacy:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NSPrivacyCollectedDataTypes
6 |
7 | NSPrivacyTracking
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/StraaSStreamingSDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/StraaSStreamingSDK
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeDirectory:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeDirectory
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeRequirements:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeRequirements
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeRequirements-1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeRequirements-1
--------------------------------------------------------------------------------
/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeSignature:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Straas/Straas-iOS-sdk/8b7b55abb42d2447ce66e5173fd2798d01e39c4b/ios/StraaSStreamingSDK.framework/_CodeSignature/CodeSignature
--------------------------------------------------------------------------------