├── README.md
├── android.zip
├── android
├── README.md
└── sdk
│ ├── build.gradle
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── com
│ │ └── showjoy
│ │ └── weex
│ │ ├── ISHWeexRenderCallback.java
│ │ ├── ISHWeexRequestCallback.java
│ │ ├── ISHWeexService.java
│ │ ├── SHWeexConstants.java
│ │ ├── SHWeexLog.java
│ │ ├── SHWeexManager.java
│ │ ├── SHWeexRender.java
│ │ ├── SHWeexUtils.java
│ │ ├── commons
│ │ ├── adapter
│ │ │ ├── SHCustomURIAdapter.java
│ │ │ ├── SHFrescoImageAdapter.java
│ │ │ ├── SHOkHttpAdapter.java
│ │ │ ├── SHStorageAdapter.java
│ │ │ ├── SHUserTrackAdapter.java
│ │ │ └── okhttp
│ │ │ │ ├── OkHttpRequestBody.java
│ │ │ │ ├── OkHttpResponseBody.java
│ │ │ │ └── listener
│ │ │ │ ├── OkHttpRequestListener.java
│ │ │ │ └── OkHttpResponseListener.java
│ │ └── util
│ │ │ ├── CommonUtils.java
│ │ │ ├── DownLoaderTask.java
│ │ │ ├── JsonUtils.java
│ │ │ └── NetWorkUtils.java
│ │ ├── entities
│ │ └── WeexConfig.java
│ │ ├── event
│ │ ├── LoadingEvent.java
│ │ ├── NewPageEvent.java
│ │ ├── ShowTitleBarEvent.java
│ │ ├── TitleEvent.java
│ │ └── WeexBaseEvent.java
│ │ └── extend
│ │ ├── component
│ │ └── FrescoImageComponent.java
│ │ └── module
│ │ ├── SHWXBaseModule.java
│ │ └── WXEventModule.java
│ └── res
│ └── layout
│ └── weex_fragment.xml
├── examples
└── README.md
├── html5
└── README.md
└── ios
├── Podfile
├── Podfile.lock
├── Pods
├── Headers
│ ├── Private
│ │ ├── PINCache
│ │ │ ├── PINCache.h
│ │ │ ├── PINCacheMacros.h
│ │ │ ├── PINCacheObjectSubscripting.h
│ │ │ ├── PINCaching.h
│ │ │ ├── PINDiskCache.h
│ │ │ └── PINMemoryCache.h
│ │ ├── PINOperation
│ │ │ ├── PINOperation.h
│ │ │ ├── PINOperationGroup.h
│ │ │ ├── PINOperationMacros.h
│ │ │ ├── PINOperationQueue.h
│ │ │ └── PINOperationTypes.h
│ │ ├── PINRemoteImage
│ │ │ ├── NSData+ImageDetectors.h
│ │ │ ├── NSURLSessionTask+Timing.h
│ │ │ ├── PINAlternateRepresentationProvider.h
│ │ │ ├── PINAnimatedImage.h
│ │ │ ├── PINAnimatedImageManager.h
│ │ │ ├── PINButton+PINRemoteImage.h
│ │ │ ├── PINCache+PINRemoteImageCaching.h
│ │ │ ├── PINImage+DecodedImage.h
│ │ │ ├── PINImage+ScaledImage.h
│ │ │ ├── PINImage+WebP.h
│ │ │ ├── PINImageView+PINRemoteImage.h
│ │ │ ├── PINProgressiveImage.h
│ │ │ ├── PINRemoteImage.h
│ │ │ ├── PINRemoteImageBasicCache.h
│ │ │ ├── PINRemoteImageCaching.h
│ │ │ ├── PINRemoteImageCallbacks.h
│ │ │ ├── PINRemoteImageCategoryManager.h
│ │ │ ├── PINRemoteImageDownloadQueue.h
│ │ │ ├── PINRemoteImageDownloadTask.h
│ │ │ ├── PINRemoteImageMacros.h
│ │ │ ├── PINRemoteImageManager+Private.h
│ │ │ ├── PINRemoteImageManager.h
│ │ │ ├── PINRemoteImageManagerResult.h
│ │ │ ├── PINRemoteImageMemoryContainer.h
│ │ │ ├── PINRemoteImageProcessorTask.h
│ │ │ ├── PINRemoteImageTask+Subclassing.h
│ │ │ ├── PINRemoteImageTask.h
│ │ │ ├── PINRemoteLock.h
│ │ │ ├── PINResume.h
│ │ │ └── PINURLSessionManager.h
│ │ └── SocketRocket
│ │ │ ├── SRWebSocket.h
│ │ │ └── SocketRocket.h
│ └── Public
│ │ ├── PINCache
│ │ ├── PINCache.h
│ │ ├── PINCacheMacros.h
│ │ ├── PINCacheObjectSubscripting.h
│ │ ├── PINCaching.h
│ │ ├── PINDiskCache.h
│ │ └── PINMemoryCache.h
│ │ ├── PINOperation
│ │ ├── PINOperation.h
│ │ ├── PINOperationGroup.h
│ │ ├── PINOperationMacros.h
│ │ ├── PINOperationQueue.h
│ │ └── PINOperationTypes.h
│ │ ├── PINRemoteImage
│ │ ├── NSData+ImageDetectors.h
│ │ ├── NSURLSessionTask+Timing.h
│ │ ├── PINAlternateRepresentationProvider.h
│ │ ├── PINAnimatedImage.h
│ │ ├── PINAnimatedImageManager.h
│ │ ├── PINButton+PINRemoteImage.h
│ │ ├── PINCache+PINRemoteImageCaching.h
│ │ ├── PINImage+DecodedImage.h
│ │ ├── PINImage+ScaledImage.h
│ │ ├── PINImage+WebP.h
│ │ ├── PINImageView+PINRemoteImage.h
│ │ ├── PINProgressiveImage.h
│ │ ├── PINRemoteImage.h
│ │ ├── PINRemoteImageBasicCache.h
│ │ ├── PINRemoteImageCaching.h
│ │ ├── PINRemoteImageCallbacks.h
│ │ ├── PINRemoteImageCategoryManager.h
│ │ ├── PINRemoteImageDownloadQueue.h
│ │ ├── PINRemoteImageDownloadTask.h
│ │ ├── PINRemoteImageMacros.h
│ │ ├── PINRemoteImageManager+Private.h
│ │ ├── PINRemoteImageManager.h
│ │ ├── PINRemoteImageManagerResult.h
│ │ ├── PINRemoteImageMemoryContainer.h
│ │ ├── PINRemoteImageProcessorTask.h
│ │ ├── PINRemoteImageTask+Subclassing.h
│ │ ├── PINRemoteImageTask.h
│ │ ├── PINRemoteLock.h
│ │ ├── PINResume.h
│ │ └── PINURLSessionManager.h
│ │ ├── SocketRocket
│ │ ├── SRWebSocket.h
│ │ └── SocketRocket.h
│ │ └── WeexSDK
│ │ └── WeexSDK
│ │ ├── Layout.h
│ │ ├── NSObject+WXSwizzle.h
│ │ ├── WXAComponent.h
│ │ ├── WXAppConfiguration.h
│ │ ├── WXAppMonitorProtocol.h
│ │ ├── WXBaseViewController.h
│ │ ├── WXBridgeManager.h
│ │ ├── WXBridgeProtocol.h
│ │ ├── WXComponent.h
│ │ ├── WXComponentManager.h
│ │ ├── WXConvert.h
│ │ ├── WXDebugTool.h
│ │ ├── WXDefine.h
│ │ ├── WXEventModuleProtocol.h
│ │ ├── WXImgLoaderProtocol.h
│ │ ├── WXJSExceptionInfo.h
│ │ ├── WXJSExceptionProtocol.h
│ │ ├── WXLayoutDefine.h
│ │ ├── WXListComponent.h
│ │ ├── WXLog.h
│ │ ├── WXModalUIModule.h
│ │ ├── WXModuleProtocol.h
│ │ ├── WXMonitor.h
│ │ ├── WXNavigationProtocol.h
│ │ ├── WXNetworkProtocol.h
│ │ ├── WXResourceRequest.h
│ │ ├── WXResourceRequestHandler.h
│ │ ├── WXResourceResponse.h
│ │ ├── WXRootViewController.h
│ │ ├── WXSDKEngine.h
│ │ ├── WXSDKError.h
│ │ ├── WXSDKInstance.h
│ │ ├── WXSDKManager.h
│ │ ├── WXScrollerComponent.h
│ │ ├── WXScrollerProtocol.h
│ │ ├── WXType.h
│ │ ├── WXURLRewriteProtocol.h
│ │ ├── WXUtility.h
│ │ ├── WXValidateProtocol.h
│ │ └── WeexSDK.h
├── Manifest.lock
├── PINCache
│ ├── LICENSE.txt
│ ├── README.md
│ └── Source
│ │ ├── PINCache.h
│ │ ├── PINCache.m
│ │ ├── PINCacheMacros.h
│ │ ├── PINCacheObjectSubscripting.h
│ │ ├── PINCaching.h
│ │ ├── PINDiskCache.h
│ │ ├── PINDiskCache.m
│ │ ├── PINMemoryCache.h
│ │ └── PINMemoryCache.m
├── PINOperation
│ ├── LICENSE.txt
│ ├── README.md
│ └── Source
│ │ ├── PINOperation.h
│ │ ├── PINOperationGroup.h
│ │ ├── PINOperationGroup.m
│ │ ├── PINOperationMacros.h
│ │ ├── PINOperationQueue.h
│ │ ├── PINOperationQueue.m
│ │ └── PINOperationTypes.h
├── PINRemoteImage
│ ├── LICENSE
│ ├── README.md
│ └── Source
│ │ └── Classes
│ │ ├── Categories
│ │ ├── NSData+ImageDetectors.h
│ │ ├── NSData+ImageDetectors.m
│ │ ├── NSURLSessionTask+Timing.h
│ │ ├── NSURLSessionTask+Timing.m
│ │ ├── PINImage+DecodedImage.h
│ │ ├── PINImage+DecodedImage.m
│ │ ├── PINImage+ScaledImage.h
│ │ ├── PINImage+ScaledImage.m
│ │ ├── PINImage+WebP.h
│ │ ├── PINImage+WebP.m
│ │ └── PINRemoteImageTask+Subclassing.h
│ │ ├── Image Categories
│ │ ├── PINButton+PINRemoteImage.h
│ │ ├── PINButton+PINRemoteImage.m
│ │ ├── PINImageView+PINRemoteImage.h
│ │ └── PINImageView+PINRemoteImage.m
│ │ ├── PINAlternateRepresentationProvider.h
│ │ ├── PINAlternateRepresentationProvider.m
│ │ ├── PINAnimatedImage.h
│ │ ├── PINAnimatedImage.m
│ │ ├── PINAnimatedImageManager.h
│ │ ├── PINAnimatedImageManager.m
│ │ ├── PINCache
│ │ ├── PINCache+PINRemoteImageCaching.h
│ │ └── PINCache+PINRemoteImageCaching.m
│ │ ├── PINProgressiveImage.h
│ │ ├── PINProgressiveImage.m
│ │ ├── PINRemoteImage.h
│ │ ├── PINRemoteImageBasicCache.h
│ │ ├── PINRemoteImageBasicCache.m
│ │ ├── PINRemoteImageCaching.h
│ │ ├── PINRemoteImageCallbacks.h
│ │ ├── PINRemoteImageCallbacks.m
│ │ ├── PINRemoteImageCategoryManager.h
│ │ ├── PINRemoteImageCategoryManager.m
│ │ ├── PINRemoteImageDownloadQueue.h
│ │ ├── PINRemoteImageDownloadQueue.m
│ │ ├── PINRemoteImageDownloadTask.h
│ │ ├── PINRemoteImageDownloadTask.m
│ │ ├── PINRemoteImageMacros.h
│ │ ├── PINRemoteImageManager+Private.h
│ │ ├── PINRemoteImageManager.h
│ │ ├── PINRemoteImageManager.m
│ │ ├── PINRemoteImageManagerResult.h
│ │ ├── PINRemoteImageManagerResult.m
│ │ ├── PINRemoteImageMemoryContainer.h
│ │ ├── PINRemoteImageMemoryContainer.m
│ │ ├── PINRemoteImageProcessorTask.h
│ │ ├── PINRemoteImageProcessorTask.m
│ │ ├── PINRemoteImageTask.h
│ │ ├── PINRemoteImageTask.m
│ │ ├── PINRemoteLock.h
│ │ ├── PINRemoteLock.m
│ │ ├── PINResume.h
│ │ ├── PINResume.m
│ │ ├── PINURLSessionManager.h
│ │ └── PINURLSessionManager.m
├── Pods.xcodeproj
│ ├── project.pbxproj
│ └── xcuserdata
│ │ └── guo.xcuserdatad
│ │ └── xcschemes
│ │ ├── PINCache.xcscheme
│ │ ├── PINOperation.xcscheme
│ │ ├── PINRemoteImage.xcscheme
│ │ ├── Pods-SHWeexSDK.xcscheme
│ │ ├── SocketRocket.xcscheme
│ │ └── xcschememanagement.plist
├── SocketRocket
│ ├── LICENSE
│ ├── README.rst
│ └── SocketRocket
│ │ ├── SRWebSocket.h
│ │ ├── SRWebSocket.m
│ │ └── SocketRocket.h
├── Target Support Files
│ ├── PINCache
│ │ ├── PINCache-dummy.m
│ │ ├── PINCache-prefix.pch
│ │ └── PINCache.xcconfig
│ ├── PINOperation
│ │ ├── PINOperation-dummy.m
│ │ ├── PINOperation-prefix.pch
│ │ └── PINOperation.xcconfig
│ ├── PINRemoteImage
│ │ ├── PINRemoteImage-dummy.m
│ │ ├── PINRemoteImage-prefix.pch
│ │ └── PINRemoteImage.xcconfig
│ ├── Pods-SHWeexSDK
│ │ ├── Pods-SHWeexSDK-acknowledgements.markdown
│ │ ├── Pods-SHWeexSDK-acknowledgements.plist
│ │ ├── Pods-SHWeexSDK-dummy.m
│ │ ├── Pods-SHWeexSDK-frameworks.sh
│ │ ├── Pods-SHWeexSDK-resources.sh
│ │ ├── Pods-SHWeexSDK.debug.xcconfig
│ │ └── Pods-SHWeexSDK.release.xcconfig
│ └── SocketRocket
│ │ ├── SocketRocket-dummy.m
│ │ ├── SocketRocket-prefix.pch
│ │ └── SocketRocket.xcconfig
└── WeexSDK
│ └── WeexSDK.framework
│ ├── Headers
│ ├── Layout.h
│ ├── NSObject+WXSwizzle.h
│ ├── WXAComponent.h
│ ├── WXAppConfiguration.h
│ ├── WXAppMonitorProtocol.h
│ ├── WXBaseViewController.h
│ ├── WXBridgeManager.h
│ ├── WXBridgeProtocol.h
│ ├── WXComponent.h
│ ├── WXComponentManager.h
│ ├── WXConvert.h
│ ├── WXDebugTool.h
│ ├── WXDefine.h
│ ├── WXEventModuleProtocol.h
│ ├── WXImgLoaderProtocol.h
│ ├── WXJSExceptionInfo.h
│ ├── WXJSExceptionProtocol.h
│ ├── WXLayoutDefine.h
│ ├── WXListComponent.h
│ ├── WXLog.h
│ ├── WXModalUIModule.h
│ ├── WXModuleProtocol.h
│ ├── WXMonitor.h
│ ├── WXNavigationProtocol.h
│ ├── WXNetworkProtocol.h
│ ├── WXResourceRequest.h
│ ├── WXResourceRequestHandler.h
│ ├── WXResourceResponse.h
│ ├── WXRootViewController.h
│ ├── WXSDKEngine.h
│ ├── WXSDKError.h
│ ├── WXSDKInstance.h
│ ├── WXSDKManager.h
│ ├── WXScrollerComponent.h
│ ├── WXScrollerProtocol.h
│ ├── WXType.h
│ ├── WXURLRewriteProtocol.h
│ ├── WXUtility.h
│ ├── WXValidateProtocol.h
│ └── WeexSDK.h
│ ├── WeexSDK
│ └── wx_load_error@3x.png
├── README.md
├── SHWeexSDK.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ └── guo.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── guo.xcuserdatad
│ └── xcschemes
│ ├── SHWeexSDK.xcscheme
│ └── xcschememanagement.plist
├── SHWeexSDK.xcworkspace
├── contents.xcworkspacedata
└── xcuserdata
│ └── guo.xcuserdatad
│ └── UserInterfaceState.xcuserstate
├── SHWeexSDK
├── AppDelegate.h
├── AppDelegate.m
├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Contents.json
│ ├── LineSao.imageset
│ │ ├── Contents.json
│ │ ├── LineSao@2x.png
│ │ └── LineSao@3x.png
│ └── SaoBack.imageset
│ │ ├── Contents.json
│ │ ├── SaoBack@2x.png
│ │ └── SaoBack@3x.png
├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
├── SHWeexSDK
│ ├── SHSpecialRootViwe.h
│ ├── SHSpecialRootViwe.m
│ ├── SHWeexConfig.h
│ ├── SHWeexManager.h
│ ├── SHWeexManager.m
│ ├── SHWeexPageModel.h
│ ├── SHWeexPageModel.m
│ ├── SHWeexViewController.h
│ ├── SHWeexViewController.m
│ ├── common
│ │ ├── FileProcessing
│ │ │ ├── SHFileProcessing.h
│ │ │ └── SHFileProcessing.m
│ │ ├── SHUniversalTool.h
│ │ ├── SHUniversalTool.m
│ │ ├── SaveData
│ │ │ ├── SHSaveData.h
│ │ │ └── SHSaveData.m
│ │ └── ScanQrCode
│ │ │ ├── LineSao@2x.png
│ │ │ ├── LineSao@3x.png
│ │ │ ├── SaoBack@2x.png
│ │ │ ├── SaoBack@3x.png
│ │ │ ├── ScanQrCodeViewController.h
│ │ │ ├── ScanQrCodeViewController.m
│ │ │ ├── UIView+Recognize.h
│ │ │ └── UIView+Recognize.m
│ └── extends
│ │ ├── component
│ │ ├── SHWXAComponent.h
│ │ └── SHWXAComponent.m
│ │ ├── module
│ │ ├── SHWXBaseModule.h
│ │ └── SHWXBaseModule.m
│ │ └── protocol
│ │ ├── SHWXNetworkDefaultlmpl.h
│ │ └── SHWXNetworkDefaultlmpl.m
├── ViewController.h
├── ViewController.m
├── main.m
└── weexUse
│ ├── ISHWeexService.h
│ ├── ISHWeexService.m
│ └── protocol
│ ├── SHWXImgLoaderDefaultImpl.h
│ ├── SHWXImgLoaderDefaultImpl.m
│ ├── SHWXImgLoaderDefaultImplProtocol.h
│ └── SHWXImgLoaderDefaultImplProtocol.m
├── SHWeexSDKTests
└── SHWeexSDKTests.m
└── SHWeexSDKUITests
└── SHWeexSDKUITests.m
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/README.md
--------------------------------------------------------------------------------
/android.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/android.zip
--------------------------------------------------------------------------------
/android/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/android/README.md
--------------------------------------------------------------------------------
/android/sdk/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 | apply plugin: 'me.tatarka.retrolambda'
3 |
4 | //version 已在libraryBaseGradle里自动获取tag进行设定
5 | description = 'showjoy shop viewgroup'
6 | ext.pom_packaging = 'aar'
7 | ext.pom_groupId = 'com.showjoy.android'
8 | ext.pom_artifactId = 'weex'
9 | ext.pom_name = 'shopandroid_weex_base'
10 | ext.pom_snapshot = false
11 |
12 | dependencies {
13 | compile fileTree(dir: 'libs', include: ['*.jar'])
14 |
15 | compile 'com.taobao.android:weex_sdk:0.11.0'
16 |
17 | // compile 'com.taobao.android:weex_inspector:0.0.8.5'
18 | // compile 'com.google.code.findbugs:jsr305:2.0.1'
19 |
20 | compile 'com.android.support:support-v4:24.0.0'
21 | compile 'com.android.support:appcompat-v7:24.0.0'
22 | compile 'com.android.support:recyclerview-v7:24.0.0'
23 |
24 | compile 'com.squareup.okhttp:okhttp:2.3.0'
25 | compile 'com.squareup.okhttp:okhttp-ws:2.3.0'
26 |
27 | compile 'com.alibaba:fastjson:1.1.56.android'
28 |
29 | compile 'com.showjoy.android:image:1.0.4'
30 | compile 'com.showjoy.android:storage:2.0.0'
31 |
32 |
33 | compile 'com.showjoy.android:rxbus:1.0.0'
34 |
35 | }
36 | android {
37 | useLibrary 'org.apache.http.legacy'
38 | //指定java8
39 | compileOptions {
40 | sourceCompatibility JavaVersion.VERSION_1_8
41 | targetCompatibility JavaVersion.VERSION_1_8
42 | }
43 | }
44 | apply from: System.properties['libraryBaseGradle']
--------------------------------------------------------------------------------
/android/sdk/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/ISHWeexRenderCallback.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex;
2 |
3 | import android.view.View;
4 |
5 | /**
6 | * Created by lufei on 5/24/17.
7 | */
8 |
9 | public interface ISHWeexRenderCallback {
10 |
11 | /**
12 | * 显示/隐藏titleBar
13 | * @param visible
14 | */
15 | void showTitleBar(boolean visible);
16 |
17 | /**
18 | * 设置title
19 | * @param title
20 | */
21 | void setTitle(String title);
22 |
23 | /**
24 | * 显示loading,之所以要注入这个接口,为了weex页面的loading与其他页面保持统一
25 | * @param visible
26 | * @param title
27 | */
28 | void showLoading(boolean visible, String title);
29 |
30 | /**
31 | * render开始
32 | * @param remote true, 远程链接渲染; false, 本地文件渲染
33 | */
34 | void renderStart(boolean remote, String h5Url);
35 |
36 | /**
37 | * 渲染结束
38 | * @param success true, 渲染成功; false, 渲染失败
39 | */
40 | void renderEnd(boolean success, String h5Url);
41 |
42 | /**
43 | * 渲染成功,返回View
44 | * @param view
45 | * @param h5Url
46 | */
47 | void viewCreated(View view, String h5Url);
48 | }
49 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/ISHWeexRequestCallback.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex;
2 |
3 | import com.showjoy.weex.entities.WeexConfig;
4 |
5 | import java.util.List;
6 |
7 | /**
8 | * Created by lufei on 5/23/17.
9 | */
10 |
11 | public interface ISHWeexRequestCallback {
12 |
13 | void response(List weexConfigs);
14 | }
15 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/ISHWeexService.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex;
2 |
3 | import android.content.Context;
4 | import android.content.Intent;
5 |
6 | import java.io.Serializable;
7 | import java.util.List;
8 | import java.util.Map;
9 |
10 | import okhttp3.Cookie;
11 | import okhttp3.Dns;
12 |
13 | /**
14 | * Created by lufei on 11/15/16.
15 | */
16 |
17 | public interface ISHWeexService {
18 |
19 | /**
20 | * 打开链接
21 | * @param activity
22 | * @param url
23 | * @param force 强制用h5打开,不会转成weex 或者native
24 | */
25 | void openUrl(Context activity, String url, boolean force);
26 |
27 | /**
28 | * 请求weex配置信息
29 | * @param weexRequestCallback
30 | */
31 | void requestWeexConfig(ISHWeexRequestCallback weexRequestCallback);
32 |
33 | /**
34 | * 判断是否是release,正式包
35 | * @return
36 | */
37 | boolean isRelease();
38 |
39 | /**
40 | * 获取app版本,用于判断weex 配置是否生效
41 | * weex的配置可是设置某个版本以上才支持
42 | * @return
43 | */
44 | String getVersion();
45 |
46 | /**
47 | * 获取默认的域名,用于支持相对地址
48 | * @return , 如: https://shop.m.showjoy.com/
49 | */
50 | String getDefaultHost();
51 |
52 | /**
53 | * 保存cookie
54 | * @param cookie
55 | */
56 | void setCookie(Cookie cookie);
57 |
58 | /**
59 | * 获取所有的cookie
60 | * @return
61 | */
62 | List getAllCookies();
63 |
64 | /**
65 | * 接入httpDNS, 如果没有接入,允许返回NULL
66 | * @return
67 | */
68 | Dns getDns();
69 |
70 | /**
71 | * 错误日志
72 | * @param e
73 | */
74 | void e(String e);
75 | void e(Throwable e);
76 |
77 | /**
78 | * 获取打开weex的intent
79 | * @return
80 | */
81 | Intent getWeexIntent();
82 |
83 | /**
84 | * 是否支持https
85 | * @return
86 | */
87 | boolean isSupportHttps();
88 |
89 | /**
90 | * 埋点事件
91 | * @param key
92 | * @param params
93 | */
94 | void onEvent(String key, Map params);
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/SHWeexConstants.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex;
2 |
3 | public interface SHWeexConstants {
4 |
5 | String WEEX = "weex";
6 |
7 | String EXTRA_H5 = "h5";
8 |
9 | String EXTRA_TITLE = "title";
10 | String EXTRA_TITLE_BAR = "titleBar";
11 | String EXTRA_URL = "url";
12 |
13 | String NAME = "name";
14 | String DATA = "data";
15 | }
16 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/SHWeexLog.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex;
2 |
3 | import android.util.Log;
4 |
5 | /**
6 | * Created by lufei on 5/23/17.
7 | */
8 |
9 | public class SHWeexLog {
10 |
11 | public static void e(String s) {
12 | SHWeexManager.get().getService().e(s);
13 | }
14 |
15 | public static void e(Throwable e) {
16 | SHWeexManager.get().getService().e(e);
17 | }
18 |
19 | public static void d(String tag, String e) {
20 | if (!SHWeexManager.get().getService().isRelease()) {
21 | Log.d(tag, e);
22 | }
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/adapter/SHCustomURIAdapter.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.adapter;
2 |
3 | import android.net.Uri;
4 | import android.support.annotation.NonNull;
5 |
6 | import com.showjoy.weex.SHWeexManager;
7 | import com.taobao.weex.WXSDKInstance;
8 | import com.taobao.weex.adapter.URIAdapter;
9 |
10 | /**
11 | * Created by lufei on 3/8/17.
12 | */
13 |
14 | public class SHCustomURIAdapter implements URIAdapter {
15 | @NonNull
16 | @Override
17 | public Uri rewrite(WXSDKInstance instance, String type, Uri uri) {
18 | if (null == uri) {
19 | return null;
20 | }
21 | String url = uri.toString();
22 | if (url.startsWith("http")) {
23 | return uri;
24 | }else if (url.startsWith("//")) {
25 | if (SHWeexManager.get().getService().isSupportHttps()) {
26 | url = "https:" + url;
27 | }else {
28 | url = "http:" + url;
29 | }
30 | }else {
31 | url = SHWeexManager.get().getService().getDefaultHost() + url;
32 | }
33 | return Uri.parse(url);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/adapter/SHUserTrackAdapter.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.adapter;
2 |
3 | import android.content.Context;
4 | import android.text.TextUtils;
5 |
6 | import com.showjoy.weex.SHWeexManager;
7 | import com.taobao.weex.adapter.IWXUserTrackAdapter;
8 | import com.taobao.weex.common.WXPerformance;
9 |
10 | import java.io.Serializable;
11 | import java.util.Map;
12 |
13 | /**
14 | * Created by lufei on 11/17/16.
15 | */
16 | public class SHUserTrackAdapter implements IWXUserTrackAdapter {
17 | @Override
18 | public void commit(Context context, String eventId, String type, WXPerformance perf, Map params) {
19 | if (!TextUtils.isEmpty(eventId)) {
20 | SHWeexManager.get().getService().onEvent(eventId, params);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/adapter/okhttp/OkHttpRequestBody.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.adapter.okhttp;
2 |
3 | import com.showjoy.weex.commons.adapter.okhttp.listener.OkHttpRequestListener;
4 |
5 | import java.io.IOException;
6 |
7 | import okhttp3.MediaType;
8 | import okhttp3.RequestBody;
9 | import okio.Buffer;
10 | import okio.BufferedSink;
11 | import okio.ForwardingSink;
12 | import okio.Okio;
13 | import okio.Sink;
14 |
15 | /**
16 | * Created by lufei on 11/17/16.
17 | */
18 |
19 | public class OkHttpRequestBody extends RequestBody{
20 |
21 | private RequestBody realBody;
22 | private OkHttpRequestListener okHttpRequestListener;
23 |
24 | private BufferedSink bufferedSink;
25 |
26 | public OkHttpRequestBody(RequestBody realBody, OkHttpRequestListener okHttpRequestListener){
27 | this.realBody = realBody;
28 | this.okHttpRequestListener = okHttpRequestListener;
29 | }
30 | @Override
31 | public MediaType contentType() {
32 | return realBody.contentType();
33 | }
34 |
35 | @Override
36 | public long contentLength() throws IOException {
37 | return realBody.contentLength();
38 | }
39 |
40 | @Override
41 | public void writeTo(BufferedSink sink) throws IOException {
42 | if (bufferedSink == null) {
43 | //包装
44 | bufferedSink = Okio.buffer(sink(sink));
45 | }
46 | //写入
47 | realBody.writeTo(bufferedSink);
48 | //必须调用flush,否则最后一部分数据可能不会被写入
49 | bufferedSink.flush();
50 | }
51 |
52 | private Sink sink(Sink sink) {
53 | return new ForwardingSink(sink) {
54 | long totalConsumed = 0L;
55 |
56 | @Override
57 | public void write(Buffer source, long byteCount) throws IOException {
58 | super.write(source, byteCount);
59 |
60 | totalConsumed += byteCount;
61 |
62 | okHttpRequestListener.onRequest(totalConsumed, contentLength(), totalConsumed == contentLength());
63 | }
64 | };
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/adapter/okhttp/OkHttpResponseBody.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.adapter.okhttp;
2 |
3 | import com.showjoy.weex.commons.adapter.okhttp.listener.OkHttpResponseListener;
4 |
5 | import java.io.IOException;
6 |
7 | import okhttp3.MediaType;
8 | import okhttp3.ResponseBody;
9 | import okio.Buffer;
10 | import okio.BufferedSource;
11 | import okio.ForwardingSource;
12 | import okio.Okio;
13 | import okio.Source;
14 |
15 | /**
16 | * Created by lufei on 11/17/16.
17 | */
18 | public class OkHttpResponseBody extends ResponseBody {
19 |
20 | private ResponseBody realBody;
21 | private OkHttpResponseListener responseListener;
22 |
23 | public OkHttpResponseBody(ResponseBody realBody, OkHttpResponseListener responseListener) {
24 | this.realBody = realBody;
25 | this.responseListener = responseListener;
26 | }
27 |
28 | @Override
29 | public MediaType contentType() {
30 | return realBody.contentType();
31 | }
32 |
33 | @Override
34 | public long contentLength() {
35 | return realBody.contentLength();
36 | }
37 |
38 | @Override
39 | public BufferedSource source() {
40 | return Okio.buffer(source(realBody.source()));
41 | }
42 |
43 | private Source source(Source source) {
44 |
45 | return new ForwardingSource(source) {
46 | long totalConsumed = 0L;
47 |
48 | @Override
49 | public long read(Buffer sink, long byteCount) throws IOException {
50 | long currentConsumed = super.read(sink, byteCount);
51 | totalConsumed += currentConsumed != -1 ? currentConsumed : 0;
52 | responseListener.onResponse(totalConsumed, OkHttpResponseBody.this.contentLength(), currentConsumed == -1);
53 | return currentConsumed;
54 | }
55 | };
56 | }
57 | }
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/adapter/okhttp/listener/OkHttpRequestListener.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.adapter.okhttp.listener;
2 |
3 | /**
4 | * Created by lufei on 11/17/16.
5 | */
6 |
7 | public interface OkHttpRequestListener {
8 | void onRequest(long consumed,long total,boolean done);
9 | }
10 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/adapter/okhttp/listener/OkHttpResponseListener.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.adapter.okhttp.listener;
2 |
3 | /**
4 | * Created by lufei on 11/17/16.
5 | */
6 |
7 | public interface OkHttpResponseListener {
8 |
9 | void onResponse(long consumed,long total,boolean done);
10 | }
11 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/commons/util/JsonUtils.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.commons.util;
2 |
3 | import com.alibaba.fastjson.JSON;
4 | import com.alibaba.fastjson.JSONArray;
5 | import com.showjoy.weex.SHWeexLog;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * Json解析类
11 | */
12 | public class JsonUtils {
13 |
14 | /**
15 | * 解析对象
16 | * @param json
17 | * @param clazz
18 | * @param
19 | * @return
20 | */
21 | public static T parseObject(String json, Class clazz) {
22 | try {
23 | return JSON.parseObject(json, clazz);
24 | } catch (Exception e) {
25 | SHWeexLog.e(e);
26 | return null;
27 | }
28 | }
29 |
30 | /**
31 | * 解析数组
32 | * @param json
33 | * @param clazz
34 | * @param
35 | * @return
36 | */
37 | public static List parseArray(String json, Class clazz) {
38 | try {
39 | return JSON.parseArray(json, clazz);
40 | } catch (Exception e) {
41 | SHWeexLog.e(e);
42 | return null;
43 | }
44 | }
45 |
46 | /**
47 | * 解析数组
48 | * @param data
49 | * @return
50 | */
51 | public static String toJson(Object data) {
52 | try {
53 | return JSONArray.toJSONString(data);
54 | } catch (Exception e) {
55 | SHWeexLog.e(e);
56 | return null;
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/entities/WeexConfig.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.entities;
2 |
3 | /**
4 | * Created by lufei on 11/15/16.
5 | */
6 |
7 | public class WeexConfig {
8 |
9 | /**
10 | * page : order
11 | * url : https://dshdjshjbx.js
12 | * md5 : 323827382huwhdjshdjs
13 | * h5 : http://dsds.html
14 | * v : 1.0.0
15 | */
16 |
17 | public String page;
18 | public String url;
19 | public String md5;
20 | public String h5;
21 | public String v;
22 | public String hideTitleBar;
23 | }
24 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/event/LoadingEvent.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.event;
2 |
3 | /**
4 | * Created by lufei on 12/8/16.
5 | */
6 |
7 | public class LoadingEvent extends WeexBaseEvent {
8 | public boolean visible;
9 | public String title;
10 |
11 | public LoadingEvent(String instanceId, boolean visible, String title) {
12 | super(instanceId);
13 | this.visible = visible;
14 | this.title = title;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/event/NewPageEvent.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.event;
2 |
3 | import android.content.Intent;
4 |
5 | /**
6 | * Created by lufei on 12/9/16.
7 | */
8 |
9 | public class NewPageEvent extends WeexBaseEvent {
10 | public Intent intent;
11 |
12 | public NewPageEvent(String instanceId, Intent intent) {
13 | super(instanceId);
14 | this.intent = intent;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/event/ShowTitleBarEvent.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.event;
2 |
3 | /**
4 | * Created by lufei on 12/8/16.
5 | */
6 |
7 | public class ShowTitleBarEvent extends WeexBaseEvent {
8 |
9 | public boolean visible;
10 |
11 | public ShowTitleBarEvent(String instanceId, boolean visible) {
12 | super(instanceId);
13 | this.visible = visible;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/event/TitleEvent.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.event;
2 |
3 | /**
4 | * Created by lufei on 12/8/16.
5 | */
6 |
7 | public class TitleEvent extends WeexBaseEvent {
8 |
9 | public String title;
10 |
11 | public TitleEvent(String instanceId, String title) {
12 | super(instanceId);
13 | this.title = title;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/event/WeexBaseEvent.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.event;
2 |
3 | /**
4 | * Created by lufei on 3/30/17.
5 | */
6 |
7 | public class WeexBaseEvent {
8 |
9 | public String instanceId;
10 |
11 | public WeexBaseEvent(String instanceId) {
12 | this.instanceId = instanceId;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/android/sdk/src/main/java/com/showjoy/weex/extend/module/WXEventModule.java:
--------------------------------------------------------------------------------
1 | package com.showjoy.weex.extend.module;
2 |
3 | import com.showjoy.weex.SHWeexUtils;
4 | import com.taobao.weex.annotation.JSMethod;
5 | import com.taobao.weex.common.WXModule;
6 |
7 |
8 | public class WXEventModule extends WXModule {
9 |
10 | @JSMethod(uiThread = true)
11 | public void openURL(String url) {
12 | SHWeexUtils.openUrl(mWXSDKInstance.getContext(), url);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/android/sdk/src/main/res/layout/weex_fragment.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
10 |
11 |
12 |
17 |
18 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/examples/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/examples/README.md
--------------------------------------------------------------------------------
/html5/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/html5/README.md
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/CocoaPods/Specs.git'
2 | target "SHWeexSDK" do
3 | platform :ios, '7.0'
4 |
5 | pod 'WeexSDK', '~> 0.12.0' #weexSDK
6 | pod 'WXDevtool', '~> 0.9.5' #weex测试SDK
7 |
8 | # 可以换成其他的图品加载库
9 | pod 'PINRemoteImage/iOS', '~> 3.0.0-beta.8' #图片加载
10 | pod 'PINRemoteImage/PINCache' #图片缓存
11 |
12 | end
13 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - PINCache (3.0.1-beta.4):
3 | - PINCache/Arc-exception-safe (= 3.0.1-beta.4)
4 | - PINCache/Core (= 3.0.1-beta.4)
5 | - PINCache/Arc-exception-safe (3.0.1-beta.4):
6 | - PINCache/Core
7 | - PINCache/Core (3.0.1-beta.4):
8 | - PINOperation (= 1.0.3)
9 | - PINOperation (1.0.3)
10 | - PINRemoteImage/Core (3.0.0-beta.10):
11 | - PINOperation
12 | - PINRemoteImage/iOS (3.0.0-beta.10):
13 | - PINRemoteImage/Core
14 | - PINRemoteImage/PINCache (3.0.0-beta.10):
15 | - PINCache (= 3.0.1-beta.4)
16 | - PINRemoteImage/Core
17 | - SocketRocket (0.5.1)
18 | - WeexSDK (0.12.0):
19 | - SocketRocket
20 | - WXDevtool (0.9.5):
21 | - WeexSDK
22 |
23 | DEPENDENCIES:
24 | - PINRemoteImage/iOS (~> 3.0.0-beta.8)
25 | - PINRemoteImage/PINCache
26 | - WeexSDK (~> 0.12.0)
27 | - WXDevtool (~> 0.9.5)
28 |
29 | SPEC CHECKSUMS:
30 | PINCache: a89c8f609232afac77128557bd12c861844423d7
31 | PINOperation: ac23db44796d4a564ecf9b5ea7163510f579b71d
32 | PINRemoteImage: 3782605733d65798ab3919e1019ce48e43171126
33 | SocketRocket: d57c7159b83c3c6655745cd15302aa24b6bae531
34 | WeexSDK: 8573b6e15195d4efc7c786ddc3be6f50d9ccb01c
35 | WXDevtool: 5135a5c6f4426fb635babb9eacfa14352bc66dc6
36 |
37 | PODFILE CHECKSUM: 2adf5a0d02da0b8e52cf5f9742c0749cdf27b883
38 |
39 | COCOAPODS: 1.2.1
40 |
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINCache/PINCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINCache/PINCacheMacros.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCacheMacros.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINCache/PINCacheObjectSubscripting.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCacheObjectSubscripting.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINCache/PINCaching.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCaching.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINCache/PINDiskCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINDiskCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINCache/PINMemoryCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINMemoryCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINOperation/PINOperation.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperation.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINOperation/PINOperationGroup.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationGroup.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINOperation/PINOperationMacros.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationMacros.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINOperation/PINOperationQueue.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationQueue.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINOperation/PINOperationTypes.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationTypes.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/NSData+ImageDetectors.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/NSURLSessionTask+Timing.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/NSURLSessionTask+Timing.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINAlternateRepresentationProvider.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINAnimatedImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINAnimatedImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINAnimatedImageManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINAnimatedImageManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINButton+PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Image Categories/PINButton+PINRemoteImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINCache+PINRemoteImageCaching.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINImage+DecodedImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINImage+ScaledImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINImage+WebP.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINImage+WebP.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINImageView+PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Image Categories/PINImageView+PINRemoteImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINProgressiveImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINProgressiveImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageBasicCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageCaching.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageCaching.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageCallbacks.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageCategoryManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageDownloadQueue.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageDownloadTask.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageMacros.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageMacros.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageManager+Private.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageManager+Private.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageManagerResult.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageMemoryContainer.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageProcessorTask.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageTask+Subclassing.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINRemoteImageTask+Subclassing.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteImageTask.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageTask.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINRemoteLock.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteLock.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINResume.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINResume.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/PINRemoteImage/PINURLSessionManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINURLSessionManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/SocketRocket/SRWebSocket.h:
--------------------------------------------------------------------------------
1 | ../../../SocketRocket/SocketRocket/SRWebSocket.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Private/SocketRocket/SocketRocket.h:
--------------------------------------------------------------------------------
1 | ../../../SocketRocket/SocketRocket/SocketRocket.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINCache/PINCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINCache/PINCacheMacros.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCacheMacros.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINCache/PINCacheObjectSubscripting.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCacheObjectSubscripting.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINCache/PINCaching.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINCaching.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINCache/PINDiskCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINDiskCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINCache/PINMemoryCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINCache/Source/PINMemoryCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINOperation/PINOperation.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperation.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINOperation/PINOperationGroup.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationGroup.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINOperation/PINOperationMacros.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationMacros.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINOperation/PINOperationQueue.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationQueue.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINOperation/PINOperationTypes.h:
--------------------------------------------------------------------------------
1 | ../../../PINOperation/Source/PINOperationTypes.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/NSData+ImageDetectors.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/NSURLSessionTask+Timing.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/NSURLSessionTask+Timing.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINAlternateRepresentationProvider.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINAnimatedImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINAnimatedImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINAnimatedImageManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINAnimatedImageManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINButton+PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Image Categories/PINButton+PINRemoteImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINCache+PINRemoteImageCaching.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINImage+DecodedImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINImage+ScaledImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINImage+WebP.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINImage+WebP.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINImageView+PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Image Categories/PINImageView+PINRemoteImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINProgressiveImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINProgressiveImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImage.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageBasicCache.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageCaching.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageCaching.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageCallbacks.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageCategoryManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageCategoryManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageDownloadQueue.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageDownloadTask.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageMacros.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageMacros.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageManager+Private.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageManager+Private.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageManagerResult.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageManagerResult.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageMemoryContainer.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageProcessorTask.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageTask+Subclassing.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/Categories/PINRemoteImageTask+Subclassing.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteImageTask.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteImageTask.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINRemoteLock.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINRemoteLock.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINResume.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINResume.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/PINRemoteImage/PINURLSessionManager.h:
--------------------------------------------------------------------------------
1 | ../../../PINRemoteImage/Source/Classes/PINURLSessionManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/SocketRocket/SRWebSocket.h:
--------------------------------------------------------------------------------
1 | ../../../SocketRocket/SocketRocket/SRWebSocket.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/SocketRocket/SocketRocket.h:
--------------------------------------------------------------------------------
1 | ../../../SocketRocket/SocketRocket/SocketRocket.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/Layout.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/Layout.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/NSObject+WXSwizzle.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/NSObject+WXSwizzle.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXAComponent.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXAComponent.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXAppConfiguration.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXAppConfiguration.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXAppMonitorProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXAppMonitorProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXBaseViewController.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXBaseViewController.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXBridgeManager.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXBridgeManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXBridgeProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXBridgeProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXComponent.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXComponent.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXComponentManager.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXComponentManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXConvert.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXConvert.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXDebugTool.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXDebugTool.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXDefine.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXDefine.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXEventModuleProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXEventModuleProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXImgLoaderProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXImgLoaderProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXJSExceptionInfo.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXJSExceptionInfo.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXJSExceptionProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXJSExceptionProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXLayoutDefine.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXLayoutDefine.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXListComponent.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXListComponent.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXLog.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXLog.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXModalUIModule.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXModalUIModule.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXModuleProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXModuleProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXMonitor.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXMonitor.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXNavigationProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXNavigationProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXNetworkProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXNetworkProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXResourceRequest.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXResourceRequest.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXResourceRequestHandler.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXResourceRequestHandler.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXResourceResponse.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXResourceResponse.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXRootViewController.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXRootViewController.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXSDKEngine.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXSDKEngine.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXSDKError.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXSDKError.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXSDKInstance.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXSDKInstance.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXSDKManager.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXSDKManager.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXScrollerComponent.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXScrollerComponent.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXScrollerProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXScrollerProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXType.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXType.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXURLRewriteProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXURLRewriteProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXUtility.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXUtility.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WXValidateProtocol.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WXValidateProtocol.h
--------------------------------------------------------------------------------
/ios/Pods/Headers/Public/WeexSDK/WeexSDK/WeexSDK.h:
--------------------------------------------------------------------------------
1 | ../../../../WeexSDK/WeexSDK.framework/Headers/WeexSDK.h
--------------------------------------------------------------------------------
/ios/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - PINCache (3.0.1-beta.4):
3 | - PINCache/Arc-exception-safe (= 3.0.1-beta.4)
4 | - PINCache/Core (= 3.0.1-beta.4)
5 | - PINCache/Arc-exception-safe (3.0.1-beta.4):
6 | - PINCache/Core
7 | - PINCache/Core (3.0.1-beta.4):
8 | - PINOperation (= 1.0.3)
9 | - PINOperation (1.0.3)
10 | - PINRemoteImage/Core (3.0.0-beta.10):
11 | - PINOperation
12 | - PINRemoteImage/iOS (3.0.0-beta.10):
13 | - PINRemoteImage/Core
14 | - PINRemoteImage/PINCache (3.0.0-beta.10):
15 | - PINCache (= 3.0.1-beta.4)
16 | - PINRemoteImage/Core
17 | - SocketRocket (0.5.1)
18 | - WeexSDK (0.12.0):
19 | - SocketRocket
20 | - WXDevtool (0.9.5):
21 | - WeexSDK
22 |
23 | DEPENDENCIES:
24 | - PINRemoteImage/iOS (~> 3.0.0-beta.8)
25 | - PINRemoteImage/PINCache
26 | - WeexSDK (~> 0.12.0)
27 | - WXDevtool (~> 0.9.5)
28 |
29 | SPEC CHECKSUMS:
30 | PINCache: a89c8f609232afac77128557bd12c861844423d7
31 | PINOperation: ac23db44796d4a564ecf9b5ea7163510f579b71d
32 | PINRemoteImage: 3782605733d65798ab3919e1019ce48e43171126
33 | SocketRocket: d57c7159b83c3c6655745cd15302aa24b6bae531
34 | WeexSDK: 8573b6e15195d4efc7c786ddc3be6f50d9ccb01c
35 | WXDevtool: 5135a5c6f4426fb635babb9eacfa14352bc66dc6
36 |
37 | PODFILE CHECKSUM: 2adf5a0d02da0b8e52cf5f9742c0749cdf27b883
38 |
39 | COCOAPODS: 1.2.1
40 |
--------------------------------------------------------------------------------
/ios/Pods/PINCache/Source/PINCacheMacros.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINCacheMacros.h
3 | // PINCache
4 | //
5 | // Created by Adlai Holler on 1/31/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #ifndef PIN_SUBCLASSING_RESTRICTED
10 | #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
11 | #define PIN_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted))
12 | #else
13 | #define PIN_SUBCLASSING_RESTRICTED
14 | #endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
15 | #endif // #ifndef PIN_SUBCLASSING_RESTRICTED
16 |
17 | #ifndef PIN_NOESCAPE
18 | #if defined(__has_attribute) && __has_attribute(noescape)
19 | #define PIN_NOESCAPE __attribute__((noescape))
20 | #else
21 | #define PIN_NOESCAPE
22 | #endif // #if defined(__has_attribute) && __has_attribute(noescape)
23 | #endif // #ifndef PIN_NOESCAPE
24 |
--------------------------------------------------------------------------------
/ios/Pods/PINCache/Source/PINCacheObjectSubscripting.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINCacheObjectSubscripting.h
3 | // PINCache
4 | //
5 | // Created by Rocir Marcos Leite Santiago on 4/2/16.
6 | // Copyright © 2016 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @protocol PINCacheObjectSubscripting
14 |
15 | @required
16 |
17 | /**
18 | This method enables using literals on the receiving object, such as `id object = cache[@"key"];`.
19 |
20 | @param key The key associated with the object.
21 | @result The object for the specified key.
22 | */
23 | - (nullable id)objectForKeyedSubscript:(NSString *)key;
24 |
25 | /**
26 | This method enables using literals on the receiving object, such as `cache[@"key"] = object;`.
27 |
28 | @param object An object to be assigned for the key. Pass `nil` to remove the existing object for this key.
29 | @param key A key to associate with the object. This string will be copied.
30 | */
31 | - (void)setObject:(nullable id)object forKeyedSubscript:(NSString *)key;
32 |
33 | @end
34 |
35 | NS_ASSUME_NONNULL_END
36 |
--------------------------------------------------------------------------------
/ios/Pods/PINOperation/README.md:
--------------------------------------------------------------------------------
1 | # PINOperation
2 |
3 | [](http://cocoadocs.org/docsets/PINOperation/)
4 | [](https://github.com/Carthage/Carthage)
5 | [](https://buildkite.com/pinterest/pinoperation)
6 |
7 | ## Fast, concurrency-limited task queue for iOS and macOS.
8 |
9 | ## Installation
10 |
11 | ### Manually
12 |
13 | [Download the latest tag](https://github.com/pinterest/PINOperation/tags) and drag the `PINOperation` folder into your Xcode project.
14 |
15 | Install the docs by double clicking the `.docset` file under `docs/`, or view them online at [cocoadocs.org](http://cocoadocs.org/docsets/PINOperation/)
16 |
17 | ### Git Submodule
18 |
19 | git submodule add https://github.com/pinterest/PINOperation.git
20 | git submodule update --init
21 |
22 | ### CocoaPods
23 |
24 | Add [PINOperation](http://cocoapods.org/?q=name%3APINOperation) to your `Podfile` and run `pod install`.
25 |
26 | ### Carthage
27 |
28 | Add the following line to your `Cartfile` and run `carthage update --platform ios`. Then follow [this instruction of Carthage](https://github.com/carthage/carthage#adding-frameworks-to-unit-tests-or-a-framework) to embed the framework.
29 |
30 | ```github "pinterest/PINOperation"```
31 |
32 | ## Requirements
33 |
34 | __PINOperation__ requires iOS 8.0 or OS X 10.10 and greater.
35 |
36 | ## Contact
37 |
38 | [Garrett Moon](mailto:garrett@pinterest.com)
39 |
40 | ## License
41 |
42 | Copyright 2013 Tumblr, Inc.
43 | Copyright 2015 Pinterest, Inc.
44 |
45 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
46 |
47 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. [See the License](LICENSE.txt) for the specific language governing permissions and limitations under the License.
48 |
--------------------------------------------------------------------------------
/ios/Pods/PINOperation/Source/PINOperation.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINOperation.h
3 | // PINOperation
4 | //
5 | // Created by Adlai Holler on 1/10/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import
12 | #import
13 |
--------------------------------------------------------------------------------
/ios/Pods/PINOperation/Source/PINOperationGroup.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINOperationGroup.h
3 | // PINQueue
4 | //
5 | // Created by Garrett Moon on 10/8/16.
6 | // Copyright © 2016 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "PINOperationTypes.h"
11 | #import "PINOperationMacros.h"
12 |
13 | @class PINOperationQueue;
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | @protocol PINGroupOperationReference;
18 |
19 | PINOP_SUBCLASSING_RESTRICTED
20 | @interface PINOperationGroup : NSObject
21 |
22 | - (instancetype)init NS_UNAVAILABLE;
23 | + (instancetype)asyncOperationGroupWithQueue:(PINOperationQueue *)operationQueue;
24 |
25 | - (nullable id )addOperation:(dispatch_block_t)operation;
26 | - (nullable id )addOperation:(dispatch_block_t)operation withPriority:(PINOperationQueuePriority)priority;
27 | - (void)start;
28 | - (void)cancel;
29 | - (void)setCompletion:(dispatch_block_t)completion;
30 | - (void)waitUntilComplete;
31 |
32 | @end
33 |
34 | @protocol PINGroupOperationReference
35 |
36 | @end
37 |
38 | NS_ASSUME_NONNULL_END
39 |
--------------------------------------------------------------------------------
/ios/Pods/PINOperation/Source/PINOperationMacros.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINOperationMacros.h
3 | // PINOperation
4 | //
5 | // Created by Adlai Holler on 1/10/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #ifndef PINOP_SUBCLASSING_RESTRICTED
10 | #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
11 | #define PINOP_SUBCLASSING_RESTRICTED __attribute__((objc_subclassing_restricted))
12 | #else
13 | #define PINOP_SUBCLASSING_RESTRICTED
14 | #endif // #if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
15 | #endif // #ifndef PINOP_SUBCLASSING_RESTRICTED
16 |
--------------------------------------------------------------------------------
/ios/Pods/PINOperation/Source/PINOperationTypes.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINOperationTypes.h
3 | // PINOperation
4 | //
5 | // Created by Adlai Holler on 1/10/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | typedef NS_ENUM(NSUInteger, PINOperationQueuePriority) {
12 | PINOperationQueuePriorityLow,
13 | PINOperationQueuePriorityDefault,
14 | PINOperationQueuePriorityHigh,
15 | };
16 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSData+ImageDetectors.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 11/19/14.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface NSData (PINImageDetectors)
12 |
13 | - (BOOL)pin_isGIF;
14 | #ifdef PIN_WEBP
15 | - (BOOL)pin_isWebP;
16 | #endif
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/NSData+ImageDetectors.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSData+ImageDetectors.m
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 11/19/14.
6 | //
7 | //
8 |
9 | #import "NSData+ImageDetectors.h"
10 |
11 | @implementation NSData (PINImageDetectors)
12 |
13 | - (BOOL)pin_isGIF
14 | {
15 | const NSInteger length = 3;
16 | Byte firstBytes[length];
17 | if ([self length] >= length) {
18 | [self getBytes:&firstBytes length:length];
19 | //G, I, F
20 | if (firstBytes[0] == 0x47 && firstBytes[1] == 0x49 && firstBytes[2] == 0x46) {
21 | return YES;
22 | }
23 | }
24 | return NO;
25 | }
26 |
27 | #ifdef PIN_WEBP
28 | - (BOOL)pin_isWebP
29 | {
30 | const NSInteger length = 12;
31 | Byte firstBytes[length];
32 | if ([self length] >= length) {
33 | [self getBytes:&firstBytes length:length];
34 | //R, I, F, F, -, -, -, -, W, E, B, P
35 | if (firstBytes[0] == 0x52 && firstBytes[1] == 0x49 && firstBytes[2] == 0x46 && firstBytes[3] == 0x46 && firstBytes[8] == 0x57 && firstBytes[9] == 0x45 && firstBytes[10] == 0x42 && firstBytes[11] == 0x50) {
36 | return YES;
37 | }
38 | }
39 | return NO;
40 | }
41 | #endif
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/NSURLSessionTask+Timing.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSURLSessionTask+Timing.h
3 | // PINRemoteImage
4 | //
5 | // Created by Garrett Moon on 5/19/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface NSURLSessionTask (Timing)
12 |
13 | - (void)PIN_setupSessionTaskObserver;
14 | - (CFTimeInterval)PIN_startTime;
15 | - (CFTimeInterval)PIN_endTime;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/PINImage+DecodedImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+DecodedImage.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 11/19/14.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #if PIN_TARGET_IOS
12 | #import
13 | #elif PIN_TARGET_MAC
14 | #import
15 | #endif
16 |
17 | #import "PINRemoteImageMacros.h"
18 |
19 | #if !PIN_TARGET_IOS
20 | @interface NSImage (PINiOSMapping)
21 |
22 | @property(nonatomic, readonly, nullable) CGImageRef CGImage;
23 |
24 | + (nullable NSImage *)imageWithData:(nonnull NSData *)imageData;
25 | + (nullable NSImage *)imageWithContentsOfFile:(nonnull NSString *)path;
26 | + (nonnull NSImage *)imageWithCGImage:(nonnull CGImageRef)imageRef;
27 |
28 | @end
29 | #endif
30 |
31 | NSData * __nullable PINImageJPEGRepresentation(PINImage * __nonnull image, CGFloat compressionQuality);
32 | NSData * __nullable PINImagePNGRepresentation(PINImage * __nonnull image);
33 |
34 | @interface PINImage (PINDecodedImage)
35 |
36 | + (nullable PINImage *)pin_decodedImageWithData:(nonnull NSData *)data;
37 | + (nullable PINImage *)pin_decodedImageWithData:(nonnull NSData *)data skipDecodeIfPossible:(BOOL)skipDecodeIfPossible;
38 | + (nullable PINImage *)pin_decodedImageWithCGImageRef:(nonnull CGImageRef)imageRef;
39 | #if PIN_TARGET_IOS
40 | + (nullable PINImage *)pin_decodedImageWithCGImageRef:(nonnull CGImageRef)imageRef orientation:(UIImageOrientation) orientation;
41 | #endif
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+ScaledImage.h
3 | // Pods
4 | //
5 | // Created by Michael Schneider on 2/9/17.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #if PIN_TARGET_IOS
12 | #import
13 | #elif PIN_TARGET_MAC
14 | #import
15 | #endif
16 |
17 | #import "PINRemoteImageMacros.h"
18 |
19 | @interface PINImage (PINScaledImage)
20 |
21 | - (PINImage *)pin_scaledImageForKey:(NSString *)key;
22 | + (PINImage *)pin_scaledImageForImage:(PINImage *)image withKey:(NSString *)key;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/PINImage+ScaledImage.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+ScaledImage.m
3 | // Pods
4 | //
5 | // Created by Michael Schneider on 2/9/17.
6 | //
7 | //
8 |
9 | #import "PINImage+ScaledImage.h"
10 |
11 | static inline PINImage *PINScaledImageForKey(NSString * __nullable key, PINImage * __nullable image) {
12 | if (image == nil) {
13 | return nil;
14 | }
15 |
16 | #if PIN_TARGET_IOS
17 |
18 | NSCAssert(image.CGImage != NULL, @"CGImage should not be NULL");
19 |
20 | CGFloat scale = 1.0;
21 | if (key.length >= 8) {
22 | if ([key rangeOfString:@"_2x."].location != NSNotFound ||
23 | [key rangeOfString:@"@2x."].location != NSNotFound) {
24 | scale = 2.0;
25 | }
26 |
27 | if ([key rangeOfString:@"_3x."].location != NSNotFound ||
28 | [key rangeOfString:@"@3x."].location != NSNotFound) {
29 | scale = 3.0;
30 | }
31 | }
32 |
33 | if (scale != image.scale) {
34 | return [[UIImage alloc] initWithCGImage:image.CGImage scale:scale orientation:image.imageOrientation];
35 | }
36 |
37 | return image;
38 |
39 | #elif PIN_TARGET_MAC
40 | return image;
41 | #endif
42 | }
43 |
44 | @implementation PINImage (ScaledImage)
45 |
46 | - (PINImage *)pin_scaledImageForKey:(NSString *)key
47 | {
48 | return PINScaledImageForKey(key, self);
49 | }
50 |
51 | + (PINImage *)pin_scaledImageForImage:(PINImage *)image withKey:(NSString *)key
52 | {
53 | return PINScaledImageForKey(key, image);
54 | }
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/PINImage+WebP.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIImage+WebP.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 11/18/14.
6 | //
7 | //
8 |
9 | #ifdef PIN_WEBP
10 |
11 | #if PIN_TARGET_IOS
12 | #import
13 | #elif PIN_TARGET_MAC
14 | #import
15 | #endif
16 |
17 | #import "PINRemoteImageMacros.h"
18 |
19 | @interface PINImage (PINWebP)
20 |
21 | + (PINImage *)pin_imageWithWebPData:(NSData *)webPData;
22 |
23 | @end
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Categories/PINRemoteImageTask+Subclassing.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageTask+Subclassing.h
3 | // PINRemoteImage
4 | //
5 | // Created by Garrett Moon on 5/22/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import "PINRemoteImageTask.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface PINRemoteImageTask (Subclassing)
14 |
15 | - (NSMutableDictionary *)l_callbackBlocks;
16 | - (BOOL)l_cancelWithUUID:(NSUUID *)UUID resume:(PINResume * _Nullable * _Nullable)resume;
17 |
18 | @end
19 |
20 | NS_ASSUME_NONNULL_END
21 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Image Categories/PINButton+PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIButton+PINRemoteImage.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 8/18/14.
6 | //
7 | //
8 |
9 | #if PIN_TARGET_IOS
10 | #import
11 | #elif PIN_TARGET_MAC
12 | #import
13 | #endif
14 |
15 | #import "PINRemoteImageManager.h"
16 | #import "PINRemoteImageCategoryManager.h"
17 |
18 | @interface PINButton (PINRemoteImage)
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/Image Categories/PINImageView+PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIImageView+PINRemoteImage.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 8/17/14.
6 | //
7 | //
8 |
9 | #if PIN_TARGET_IOS
10 | #import
11 | #elif PIN_TARGET_MAC
12 | #import
13 | #endif
14 |
15 | #import "PINRemoteImageManager.h"
16 | #import "PINRemoteImageCategoryManager.h"
17 |
18 | @interface PINImageView (PINRemoteImage)
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINAlternateRepresentationProvider.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/17/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #import "PINRemoteImageManager.h"
12 |
13 | @protocol PINRemoteImageManagerAlternateRepresentationProvider
14 | @required
15 |
16 | /**
17 | @discussion This method will be called with data off the wire or stored in the cache. Return an object to have it returned as the alternativeRepresentation object in the PINRemoteImageManagerResult. @warning this method can be called on the main thread, be careful of doing expensive work.
18 | */
19 | - (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options;
20 |
21 | @end
22 |
23 | @interface PINAlternateRepresentationProvider : NSObject
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINAlternateRepresentationProvider.m:
--------------------------------------------------------------------------------
1 | //
2 | // PINAlternateRepresentationProvider.m
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/17/16.
6 | //
7 | //
8 |
9 | #import "PINAlternateRepresentationProvider.h"
10 |
11 | #import "NSData+ImageDetectors.h"
12 | #if USE_FLANIMATED_IMAGE
13 | #import
14 | #endif
15 |
16 | @implementation PINAlternateRepresentationProvider
17 |
18 | - (id)alternateRepresentationWithData:(NSData *)data options:(PINRemoteImageManagerDownloadOptions)options
19 | {
20 | #if USE_FLANIMATED_IMAGE
21 | if ([data pin_isGIF]) {
22 | return [FLAnimatedImage animatedImageWithGIFData:data];
23 | }
24 | #endif
25 | return nil;
26 | }
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINCache/PINCache+PINRemoteImageCaching.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINCache+PINRemoteImageCaching.h
3 | // Pods
4 | //
5 | // Created by Aleksei Shevchenko on 7/28/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #import "PINRemoteImageCaching.h"
12 | #import "PINRemoteImageManager.h"
13 |
14 | @interface PINCache (PINRemoteImageCaching)
15 |
16 | @end
17 |
18 | @interface PINRemoteImageManager (PINCache)
19 |
20 | @property (nonatomic, nullable, readonly) PINCache *pinCache;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINProgressiveImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINProgressiveImage.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 2/9/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #if PIN_TARGET_IOS
12 | #import
13 | #elif PIN_TARGET_MAC
14 | #import
15 | #endif
16 |
17 | #import "PINRemoteImageMacros.h"
18 |
19 | @class PINRemoteImageDownloadTask;
20 |
21 | /** An object which store the data of a downloading image and vends progressive scans **/
22 | @interface PINProgressiveImage : NSObject
23 |
24 | @property (atomic, copy, nonnull) NSArray *progressThresholds;
25 | @property (atomic, assign) CFTimeInterval estimatedRemainingTimeThreshold;
26 | @property (nonatomic, strong, readonly, nonnull) NSURLSessionDataTask * dataTask;
27 | @property (nonatomic, readonly) float bytesPerSecond;
28 | @property (nonatomic, readonly) CFTimeInterval estimatedRemainingTime;
29 |
30 | - (nonnull instancetype)init NS_UNAVAILABLE;
31 | - (nonnull instancetype)initWithDataTask:(nonnull NSURLSessionDataTask *)dataTask;
32 |
33 | - (void)updateProgressiveImageWithData:(nonnull NSData *)data expectedNumberOfBytes:(int64_t)expectedNumberOfBytes isResume:(BOOL)isResume;
34 |
35 | /**
36 | Returns the latest image based on thresholds, returns nil if no new image is generated
37 |
38 | @param blurred A boolean to indicate if the image should be blurred
39 | @param maxProgressiveRenderSize the maximum dimensions at which to apply a blur. If an image exceeds either the height
40 | or width of this dimension, the image will *not* be blurred regardless of the blurred parameter.
41 | @param renderedImageQuality Value between 0 and 1. Computed by dividing the received number of bytes by the expected number of bytes
42 | @return PINImage a progressive scan of the image or nil if a new one has not been generated
43 | */
44 | - (nullable PINImage *)currentImageBlurred:(BOOL)blurred maxProgressiveRenderSize:(CGSize)maxProgressiveRenderSize renderedImageQuality:(nonnull out CGFloat *)renderedImageQuality;
45 |
46 | /**
47 | Returns the current data for the image.
48 |
49 | @return NSData the current data for the image
50 | */
51 | - (nullable NSData *)data;
52 |
53 | @end
54 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImage.h
3 | //
4 | // Created by Garrett Moon on 8/17/14.
5 | //
6 | //
7 |
8 | #import "PINRemoteImageMacros.h"
9 |
10 | #if USE_PINCACHE
11 | #import "PINCache+PINRemoteImageCaching.h"
12 | #endif
13 |
14 | #import "NSData+ImageDetectors.h"
15 | #import "PINAlternateRepresentationProvider.h"
16 | #import "PINAnimatedImage.h"
17 | #import "PINRemoteImageManager.h"
18 | #import "PINRemoteImageCategoryManager.h"
19 | #import "PINRemoteImageManagerResult.h"
20 | #import "PINRemoteImageCaching.h"
21 | #import "PINProgressiveImage.h"
22 | #import "PINURLSessionManager.h"
23 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageBasicCache.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageBasicCache.h
3 | // Pods
4 | //
5 | // Created by Aleksei Shevchenko on 7/28/16.
6 | //
7 | //
8 |
9 | #import
10 | #import "PINRemoteImageCaching.h"
11 |
12 | /**
13 | * Simplistic wrapper based on NSCache.
14 | * not persisting any data on disk
15 | */
16 | @interface PINRemoteImageBasicCache : NSObject
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageCaching.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageCaching.h
3 | // Pods
4 | //
5 | // Created by Aleksei Shevchenko on 7/25/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 |
12 | NS_ASSUME_NONNULL_BEGIN
13 |
14 | @protocol PINRemoteImageCaching;
15 | typedef void (^PINRemoteImageCachingObjectBlock)(id cache, NSString *key, id __nullable object);
16 |
17 | /**
18 | * Image Cache is responsible for actual image caching.
19 | */
20 | @protocol PINRemoteImageCaching
21 |
22 | //******************************************************************************************************
23 | // Memory cache methods
24 | //******************************************************************************************************
25 | - (nullable id)objectFromMemoryForKey:(NSString *)key;
26 | - (void)setObjectInMemory:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost;
27 |
28 | //******************************************************************************************************
29 | // Disk cache methods
30 | //******************************************************************************************************
31 | - (nullable id)objectFromDiskForKey:(NSString *)key;
32 | - (void)objectFromDiskForKey:(NSString *)key completion:(nullable PINRemoteImageCachingObjectBlock)completion;
33 | - (void)setObjectOnDisk:(id)object forKey:(NSString *)key;
34 |
35 |
36 | - (BOOL)objectExistsForKey:(NSString *)key;
37 |
38 | - (void)removeObjectForKey:(NSString *)key;
39 | - (void)removeObjectForKey:(NSString *)key completion:(nullable PINRemoteImageCachingObjectBlock)completion;
40 | - (void)removeAllObjects;
41 |
42 | @optional
43 |
44 | - (void)removeObjectForKeyFromMemory:(NSString *)key;
45 |
46 | @end
47 |
48 |
49 | NS_ASSUME_NONNULL_END
50 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageCallbacks.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/9/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #import "PINRemoteImageManager.h"
12 |
13 | @interface PINRemoteImageCallbacks : NSObject
14 |
15 | @property (nonatomic, strong, nullable) PINRemoteImageManagerImageCompletion completionBlock;
16 | @property (nonatomic, strong, nullable) PINRemoteImageManagerImageCompletion progressImageBlock;
17 | @property (nonatomic, strong, nullable) PINRemoteImageManagerProgressDownload progressDownloadBlock;
18 | @property (nonatomic, assign) CFTimeInterval requestTime;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageCallbacks.m:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageCallbacks.m
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/9/15.
6 | //
7 | //
8 |
9 | #import "PINRemoteImageCallbacks.h"
10 |
11 | @implementation PINRemoteImageCallbacks
12 |
13 | - (void)setCompletionBlock:(PINRemoteImageManagerImageCompletion)completionBlock
14 | {
15 | _completionBlock = [completionBlock copy];
16 | self.requestTime = CACurrentMediaTime();
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageDownloadQueue.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageDownloadQueue.h
3 | // PINRemoteImage
4 | //
5 | // Created by Garrett Moon on 3/1/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | #import "PINRemoteImageManager.h"
12 |
13 | @class PINURLSessionManager;
14 |
15 | NS_ASSUME_NONNULL_BEGIN
16 |
17 | typedef void (^PINRemoteImageDownloadCompletion)(NSURLResponse * _Nullable response, NSError *error);
18 |
19 | @interface PINRemoteImageDownloadQueue : NSObject
20 |
21 | @property (nonatomic, assign) NSUInteger maxNumberOfConcurrentDownloads;
22 |
23 | - (instancetype)init NS_UNAVAILABLE;
24 | + (PINRemoteImageDownloadQueue *)queueWithMaxConcurrentDownloads:(NSUInteger)maxNumberOfConcurrentDownloads;
25 |
26 | - (NSURLSessionDataTask *)addDownloadWithSessionManager:(PINURLSessionManager *)sessionManager
27 | request:(NSURLRequest *)request
28 | priority:(PINRemoteImageManagerPriority)priority
29 | completionHandler:(PINRemoteImageDownloadCompletion)completionHandler;
30 |
31 | /***
32 | This prevents a task from being run if it hasn't already started yet. It is the caller's responsibility to cancel
33 | the task if it has already been started.
34 |
35 | @return BOOL Returns YES if the task was in the queue.
36 | */
37 | - (BOOL)removeDownloadTaskFromQueue:(NSURLSessionDataTask *)downloadTask;
38 |
39 | /*
40 | This sets the tasks priority of execution. It is the caller's responsibility to set the priority on the task itself
41 | for NSURLSessionManager.
42 | */
43 | - (void)setQueuePriority:(PINRemoteImageManagerPriority)priority forTask:(NSURLSessionDataTask *)downloadTask;
44 |
45 | NS_ASSUME_NONNULL_END
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageDownloadTask.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageDownloadTask.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/9/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #import "PINRemoteImageManager+Private.h"
12 | #import "PINRemoteImageTask.h"
13 | #import "PINProgressiveImage.h"
14 | #import "PINResume.h"
15 |
16 | @interface PINRemoteImageDownloadTask : PINRemoteImageTask
17 |
18 | @property (nonatomic, strong, nullable) NSURL *URL;
19 | @property (nonatomic, copy, nullable) NSString *ifRange;
20 | @property (nonatomic, copy, readonly, nullable) NSData *data;
21 |
22 | @property (nonatomic, assign) NSUInteger numberOfRetries;
23 | @property (nonatomic, readonly) float bytesPerSecond;
24 | @property (nonatomic, readonly) CFTimeInterval estimatedRemainingTime;
25 |
26 | - (void)scheduleDownloadWithRequest:(nonnull NSURLRequest *)request
27 | resume:(nullable PINResume *)resume
28 | skipRetry:(BOOL)skipRetry
29 | priority:(PINRemoteImageManagerPriority)priority
30 | completionHandler:(nonnull PINRemoteImageManagerDataCompletion)completionHandler;
31 |
32 | - (void)didReceiveData:(nonnull NSData *)data;
33 | - (void)didReceiveResponse:(nonnull NSURLResponse *)response;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageMacros.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageMacros.h
3 | // PINRemoteImage
4 | //
5 |
6 | #import
7 |
8 | #ifndef PINRemoteImageMacros_h
9 | #define PINRemoteImageMacros_h
10 |
11 | #define PIN_TARGET_IOS (TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR || TARGET_OS_TV)
12 | #define PIN_TARGET_MAC (TARGET_OS_MAC)
13 |
14 | #define PINRemoteImageLogging 0
15 | #if PINRemoteImageLogging
16 | #define PINLog(args...) NSLog(args)
17 | #else
18 | #define PINLog(args...)
19 | #endif
20 |
21 | #if __has_include()
22 | #define USE_FLANIMATED_IMAGE 1
23 | #else
24 | #define USE_FLANIMATED_IMAGE 0
25 | #define FLAnimatedImage NSObject
26 | #endif
27 |
28 | #if __has_include()
29 | #define USE_PINCACHE 1
30 | #else
31 | #define USE_PINCACHE 0
32 | #endif
33 |
34 | #if PIN_TARGET_IOS
35 | #define PINImage UIImage
36 | #define PINImageView UIImageView
37 | #define PINButton UIButton
38 | #define PINNSOperationSupportsBlur (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0)
39 | #define PINNSURLSessionTaskSupportsPriority (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0)
40 | #elif PIN_TARGET_MAC
41 | #define PINImage NSImage
42 | #define PINImageView NSImageView
43 | #define PINButton NSButton
44 | #define PINNSOperationSupportsBlur (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber10_10)
45 | #define PINNSURLSessionTaskSupportsPriority (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber10_10)
46 | #endif
47 |
48 | #define weakify(var) __weak typeof(var) PINWeak_##var = var;
49 |
50 | #define strongify(var) \
51 | _Pragma("clang diagnostic push") _Pragma("clang diagnostic ignored \"-Wshadow\"") __strong typeof(var) var = \
52 | PINWeak_##var; \
53 | _Pragma("clang diagnostic pop")
54 |
55 | #define BlockAssert(condition, desc, ...) \
56 | do { \
57 | __PRAGMA_PUSH_NO_EXTRA_ARG_WARNINGS \
58 | if (!(condition)) { \
59 | [[NSAssertionHandler currentHandler] handleFailureInMethod:_cmd \
60 | object:strongSelf file:[NSString stringWithUTF8String:__FILE__] \
61 | lineNumber:__LINE__ description:(desc), ##__VA_ARGS__]; \
62 | } \
63 | __PRAGMA_POP_NO_EXTRA_ARG_WARNINGS \
64 | } while(0);
65 |
66 | #endif /* PINRemoteImageMacros_h */
67 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageManager+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageManager+Private.h
3 | // PINRemoteImage
4 | //
5 | // Created by Garrett Moon on 5/18/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #ifndef PINRemoteImageManager_Private_h
10 | #define PINRemoteImageManager_Private_h
11 |
12 | #import "PINRemoteImageDownloadQueue.h"
13 |
14 | typedef void (^PINRemoteImageManagerDataCompletion)(NSData *data, NSError *error);
15 |
16 | @interface PINRemoteImageManager (private)
17 |
18 | @property (nonatomic, strong, readonly) dispatch_queue_t callbackQueue;
19 | @property (nonatomic, strong, readonly) PINOperationQueue *concurrentOperationQueue;
20 | @property (nonatomic, strong, readonly) PINRemoteImageDownloadQueue *urlSessionTaskQueue;
21 | @property (nonatomic, strong, readonly) PINURLSessionManager *sessionManager;
22 |
23 | @property (nonatomic, readonly) NSArray *progressThresholds;
24 | @property (nonatomic, readonly) NSTimeInterval estimatedRemainingTimeThreshold;
25 | @property (nonatomic, readonly) BOOL shouldBlurProgressive;
26 | @property (nonatomic, readonly) CGSize maxProgressiveRenderSize;
27 |
28 | @end
29 |
30 | #endif /* PINRemoteImageManager_Private_h */
31 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageMemoryContainer.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/17/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | #import "PINRemoteImageMacros.h"
12 | #import "PINRemoteLock.h"
13 |
14 | @class PINImage;
15 |
16 | @interface PINRemoteImageMemoryContainer : NSObject
17 |
18 | @property (nonatomic, strong) PINImage *image;
19 | @property (nonatomic, strong) NSData *data;
20 | @property (nonatomic, strong) PINRemoteLock *lock;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageMemoryContainer.m:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageMemoryContainer.m
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/17/16.
6 | //
7 | //
8 |
9 | #import "PINRemoteImageMemoryContainer.h"
10 |
11 | @implementation PINRemoteImageMemoryContainer
12 |
13 | - (instancetype)init
14 | {
15 | if (self = [super init]) {
16 | _lock = [[PINRemoteLock alloc] initWithName:@"PINRemoteImageMemoryContainer" lockType:PINRemoteLockTypeNonRecursive];
17 | }
18 | return self;
19 | }
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageProcessorTask.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/9/15.
6 | //
7 | //
8 |
9 | #import "PINRemoteImageTask.h"
10 |
11 | @interface PINRemoteImageProcessorTask : PINRemoteImageTask
12 |
13 | @property (nonatomic, strong, nullable) NSUUID *downloadTaskUUID;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageProcessorTask.m:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageProcessorTask.m
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/9/15.
6 | //
7 | //
8 |
9 | #import "PINRemoteImageProcessorTask.h"
10 |
11 | @implementation PINRemoteImageProcessorTask
12 |
13 | @synthesize downloadTaskUUID = _downloadTaskUUID;
14 |
15 | - (BOOL)cancelWithUUID:(NSUUID *)UUID resume:(PINResume * _Nullable * _Nullable)resume
16 | {
17 | BOOL noMoreCompletions = [super cancelWithUUID:UUID resume:resume];
18 | [self.lock lockWithBlock:^{
19 | if (noMoreCompletions && self.downloadTaskUUID) {
20 | [self.manager cancelTaskWithUUID:self.downloadTaskUUID];
21 | _downloadTaskUUID = nil;
22 | }
23 | }];
24 | return noMoreCompletions;
25 | }
26 |
27 | - (void)setDownloadTaskUUID:(NSUUID *)downloadTaskUUID
28 | {
29 | [self.lock lockWithBlock:^{
30 | NSAssert(_downloadTaskUUID == nil, @"downloadTaskUUID should be nil");
31 | _downloadTaskUUID = downloadTaskUUID;
32 | }];
33 | }
34 |
35 | - (NSUUID *)downloadTaskUUID
36 | {
37 | __block NSUUID *downloadTaskUUID;
38 | [self.lock lockWithBlock:^{
39 | downloadTaskUUID = _downloadTaskUUID;
40 | }];
41 | return downloadTaskUUID;
42 | }
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteImageTask.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteImageTask.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/9/15.
6 | //
7 | //
8 |
9 | #import
10 | #import
11 |
12 | #import "PINRemoteImageCallbacks.h"
13 | #import "PINRemoteImageManager.h"
14 | #import "PINRemoteImageMacros.h"
15 | #import "PINRemoteLock.h"
16 | #import "PINResume.h"
17 |
18 | @interface PINRemoteImageTask : NSObject
19 |
20 | @property (nonatomic, strong, readonly, nonnull) PINRemoteLock *lock;
21 |
22 | @property (nonatomic, copy, readonly, nonnull) NSDictionary *callbackBlocks;
23 |
24 | @property (nonatomic, weak, nullable) PINRemoteImageManager *manager;
25 | #if PINRemoteImageLogging
26 | @property (nonatomic, copy, nullable) NSString *key;
27 | #endif
28 |
29 | - (_Nonnull instancetype)init NS_UNAVAILABLE;
30 | - (_Nonnull instancetype)initWithManager:(nonnull PINRemoteImageManager *)manager NS_DESIGNATED_INITIALIZER;
31 |
32 | - (void)addCallbacksWithCompletionBlock:(nonnull PINRemoteImageManagerImageCompletion)completionBlock
33 | progressImageBlock:(nullable PINRemoteImageManagerImageCompletion)progressImageBlock
34 | progressDownloadBlock:(nullable PINRemoteImageManagerProgressDownload)progressDownloadBlock
35 | withUUID:(nonnull NSUUID *)UUID;
36 |
37 | - (void)removeCallbackWithUUID:(nonnull NSUUID *)UUID;
38 |
39 | - (void)callCompletionsWithImage:(nullable PINImage *)image
40 | alternativeRepresentation:(nullable id)alternativeRepresentation
41 | cached:(BOOL)cached
42 | error:(nullable NSError *)error
43 | remove:(BOOL)remove;
44 |
45 | //returns YES if no more attached completionBlocks
46 | - (BOOL)cancelWithUUID:(nonnull NSUUID *)UUID resume:(PINResume * _Nullable * _Nullable)resume;
47 |
48 | - (void)setPriority:(PINRemoteImageManagerPriority)priority;
49 |
50 | - (nonnull PINRemoteImageManagerResult *)imageResultWithImage:(nullable PINImage *)image
51 | alternativeRepresentation:(nullable id)alternativeRepresentation
52 | requestLength:(NSTimeInterval)requestLength
53 | error:(nullable NSError *)error
54 | resultType:(PINRemoteImageResultType)resultType
55 | UUID:(nullable NSUUID *)uuid;
56 |
57 | @end
58 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteLock.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteLock.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/17/16.
6 | //
7 | //
8 |
9 | #import
10 |
11 | /** The type of lock, either recursive or non-recursive */
12 | typedef NS_ENUM(NSUInteger, PINRemoteLockType) {
13 | /** A non-recursive version of the lock. The default. */
14 | PINRemoteLockTypeNonRecursive = 0,
15 | /** A recursive version of the lock. More expensive. */
16 | PINRemoteLockTypeRecursive,
17 | };
18 |
19 | @interface PINRemoteLock : NSObject
20 |
21 | - (instancetype)initWithName:(NSString *)lockName lockType:(PINRemoteLockType)lockType NS_DESIGNATED_INITIALIZER;
22 | - (instancetype)initWithName:(NSString *)lockName;
23 | - (void)lockWithBlock:(dispatch_block_t)block;
24 |
25 | - (void)lock;
26 | - (void)unlock;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINRemoteLock.m:
--------------------------------------------------------------------------------
1 | //
2 | // PINRemoteLock.m
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 3/17/16.
6 | //
7 | //
8 |
9 | #import "PINRemoteLock.h"
10 |
11 | #import
12 |
13 | #if !defined(PINREMOTELOCK_DEBUG) && defined(DEBUG)
14 | #define PINREMOTELOCK_DEBUG DEBUG
15 | #endif
16 |
17 | @interface PINRemoteLock ()
18 | {
19 | #if PINREMOTELOCK_DEBUG
20 | NSLock *_lock;
21 | NSRecursiveLock *_recursiveLock;
22 | #else
23 | pthread_mutex_t _lock;
24 | #endif
25 | }
26 |
27 | @end
28 |
29 | @implementation PINRemoteLock
30 |
31 | - (instancetype)init
32 | {
33 | return [self initWithName:nil];
34 | }
35 |
36 | - (instancetype)initWithName:(NSString *)lockName lockType:(PINRemoteLockType)lockType
37 | {
38 | if (self = [super init]) {
39 | #if PINREMOTELOCK_DEBUG
40 | if (lockType == PINRemoteLockTypeNonRecursive) {
41 | _lock = [[NSLock alloc] init];
42 | } else {
43 | _recursiveLock = [[NSRecursiveLock alloc] init];
44 | }
45 |
46 | if (lockName) {
47 | [_lock setName:lockName];
48 | [_recursiveLock setName:lockName];
49 | }
50 | #else
51 | pthread_mutexattr_t attr;
52 |
53 | pthread_mutexattr_init(&attr);
54 | if (lockType == PINRemoteLockTypeRecursive) {
55 | pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
56 | }
57 | pthread_mutex_init(&_lock, &attr);
58 | #endif
59 | }
60 | return self;
61 | }
62 |
63 | - (instancetype)initWithName:(NSString *)lockName
64 | {
65 | return [self initWithName:lockName lockType:PINRemoteLockTypeNonRecursive];
66 | }
67 |
68 | #if ! PINREMOTELOCK_DEBUG
69 | - (void)dealloc
70 | {
71 | pthread_mutex_destroy(&_lock);
72 | }
73 | #endif
74 |
75 | - (void)lockWithBlock:(dispatch_block_t)block
76 | {
77 | #if PINREMOTELOCK_DEBUG
78 | [_lock lock];
79 | [_recursiveLock lock];
80 | #else
81 | pthread_mutex_lock(&_lock);
82 | #endif
83 | block();
84 | #if PINREMOTELOCK_DEBUG
85 | [_lock unlock];
86 | [_recursiveLock unlock];
87 | #else
88 | pthread_mutex_unlock(&_lock);
89 | #endif
90 | }
91 |
92 | - (void)lock
93 | {
94 | #if PINREMOTELOCK_DEBUG
95 | [_lock lock];
96 | [_recursiveLock lock];
97 | #else
98 | pthread_mutex_lock(&_lock);
99 | #endif
100 | }
101 |
102 | - (void)unlock
103 | {
104 | #if PINREMOTELOCK_DEBUG
105 | [_lock unlock];
106 | [_recursiveLock unlock];
107 | #else
108 | pthread_mutex_unlock(&_lock);
109 | #endif
110 | }
111 |
112 | @end
113 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINResume.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINResume.h
3 | // PINRemoteImage
4 | //
5 | // Created by Garrett Moon on 3/10/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface PINResume : NSObject
14 |
15 | - (id)init NS_UNAVAILABLE;
16 | + (PINResume *)resumeData:(NSData *)resumeData ifRange:(NSString *)ifRange totalBytes:(long long)totalBytes;
17 |
18 | @property (nonatomic, strong, readonly) NSData *resumeData;
19 | @property (nonatomic, copy, readonly) NSString *ifRange;
20 | @property (nonatomic, assign, readonly) long long totalBytes;
21 |
22 | @end
23 |
24 | NS_ASSUME_NONNULL_END
25 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINResume.m:
--------------------------------------------------------------------------------
1 | //
2 | // PINResume.m
3 | // PINRemoteImage
4 | //
5 | // Created by Garrett Moon on 3/10/17.
6 | // Copyright © 2017 Pinterest. All rights reserved.
7 | //
8 |
9 | #import "PINResume.h"
10 |
11 | @implementation PINResume
12 |
13 | NSString * const kResumeDataKey = @"kResumeDataKey";
14 | NSString * const kIfRangeKey = @"kIfRangeKey";
15 | NSString * const kTotalBytesKey = @"kTotalBytesKey";
16 |
17 | - (instancetype)initWithCoder:(NSCoder *)aDecoder
18 | {
19 | if (self = [super init]) {
20 | _resumeData = [aDecoder decodeObjectForKey:kResumeDataKey];
21 | _ifRange = [aDecoder decodeObjectForKey:kIfRangeKey];
22 | _totalBytes = [aDecoder decodeInt64ForKey:kTotalBytesKey];
23 | }
24 | return self;
25 | }
26 |
27 | - (void)encodeWithCoder:(NSCoder *)aCoder
28 | {
29 | [aCoder encodeObject:_resumeData forKey:kResumeDataKey];
30 | [aCoder encodeObject:_ifRange forKey:kIfRangeKey];
31 | [aCoder encodeInt64:_totalBytes forKey:kTotalBytesKey];
32 | }
33 |
34 | + (PINResume *)resumeData:(NSData *)resumeData ifRange:(NSString *)ifRange totalBytes:(long long)totalBytes
35 | {
36 | PINResume *resume = [[PINResume alloc] initWithResumeData:resumeData ifRange:ifRange totalBytes:totalBytes];
37 | return resume;
38 | }
39 |
40 | - (PINResume *)initWithResumeData:(NSData *)resumeData ifRange:(NSString *)ifRange totalBytes:(long long)totalBytes
41 | {
42 | if (self = [super init]) {
43 | NSAssert(resumeData.length > 0 && ifRange.length > 0 && totalBytes > 0, @"PINResume must have all fields non-nil and non-zero length.");
44 | _resumeData = resumeData;
45 | _ifRange = ifRange;
46 | _totalBytes = totalBytes;
47 | }
48 | return self;
49 | }
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/ios/Pods/PINRemoteImage/Source/Classes/PINURLSessionManager.h:
--------------------------------------------------------------------------------
1 | //
2 | // PINURLSessionManager.h
3 | // Pods
4 | //
5 | // Created by Garrett Moon on 6/26/15.
6 | //
7 | //
8 |
9 | #import
10 |
11 | extern NSString * __nonnull const PINURLErrorDomain;
12 |
13 | @protocol PINURLSessionManagerDelegate
14 |
15 | @required
16 | - (void)didReceiveData:(nonnull NSData *)data forTask:(nonnull NSURLSessionTask *)task;
17 | - (void)didCompleteTask:(nonnull NSURLSessionTask *)task withError:(nullable NSError *)error;
18 |
19 | @optional
20 | - (void)didReceiveResponse:(nonnull NSURLResponse *)response forTask:(nonnull NSURLSessionTask *)task;
21 | - (void)didReceiveAuthenticationChallenge:(nonnull NSURLAuthenticationChallenge *)challenge forTask:(nullable NSURLSessionTask *)task completionHandler:(nonnull void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler;
22 |
23 |
24 | @end
25 |
26 | typedef void (^PINURLSessionDataTaskCompletion)(NSURLSessionTask * _Nonnull task, NSError * _Nullable error);
27 |
28 | @interface PINURLSessionManager : NSObject
29 |
30 | - (nonnull instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration;
31 |
32 | - (nonnull NSURLSessionDataTask *)dataTaskWithRequest:(nonnull NSURLRequest *)request completionHandler:(nonnull PINURLSessionDataTaskCompletion)completionHandler;
33 |
34 | - (void)invalidateSessionAndCancelTasks;
35 |
36 | @property (atomic, weak, nullable) id delegate;
37 |
38 | /*
39 | Returns a weighted average of time to first byte for the specified host.
40 | More specifically, we get the time to first byte for every task that completes
41 | and add it to an existing average: newAverage = (existingAverage + newTimeToFirstByte / 2)
42 | This is all done on a per host basis.
43 | */
44 | - (NSTimeInterval)weightedTimeToFirstByteForHost:(nonnull NSString *)host;
45 |
46 | #if DEBUG
47 | - (void)concurrentDownloads:(void (^_Nullable)(NSUInteger concurrentDownloads))concurrentDownloadsCompletion;
48 | #endif
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/PINCache.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/PINOperation.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/PINRemoteImage.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/Pods-SHWeexSDK.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/SocketRocket.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
43 |
44 |
45 |
46 |
52 |
53 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/ios/Pods/Pods.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | PINCache.xcscheme
8 |
9 | isShown
10 |
11 |
12 | PINOperation.xcscheme
13 |
14 | isShown
15 |
16 |
17 | PINRemoteImage.xcscheme
18 |
19 | isShown
20 |
21 |
22 | Pods-SHWeexSDK.xcscheme
23 |
24 | isShown
25 |
26 |
27 | SocketRocket.xcscheme
28 |
29 | isShown
30 |
31 |
32 |
33 | SuppressBuildableAutocreation
34 |
35 | 7020FA468B15664DBD673D04AD8E5C33
36 |
37 | primary
38 |
39 |
40 | 7A9492F0C84610C72141FFB341D7820D
41 |
42 | primary
43 |
44 |
45 | A6C943ADB88ACAACE8DDFF8493B15240
46 |
47 | primary
48 |
49 |
50 | AD03CA9A10C296C91049CC4918F0E87B
51 |
52 | primary
53 |
54 |
55 | DE689CAE8DD656C32DF75630C09FA386
56 |
57 | primary
58 |
59 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/ios/Pods/SocketRocket/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | Copyright 2012 Square Inc.
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License");
5 | you may not use this file except in compliance with the License.
6 | You may obtain a copy of the License at
7 |
8 | http://www.apache.org/licenses/LICENSE-2.0
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 |
--------------------------------------------------------------------------------
/ios/Pods/SocketRocket/SocketRocket/SocketRocket.h:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright 2012 Square Inc.
3 | //
4 | // Licensed under the Apache License, Version 2.0 (the "License");
5 | // you may not use this file except in compliance with the License.
6 | // You may obtain a copy of the License at
7 | //
8 | // http://www.apache.org/licenses/LICENSE-2.0
9 | //
10 | // Unless required by applicable law or agreed to in writing, software
11 | // distributed under the License is distributed on an "AS IS" BASIS,
12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | // See the License for the specific language governing permissions and
14 | // limitations under the License.
15 | //
16 |
17 | #import
18 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINCache/PINCache-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_PINCache : NSObject
3 | @end
4 | @implementation PodsDummy_PINCache
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINCache/PINCache-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #ifndef TARGET_OS_WATCH
14 | #define TARGET_OS_WATCH 0
15 | #endif
16 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINCache/PINCache.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/PINCache
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PINCache" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/PINOperation" "${PODS_ROOT}/Headers/Public/PINRemoteImage" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/WXDevtool" "${PODS_ROOT}/Headers/Public/WeexSDK"
4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/PINOperation"
5 | OTHER_LDFLAGS = -framework "Foundation" -weak_framework "UIKit"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/PINCache
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINOperation/PINOperation-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_PINOperation : NSObject
3 | @end
4 | @implementation PodsDummy_PINOperation
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINOperation/PINOperation-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 | #ifndef TARGET_OS_WATCH
14 | #define TARGET_OS_WATCH 0
15 | #endif
16 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINOperation/PINOperation.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/PINOperation
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PINOperation" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/PINOperation" "${PODS_ROOT}/Headers/Public/PINRemoteImage" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/WXDevtool" "${PODS_ROOT}/Headers/Public/WeexSDK"
4 | OTHER_LDFLAGS = -framework "Foundation"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/PINOperation
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINRemoteImage/PINRemoteImage-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_PINRemoteImage : NSObject
3 | @end
4 | @implementation PodsDummy_PINRemoteImage
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINRemoteImage/PINRemoteImage-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/PINRemoteImage/PINRemoteImage.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/PINRemoteImage
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/PINRemoteImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/PINOperation" "${PODS_ROOT}/Headers/Public/PINRemoteImage" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/WXDevtool" "${PODS_ROOT}/Headers/Public/WeexSDK"
4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/PINCache" "$PODS_CONFIGURATION_BUILD_DIR/PINOperation"
5 | OTHER_LDFLAGS = -framework "Accelerate" -framework "ImageIO" -framework "UIKit"
6 | PODS_BUILD_DIR = $BUILD_DIR
7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
8 | PODS_ROOT = ${SRCROOT}
9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/PINRemoteImage
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SHWeexSDK/Pods-SHWeexSDK-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_SHWeexSDK : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_SHWeexSDK
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SHWeexSDK/Pods-SHWeexSDK.debug.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) '$(PODS_ROOT)/WeexSDK' "${PODS_ROOT}/WXDevtool" "${PODS_ROOT}/WeexSDK"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/PINOperation" "${PODS_ROOT}/Headers/Public/PINRemoteImage" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/WXDevtool" "${PODS_ROOT}/Headers/Public/WeexSDK"
4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/PINCache" "$PODS_CONFIGURATION_BUILD_DIR/PINOperation" "$PODS_CONFIGURATION_BUILD_DIR/PINRemoteImage" "$PODS_CONFIGURATION_BUILD_DIR/SocketRocket"
5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PINCache" -isystem "${PODS_ROOT}/Headers/Public/PINOperation" -isystem "${PODS_ROOT}/Headers/Public/PINRemoteImage" -isystem "${PODS_ROOT}/Headers/Public/SocketRocket" -isystem "${PODS_ROOT}/Headers/Public/WXDevtool" -isystem "${PODS_ROOT}/Headers/Public/WeexSDK"
6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"PINCache" -l"PINOperation" -l"PINRemoteImage" -l"SocketRocket" -l"icucore" -l"stdc++" -framework "AVFoundation" -framework "AVKit" -framework "Accelerate" -framework "CFNetwork" -framework "CoreData" -framework "CoreMedia" -framework "Foundation" -framework "GLKit" -framework "ImageIO" -framework "JavaScriptCore" -framework "MediaPlayer" -framework "Security" -framework "TBWXDevTool" -framework "UIKit" -framework "WeexSDK" -weak_framework "UIKit"
7 | OTHER_LINK_FLAG = $(inherited) -ObjC
8 | PODS_BUILD_DIR = $BUILD_DIR
9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/Pods-SHWeexSDK/Pods-SHWeexSDK.release.xcconfig:
--------------------------------------------------------------------------------
1 | FRAMEWORK_SEARCH_PATHS = $(inherited) '$(PODS_ROOT)/WeexSDK' "${PODS_ROOT}/WXDevtool" "${PODS_ROOT}/WeexSDK"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/PINOperation" "${PODS_ROOT}/Headers/Public/PINRemoteImage" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/WXDevtool" "${PODS_ROOT}/Headers/Public/WeexSDK"
4 | LIBRARY_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/PINCache" "$PODS_CONFIGURATION_BUILD_DIR/PINOperation" "$PODS_CONFIGURATION_BUILD_DIR/PINRemoteImage" "$PODS_CONFIGURATION_BUILD_DIR/SocketRocket"
5 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/PINCache" -isystem "${PODS_ROOT}/Headers/Public/PINOperation" -isystem "${PODS_ROOT}/Headers/Public/PINRemoteImage" -isystem "${PODS_ROOT}/Headers/Public/SocketRocket" -isystem "${PODS_ROOT}/Headers/Public/WXDevtool" -isystem "${PODS_ROOT}/Headers/Public/WeexSDK"
6 | OTHER_LDFLAGS = $(inherited) -ObjC -l"PINCache" -l"PINOperation" -l"PINRemoteImage" -l"SocketRocket" -l"icucore" -l"stdc++" -framework "AVFoundation" -framework "AVKit" -framework "Accelerate" -framework "CFNetwork" -framework "CoreData" -framework "CoreMedia" -framework "Foundation" -framework "GLKit" -framework "ImageIO" -framework "JavaScriptCore" -framework "MediaPlayer" -framework "Security" -framework "TBWXDevTool" -framework "UIKit" -framework "WeexSDK" -weak_framework "UIKit"
7 | OTHER_LINK_FLAG = $(inherited) -ObjC
8 | PODS_BUILD_DIR = $BUILD_DIR
9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/.
11 | PODS_ROOT = ${SRCROOT}/Pods
12 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/SocketRocket/SocketRocket-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_SocketRocket : NSObject
3 | @end
4 | @implementation PodsDummy_SocketRocket
5 | @end
6 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/SocketRocket/SocketRocket-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #else
4 | #ifndef FOUNDATION_EXPORT
5 | #if defined(__cplusplus)
6 | #define FOUNDATION_EXPORT extern "C"
7 | #else
8 | #define FOUNDATION_EXPORT extern
9 | #endif
10 | #endif
11 | #endif
12 |
13 |
--------------------------------------------------------------------------------
/ios/Pods/Target Support Files/SocketRocket/SocketRocket.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SocketRocket
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/SocketRocket" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/PINCache" "${PODS_ROOT}/Headers/Public/PINOperation" "${PODS_ROOT}/Headers/Public/PINRemoteImage" "${PODS_ROOT}/Headers/Public/SocketRocket" "${PODS_ROOT}/Headers/Public/WXDevtool" "${PODS_ROOT}/Headers/Public/WeexSDK"
4 | OTHER_LDFLAGS = -l"icucore" -framework "CFNetwork" -framework "Security"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SocketRocket
9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
10 | SKIP_INSTALL = YES
11 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/NSObject+WXSwizzle.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 |
21 | #import
22 |
23 | @interface NSObject (WXSwizzle)
24 |
25 | + (BOOL)weex_swizzle:(Class)originalClass Method:(SEL)originalSelector withMethod:(SEL)swizzledSelector;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXAComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXComponent.h"
21 |
22 | @interface WXAComponent : WXComponent
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXAppConfiguration.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 |
22 | @interface WXAppConfiguration : NSObject
23 |
24 | /**
25 | * @abstract Group or organization of your app, default value is nil.
26 | */
27 | + (NSString *)appGroup;
28 | + (void)setAppGroup:(NSString *) appGroup;
29 |
30 | /**
31 | * @abstract Name of your app, default is value for CFBundleDisplayName in main bundle.
32 | */
33 | + (NSString *)appName;
34 | + (void)setAppName:(NSString *)appName;
35 |
36 | /**
37 | * @abstract Version of your app, default is value for CFBundleShortVersionString in main bundle.
38 | */
39 | + (NSString *)appVersion;
40 | + (void)setAppVersion:(NSString *)appVersion;
41 |
42 | /**
43 | * @abstract External user agent of your app, all requests sent by weex will set the user agent on header, default value is nil.
44 | */
45 | + (NSString *)externalUserAgent;
46 | + (void)setExternalUserAgent:(NSString *)userAgent;
47 |
48 | /**
49 | * @abstract JSFrameworkVersion
50 | */
51 | + (NSString *)JSFrameworkVersion;
52 | + (void)setJSFrameworkVersion:(NSString *)JSFrameworkVersion;
53 |
54 |
55 | /*
56 | * @abstract customizeProtocolClasses
57 | */
58 | + (NSArray*)customizeProtocolClasses;
59 | + (void)setCustomizeProtocolClasses:(NSArray*)customizeProtocolClasses;
60 |
61 | @end
62 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXAppMonitorProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXModuleProtocol.h"
21 |
22 | #define BIZTYPE @"bizType"
23 | #define PAGENAME @"pageName"
24 | #define WXSDKVERSION @"WXSDKVersion"
25 | #define JSLIBVERSION @"JSLibVersion"
26 | #define WXREQUESTTYPE @"requestType"
27 | #define WXCONNECTIONTYPE @"connectionType"
28 | #define WXCUSTOMMONITORINFO @"customMonitorInfo"
29 |
30 | #define SDKINITTIME @"SDKInitTime"
31 | #define SDKINITINVOKETIME @"SDKInitInvokeTime"
32 | #define JSLIBINITTIME @"JSLibInitTime"
33 | #define JSTEMPLATESIZE @"JSTemplateSize"
34 | #define NETWORKTIME @"networkTime"
35 | #define COMMUNICATETIME @"communicateTime"
36 | #define SCREENRENDERTIME @"screenRenderTime"
37 | #define TOTALTIME @"totalTime"
38 |
39 |
40 | @protocol WXAppMonitorProtocol
41 |
42 | - (void)commitAppMonitorArgs:(NSDictionary *)args;
43 |
44 | - (void)commitAppMonitorAlarm:(NSString *)pageName monitorPoint:(NSString *)monitorPoint success:(BOOL)success errorCode:(NSString *)errorCode errorMsg:(NSString *)errorMsg arg:(NSString *)arg;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXBaseViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 |
22 | /**
23 | * The WXBaseViewController class provides the infrastructure for managing the weex view in your app. It is
24 | * responsible for creating a weex instance or rendering the weex view, for observing the lifecycle of the
25 | * view such as "appear" or "disappear"、"foreground" or "background" etc. You can initialize this controller by
26 | * special bundle URL.
27 | */
28 |
29 | @interface WXBaseViewController : UIViewController
30 |
31 | /**
32 | * @abstract initializes the viewcontroller with bundle url.
33 | *
34 | * @param sourceURL The url of bundle rendered to a weex view.
35 | *
36 | * @return a object the class of WXBaseViewController.
37 | *
38 | */
39 | - (instancetype)initWithSourceURL:(NSURL *)sourceURL;
40 |
41 | /**
42 | * @abstract refreshes the weex view in controller.
43 | */
44 | - (void)refreshWeex;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXDebugTool.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXModuleProtocol.h"
22 |
23 | @interface WXDebugTool : NSObject
24 |
25 | + (instancetype)sharedInstance;
26 |
27 | //+ (void)showFPS;
28 |
29 | + (void)setDebug:(BOOL)isDebug;
30 |
31 | + (BOOL)isDebug;
32 |
33 | + (void)setDevToolDebug:(BOOL)isDevToolDebug;
34 |
35 | + (BOOL)isDevToolDebug;
36 |
37 | + (void)setReplacedBundleJS:(NSURL*)url;
38 |
39 | + (NSString*)getReplacedBundleJS;
40 |
41 | + (void)setReplacedJSFramework:(NSURL*)url;
42 |
43 | + (NSString*)getReplacedJSFramework;
44 |
45 | + (BOOL) cacheJsService: (NSString *)name withScript: (NSString *)script withOptions: (NSDictionary *) options;
46 |
47 | + (BOOL) removeCacheJsService: (NSString *)name;
48 |
49 | + (NSDictionary *) jsServiceCache;
50 |
51 | @end
52 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXEventModuleProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXModuleProtocol.h"
21 |
22 | @protocol WXEventModuleProtocol
23 |
24 | - (void)openURL:(NSString *)url;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXImgLoaderProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXModuleProtocol.h"
21 | #import "WXType.h"
22 |
23 | @protocol WXImageOperationProtocol
24 |
25 | - (void)cancel;
26 |
27 | @end
28 |
29 | @protocol WXImgLoaderProtocol
30 |
31 | /**
32 | * @abstract Creates a image download handler with a given URL
33 | *
34 | * @param url The URL of the image to download
35 | *
36 | * @param imageFrame The frame of the image you want to set
37 | *
38 | * @param options : The options to be used for this download
39 | *
40 | * @param completedBlock : A block called once the download is completed.
41 | * image : the image which has been download to local.
42 | * error : the error which has happened in download.
43 | * finished : a Boolean value indicating whether download action has finished.
44 | */
45 | - (id)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)options completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock;
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXJSExceptionInfo.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 |
22 | @interface WXJSExceptionInfo : NSObject
23 | /**
24 | * instance id
25 | */
26 | @property(nonatomic,strong) NSString * instanceId;
27 | /**
28 | * the URL where the exception occurred
29 | */
30 | @property(nonatomic,strong) NSString * bundleUrl;
31 | /**
32 | * error code
33 | */
34 | @property(nonatomic,strong) NSString * errorCode;
35 | /**
36 | * the function name of exception
37 | */
38 | @property(nonatomic,strong) NSString * functionName;
39 | /**
40 | * exception detail;
41 | */
42 | @property(nonatomic,strong) NSString * exception;
43 | /**
44 | * extend filed
45 | */
46 | @property(nonatomic,strong) NSMutableDictionary * userInfo;
47 | /**
48 | * weex sdk version
49 | */
50 | @property(nonatomic,strong, readonly) NSString * sdkVersion;
51 | /**
52 | * js framework verison
53 | */
54 | @property(nonatomic,strong, readonly) NSString * jsfmVersion;
55 |
56 | /**
57 | * @abstract Initializes a WXJSException instance
58 | * @param instanceId the id of instance
59 | * @param bundleUrl the page URL where the exception occurred
60 | * @param errorCode error Code
61 | * @param exception exception detail
62 | * @param userInfo extend field
63 | */
64 | - (instancetype)initWithInstanceId:(NSString *)instanceId
65 | bundleUrl:(NSString *)bundleUrl
66 | errorCode:(NSString *)errorCode
67 | functionName:(NSString *)functionName
68 | exception:(NSString *)exception
69 | userInfo:(NSMutableDictionary *)userInfo;
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXJSExceptionProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXJSExceptionInfo.h"
21 |
22 | @protocol WXJSExceptionProtocol
23 |
24 | /**
25 | * report js exception
26 | *
27 | * @param exception WXJSExceptionInfo
28 | */
29 |
30 | - (void)onJSException:(WXJSExceptionInfo*) exception;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXLayoutDefine.h:
--------------------------------------------------------------------------------
1 | /**
2 | * Created by Weex.
3 | * Copyright (c) 2016, Alibaba, Inc. All rights reserved.
4 | *
5 | * This source code is licensed under the Apache Licence 2.0.
6 | * For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
7 | */
8 |
9 |
10 | #define WX_LAYOUT_NAMESPACE wx_
11 |
12 | #ifdef WX_LAYOUT_NAMESPACE
13 | // prefix all layout symbols with "wx_" to prevent conflict
14 | #define WX_NAMESPACE_PREFIX_INNER(namespace, symbol) namespace ## symbol
15 | #define WX_NAMESPACE_PREFIX(namespace, symbol) WX_NAMESPACE_PREFIX_INNER(namespace, symbol)
16 | #define WX_LAYOUT_PREFIX(symbol) WX_NAMESPACE_PREFIX(WX_LAYOUT_NAMESPACE, symbol)
17 |
18 | #define css_direction_t WX_LAYOUT_PREFIX(css_direction_t)
19 | #define css_flex_direction_t WX_LAYOUT_PREFIX(css_flex_direction_t)
20 | #define css_justify_t WX_LAYOUT_PREFIX(css_justify_t)
21 | #define css_align_t WX_LAYOUT_PREFIX(css_align_t)
22 | #define css_position_type_t WX_LAYOUT_PREFIX(css_position_type_t)
23 | #define css_wrap_type_t WX_LAYOUT_PREFIX(css_wrap_type_t)
24 | #define css_position_t WX_LAYOUT_PREFIX(css_position_t)
25 | #define css_dimension_t WX_LAYOUT_PREFIX(css_dimension_t)
26 | #define css_layout_t WX_LAYOUT_PREFIX(css_layout_t)
27 | #define css_dim_t WX_LAYOUT_PREFIX(css_dim_t)
28 | #define css_style_t WX_LAYOUT_PREFIX(css_style_t)
29 | #define css_node WX_LAYOUT_PREFIX(css_node)
30 | #define css_node_t WX_LAYOUT_PREFIX(css_node_t)
31 | #define new_css_node WX_LAYOUT_PREFIX(new_css_node)
32 | #define init_css_node WX_LAYOUT_PREFIX(init_css_node)
33 | #define free_css_node WX_LAYOUT_PREFIX(free_css_node)
34 | #define css_print_options_t WX_LAYOUT_PREFIX(css_print_options_t)
35 | #define print_css_node WX_LAYOUT_PREFIX(print_css_node)
36 | #define layoutNode WX_LAYOUT_PREFIX(layoutNode)
37 | #define isUndefined WX_LAYOUT_PREFIX(isUndefined)
38 | #define resetNodeLayout WX_LAYOUT_PREFIX(resetNodeLayout)
39 |
40 | #endif
41 |
42 |
43 | #import "Layout.h"
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXListComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXScrollerComponent.h"
21 |
22 | @interface WXListComponent : WXScrollerComponent
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXModalUIModule.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXModuleProtocol.h"
22 |
23 | @interface WXModalUIModule : NSObject
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXNetworkProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXModuleProtocol.h"
22 |
23 | __attribute__ ((deprecated("Use WXResourceRequestHandler instead")))
24 | @protocol WXNetworkProtocol
25 |
26 | /**
27 | * @abstract send request
28 | *
29 | * @param request The URL Request
30 | *
31 | * @param sendDataCallback This block is called periodically to notify the progress.
32 | *
33 | * @param responseCallback This block is called when receiving a response and no further messages will be received until the completion block is called.
34 | *
35 | * @param receiveDataCallback This block is called when data is available.
36 | *
37 | * @param completionCallback This block is called when the last message related to a specific task is sent.
38 | */
39 | - (id)sendRequest:(NSURLRequest *)request withSendingData:(void (^)(int64_t bytesSent, int64_t totalBytes))sendDataCallback
40 | withResponse:(void (^)(NSURLResponse *response))responseCallback
41 | withReceiveData:(void (^)(NSData *data))receiveDataCallback
42 | withCompeletion:(void (^)(NSData *totalData, NSError *error))completionCallback;
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXResourceRequest.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 |
22 | typedef enum : NSUInteger {
23 | WXResourceTypeMainBundle,
24 | WXResourceTypeServiceBundle,
25 | WXResourceTypeImage,
26 | WXResourceTypeFont,
27 | WXResourceTypeVideo,
28 | WXResourceTypeLink,
29 | WXResourceTypeOthers
30 | } WXResourceType;
31 |
32 |
33 | @interface WXResourceRequest : NSMutableURLRequest
34 |
35 | @property (nonatomic, strong) id taskIdentifier;
36 | @property (nonatomic, assign) WXResourceType type;
37 |
38 | @property (nonatomic, strong) NSString *referrer;
39 | @property (nonatomic, strong) NSString *userAgent;
40 |
41 | + (instancetype)requestWithURL:(NSURL *)url
42 | resourceType:(WXResourceType)type
43 | referrer:(NSString *)referrer
44 | cachePolicy:(NSURLRequestCachePolicy)cachePolicy;
45 |
46 | @end
47 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXResourceRequestHandler.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 |
21 | #import
22 | #import "WXResourceRequest.h"
23 | #import "WXResourceResponse.h"
24 |
25 | @protocol WXResourceRequestDelegate
26 |
27 | // Periodically informs the delegate of the progress of sending content to the server.
28 | - (void)request:(WXResourceRequest *)request didSendData:(unsigned long long)bytesSent totalBytesToBeSent:(unsigned long long)totalBytesToBeSent;
29 |
30 | // Tells the delegate that the request received the initial reply (headers) from the server.
31 | - (void)request:(WXResourceRequest *)request didReceiveResponse:(WXResourceResponse *)response;
32 |
33 | // Tells the delegate that the request has received some of the expected data.
34 | - (void)request:(WXResourceRequest *)request didReceiveData:(NSData *)data;
35 |
36 | // Tells the delegate that the request finished transferring data.
37 | - (void)requestDidFinishLoading:(WXResourceRequest *)request;
38 |
39 | // Tells the delegate that the request failed to load successfully.
40 | - (void)request:(WXResourceRequest *)request didFailWithError:(NSError *)error;
41 |
42 | // Tells the delegate that when complete statistics information has been collected for the task.
43 | - (void)request:(WXResourceRequest *)request didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0));
44 |
45 | @end
46 |
47 | @protocol WXResourceRequestHandler
48 |
49 | // Send a resource request with a delegate
50 | - (void)sendRequest:(WXResourceRequest *)request withDelegate:(id)delegate;
51 |
52 | @optional
53 |
54 | // Cancel the ongoing request
55 | - (void)cancelRequest:(WXResourceRequest *)request;
56 |
57 | @end
58 |
59 |
60 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXResourceResponse.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 |
21 | #import
22 |
23 | @interface WXResourceResponse : NSURLResponse
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXRootViewController.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 |
22 | /**
23 | * The WXRootViewController class inherited from UINavigationController class which implements a specialized
24 | * view controller that manages the navigation of hierarchical content. Developing an iOS application, you
25 | * need a series of customer pages which will be render by weex bundle. Sometimes, these pages are embedded in
26 | * viewcontroller. This navigation controller makes it possible to present your page efficiently and makes it
27 | * easier for the user to navigate that content.
28 | */
29 |
30 | @interface WXRootViewController : UINavigationController
31 |
32 | /**
33 | * @abstract initialize the RootViewController with bundle url.
34 | *
35 | * @param sourceURL The bundle url which can be render to a weex view.
36 | *
37 | * @return a object the class of WXRootViewController.
38 | *
39 | * @discussion initialize this controller in function 'application:didFinishLaunchingWithOptions', and make it as rootViewController of window. In the
40 | * weex application, all page content can be managed by the navigation, such as push or pop.
41 | */
42 | - (id)initWithSourceURL:(NSURL *)sourceURL;
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXSDKError.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXSDKInstance.h"
22 |
23 | typedef NS_ENUM(int, WXSDKErrCode)
24 | {
25 | WX_ERR_JSFRAMEWORK_START = -1001,
26 | WX_ERR_JSFRAMEWORK_LOAD = -1002,
27 | WX_ERR_JSFRAMEWORK_EXECUTE = -1003,
28 | WX_ERR_JSFRAMEWORK_END = -1099,
29 |
30 | WX_ERR_JSBRIDGE_START = -2001,
31 | WX_ERR_JSFUNC_PARAM = -2009,
32 | WX_ERR_INVOKE_NATIVE = -2012,
33 | WX_ERR_JS_EXECUTE = -2013,
34 | WX_ERR_JSBRIDGE_END = -2099,
35 |
36 | WX_ERR_RENDER_START = -2100,
37 | WX_ERR_RENDER_CREATEBODY = -2100,
38 | WX_ERR_RENDER_UPDATTR = -2101,
39 | WX_ERR_RENDER_UPDSTYLE = -2102,
40 | WX_ERR_RENDER_ADDELEMENT = -2103,
41 | WX_ERR_RENDER_REMOVEELEMENT = -2104,
42 | WX_ERR_RENDER_MOVEELEMENT = -2105,
43 | WX_ERR_RENDER_ADDEVENT = -2106,
44 | WX_ERR_RENDER_REMOVEEVENT = -2107,
45 | WX_ERR_RENDER_SCROLLTOELEMENT = -2110,
46 | WX_ERR_RENDER_END = -2199,
47 |
48 | WX_ERR_DOWNLOAD_START = -2201,
49 | WX_ERR_JSBUNDLE_DOWNLOAD = -2202,
50 | WX_ERR_JSBUNDLE_STRING_CONVERT = -2203,
51 | WX_ERR_CANCEL = -2204,
52 | WX_ERR_DOWNLOAD_END = -2299,
53 | };
54 |
55 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXSDKManager.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXSDKInstance.h"
22 | #import "WXBridgeManager.h"
23 |
24 | @class WXModuleManager;
25 |
26 | @interface WXSDKManager : NSObject
27 |
28 | /**
29 | * @abstract Returns bridge manager
30 | **/
31 | + (WXBridgeManager *)bridgeMgr;
32 |
33 | /**
34 | * @abstract Returns weex instance for specific identifier
35 | **/
36 | + (WXSDKInstance *)instanceForID:(NSString *)identifier;
37 |
38 | /**
39 | * @abstract Returns weex instance for specific identifier
40 | **/
41 | + (void)storeInstance:(WXSDKInstance *)instance forID:(NSString *)identifier;
42 |
43 | /**
44 | * @abstract Returns weex instance for specific identifier
45 | **/
46 | + (void)removeInstanceforID:(NSString *)identifier;
47 |
48 | /**
49 | * @abstract unload
50 | **/
51 | + (void)unload;
52 |
53 | /**
54 | * @abstract Returns module manager
55 | **/
56 | + (WXModuleManager *)moduleMgr DEPRECATED_MSG_ATTRIBUTE();
57 |
58 | @end
59 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXScrollerComponent.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import "WXScrollerProtocol.h"
21 | #import "WXComponent.h"
22 |
23 | @interface WXScrollerComponent : WXComponent
24 |
25 | @property (nonatomic, copy) void (^onScroll)(UIScrollView *);
26 |
27 | @property (nonatomic, assign) NSUInteger loadmoreretry;
28 |
29 | @property (nonatomic, assign) CGSize contentSize;
30 |
31 | @property (nonatomic, readonly, assign) css_node_t *scrollerCSSNode;
32 |
33 | - (NSUInteger)childrenCountForScrollerLayout;
34 |
35 | - (void)handleAppear;
36 |
37 | @end
38 |
39 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXScrollerProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | @class WXComponent;
21 | @protocol WXScrollerProtocol
22 |
23 | /**
24 | * @abstract add sticky component
25 | */
26 | - (void)addStickyComponent:(WXComponent *)sticky;
27 |
28 | /**
29 | * @abstract remove sticky component
30 | */
31 | - (void)removeStickyComponent:(WXComponent *)sticky;
32 |
33 | /**
34 | * @abstract adjust sticky components
35 | */
36 | - (void)adjustSticky;
37 |
38 | /**
39 | * @abstract add scroll listener
40 | */
41 | - (void)addScrollToListener:(WXComponent *)target;
42 |
43 | /**
44 | * @abstract remove scroll listener
45 | */
46 | - (void)removeScrollToListener:(WXComponent *)target;
47 |
48 | - (void)scrollToComponent:(WXComponent *)component withOffset:(CGFloat)offset animated:(BOOL)animated;
49 |
50 | - (BOOL)isNeedLoadMore;
51 |
52 | - (void)loadMore;
53 |
54 | - (CGPoint)contentOffset;
55 |
56 | - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
57 |
58 | - (CGSize)contentSize;
59 |
60 | - (void)setContentSize:(CGSize)size;
61 |
62 | - (UIEdgeInsets)contentInset;
63 |
64 | - (void)setContentInset:(UIEdgeInsets)contentInset;
65 |
66 | - (void)resetLoadmore;
67 |
68 | @end
69 |
70 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXType.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import
22 |
23 | typedef NS_ENUM(NSUInteger, WXComponentType) {
24 | WXComponentTypeCommon = 0,
25 | WXComponentTypeVirtual
26 | };
27 |
28 | typedef NS_ENUM(NSUInteger, WXScrollDirection) {
29 | WXScrollDirectionVertical,
30 | WXScrollDirectionHorizontal,
31 | WXScrollDirectionNone,
32 | };
33 |
34 | typedef NS_ENUM(NSUInteger, WXTextStyle) {
35 | WXTextStyleNormal = 0,
36 | WXTextStyleItalic
37 | };
38 |
39 | typedef NS_ENUM(NSInteger, WXTextDecoration) {
40 | WXTextDecorationNone = 0,
41 | WXTextDecorationUnderline,
42 | WXTextDecorationLineThrough
43 | };
44 |
45 | typedef NS_ENUM(NSInteger, WXImageQuality) {
46 | WXImageQualityOriginal = -1,
47 | WXImageQualityLow = 0,
48 | WXImageQualityNormal,
49 | WXImageQualityHigh,
50 | WXImageQualityNone,
51 | };
52 |
53 | typedef NS_ENUM(NSInteger, WXImageSharp) {
54 | WXImageSharpeningNone = 0,
55 | WXImageSharpening
56 | };
57 |
58 | typedef NS_ENUM(NSInteger, WXVisibility) {
59 | WXVisibilityShow = 0,
60 | WXVisibilityHidden
61 | };
62 |
63 | typedef NS_ENUM(NSInteger, WXBorderStyle) {
64 | WXBorderStyleNone = 0,
65 | WXBorderStyleDotted,
66 | WXBorderStyleDashed,
67 | WXBorderStyleSolid
68 | };
69 |
70 | typedef NS_ENUM(NSInteger, WXPositionType) {
71 | WXPositionTypeRelative = 0,
72 | WXPositionTypeAbsolute,
73 | WXPositionTypeSticky,
74 | WXPositionTypeFixed
75 | };
76 |
77 | typedef NS_ENUM(NSInteger, WXGradientType) {
78 | WXGradientTypeToTop = 0,
79 | WXGradientTypeToBottom,
80 | WXGradientTypeToLeft,
81 | WXGradientTypeToRight,
82 | WXGradientTypeToTopleft,
83 | WXGradientTypeToBottomright,
84 | };
85 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXURLRewriteProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXResourceRequest.h"
22 |
23 | @class WXSDKInstance;
24 |
25 | #define WX_REWRITE_URL(url, resourceType, instance, newUrl)\
26 | do {\
27 | (*newUrl) = nil;\
28 | id rewriteHandler = [WXHandlerFactory handlerForProtocol:@protocol(WXURLRewriteProtocol)];\
29 | if ([rewriteHandler respondsToSelector:@selector(rewriteURL:withResourceType:withInstance:)]) {\
30 | (*newUrl) = [[rewriteHandler rewriteURL:url withResourceType:WXResourceTypeLink withInstance:instance].absoluteString mutableCopy];\
31 | }\
32 | } while(0);
33 |
34 |
35 | @protocol WXURLRewriteProtocol
36 |
37 | /**
38 | * @abstract rewrite and complete URL
39 | *
40 | * @param url The original URL to be rewritten
41 | *
42 | * @param resourceType resource type which the url is sent for
43 | *
44 | * @param instance related instance
45 | *
46 | * @return a new url
47 | */
48 | - (NSURL *)rewriteURL:(NSString *)url withResourceType:(WXResourceType)resourceType withInstance:(WXSDKInstance *)instance;
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WXValidateProtocol.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #import
21 | #import "WXSDKInstance.h"
22 |
23 |
24 | @interface WXValidateResult : NSObject
25 |
26 | @property(nonatomic,assign)BOOL isSuccess;
27 | @property(nonatomic,strong)NSError* error;
28 |
29 | @end
30 |
31 | @interface WXModuleValidateResult : WXValidateResult
32 |
33 | @end
34 |
35 | @interface WXComponentValidateResult :WXValidateResult
36 |
37 | @property(nonatomic,copy)NSString* replacedComponent;
38 |
39 | @end
40 |
41 |
42 | @protocol WXValidateProtocol
43 |
44 | -(BOOL)needValidate:(NSURL*) bundleUrl;
45 |
46 | -(WXModuleValidateResult *)validateWithWXSDKInstance:(WXSDKInstance *)wxsdkInstance module:(NSString*) moduel method:(NSString *)method args:(NSArray *)args;
47 |
48 | -(WXComponentValidateResult *)validateWithWXSDKInstance:(WXSDKInstance *)wxsdkInstance component:(NSString *)componentName;
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/Headers/WeexSDK.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one
3 | * or more contributor license agreements. See the NOTICE file
4 | * distributed with this work for additional information
5 | * regarding copyright ownership. The ASF licenses this file
6 | * to you under the Apache License, Version 2.0 (the
7 | * "License"); you may not use this file except in compliance
8 | * with the License. You may obtain a copy of the License at
9 | *
10 | * http://www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing,
13 | * software distributed under the License is distributed on an
14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | * KIND, either express or implied. See the License for the
16 | * specific language governing permissions and limitations
17 | * under the License.
18 | */
19 |
20 | #ifdef __OBJC__
21 |
22 | #import "WXValidateProtocol.h"
23 | #import "WXUtility.h"
24 | #import "WXURLRewriteProtocol.h"
25 | #import "WXType.h"
26 | #import "WXScrollerProtocol.h"
27 | #import "WXScrollerComponent.h"
28 | #import "WXSDKManager.h"
29 | #import "WXSDKInstance.h"
30 | #import "WXSDKError.h"
31 | #import "WXSDKEngine.h"
32 | #import "WXRootViewController.h"
33 | #import "WXResourceResponse.h"
34 | #import "WXResourceRequestHandler.h"
35 | #import "WXResourceRequest.h"
36 | #import "WXNetworkProtocol.h"
37 | #import "WXNavigationProtocol.h"
38 | #import "WXMonitor.h"
39 | #import "WXModuleProtocol.h"
40 | #import "WXModalUIModule.h"
41 | #import "WXLog.h"
42 | #import "WXListComponent.h"
43 | #import "WXLayoutDefine.h"
44 | #import "WXJSExceptionProtocol.h"
45 | #import "WXJSExceptionInfo.h"
46 | #import "WXImgLoaderProtocol.h"
47 | #import "WXEventModuleProtocol.h"
48 | #import "WXDefine.h"
49 | #import "WXDebugTool.h"
50 | #import "WXConvert.h"
51 | #import "WXComponentManager.h"
52 | #import "WXComponent.h"
53 | #import "WXBridgeProtocol.h"
54 | #import "WXBridgeManager.h"
55 | #import "WXBaseViewController.h"
56 | #import "WXAppMonitorProtocol.h"
57 | #import "WXAppConfiguration.h"
58 | #import "WXAComponent.h"
59 | #import "NSObject+WXSwizzle.h"
60 | #import "Layout.h"
61 |
62 | #endif /* __OBJC__ */
63 |
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/WeexSDK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/Pods/WeexSDK/WeexSDK.framework/WeexSDK
--------------------------------------------------------------------------------
/ios/Pods/WeexSDK/WeexSDK.framework/wx_load_error@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/Pods/WeexSDK/WeexSDK.framework/wx_load_error@3x.png
--------------------------------------------------------------------------------
/ios/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/README.md
--------------------------------------------------------------------------------
/ios/SHWeexSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK.xcodeproj/project.xcworkspace/xcuserdata/guo.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK.xcodeproj/project.xcworkspace/xcuserdata/guo.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ios/SHWeexSDK.xcodeproj/xcuserdata/guo.xcuserdatad/xcschemes/xcschememanagement.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | SchemeUserState
6 |
7 | SHWeexSDK.xcscheme
8 |
9 | orderHint
10 | 0
11 |
12 |
13 | SuppressBuildableAutocreation
14 |
15 | BCF02FCD1EE52A120027C0B9
16 |
17 | primary
18 |
19 |
20 | BCF02FE61EE52A120027C0B9
21 |
22 | primary
23 |
24 |
25 | BCF02FF11EE52A120027C0B9
26 |
27 | primary
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK.xcworkspace/xcuserdata/guo.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK.xcworkspace/xcuserdata/guo.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ios/SHWeexSDK/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/5.
6 | // Copyright © 2017年 YunRuo. 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 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "20x20",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "20x20",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "29x29",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "29x29",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "40x40",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "40x40",
31 | "scale" : "3x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "size" : "60x60",
36 | "scale" : "2x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "size" : "60x60",
41 | "scale" : "3x"
42 | }
43 | ],
44 | "info" : {
45 | "version" : 1,
46 | "author" : "xcode"
47 | }
48 | }
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/LineSao.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "LineSao@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "LineSao@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/LineSao.imageset/LineSao@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/Assets.xcassets/LineSao.imageset/LineSao@2x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/LineSao.imageset/LineSao@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/Assets.xcassets/LineSao.imageset/LineSao@3x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/SaoBack.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "SaoBack@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "SaoBack@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/SaoBack.imageset/SaoBack@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/Assets.xcassets/SaoBack.imageset/SaoBack@2x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Assets.xcassets/SaoBack.imageset/SaoBack@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/Assets.xcassets/SaoBack.imageset/SaoBack@3x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/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 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHSpecialRootViwe.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHSpecialRootViwe.h
3 | // CloseliSDK_testbad
4 | //
5 | // Created by guo on 2017/7/14.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SHSpecialRootViwe : UIView
12 |
13 | -(id)initSpecialView:(UIView *)view;
14 | - (void)show;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHSpecialRootViwe.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHSpecialRootViwe.m
3 | // CloseliSDK_testbad
4 | //
5 | // Created by guo on 2017/7/14.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHSpecialRootViwe.h"
10 |
11 | @interface SHSpecialRootViwe ()
12 |
13 | @property(nonatomic,strong)UIView *mviewBackRoot;
14 |
15 | @end
16 |
17 | @implementation SHSpecialRootViwe
18 |
19 |
20 | -(id)initSpecialView:(UIView *)view{
21 | self = [super init];
22 | if (self) {
23 | self.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
24 | [self addSubview:view];
25 | UIButton * mbtnClose = [UIButton buttonWithType:UIButtonTypeSystem];
26 | mbtnClose.frame=CGRectMake(20, 20, 50 , 50);
27 | [mbtnClose setTitle:@"关闭" forState:UIControlStateNormal];
28 | [mbtnClose addTarget:self action:@selector(closeViewController) forControlEvents:UIControlEventTouchUpInside];
29 | [self addSubview:mbtnClose];
30 | }
31 | return self;
32 | }
33 |
34 | - (void)show{
35 | UIViewController *topVC = [self appRootViewController];
36 | [topVC.view addSubview:self];
37 | }
38 |
39 |
40 | - (UIViewController *)appRootViewController{
41 | UIViewController *appRootVC = [UIApplication sharedApplication].keyWindow.rootViewController;
42 | UIViewController *topVC = appRootVC;
43 | while (topVC.presentedViewController) {
44 | topVC = topVC.presentedViewController;
45 | }
46 | return topVC;
47 | }
48 |
49 |
50 | - (void)removeFromSuperview{
51 | [_mviewBackRoot removeFromSuperview];
52 | _mviewBackRoot = nil;
53 | [super removeFromSuperview];
54 | }
55 |
56 |
57 | - (void)willMoveToSuperview:(UIView *)newSuperview{
58 | if (newSuperview == nil) {
59 | return;
60 | }
61 | UIViewController *topVC = [self appRootViewController];
62 |
63 | if (!_mviewBackRoot) {
64 | _mviewBackRoot = [[UIView alloc] initWithFrame:topVC.view.bounds];
65 | _mviewBackRoot.backgroundColor=[UIColor whiteColor];
66 |
67 | }
68 | [topVC.view addSubview:_mviewBackRoot];
69 | }
70 |
71 | -(void)closeViewController{
72 | [self removeFromSuperview];
73 | }
74 |
75 |
76 | @end
77 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHWeexConfig.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXConfig.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/9.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #ifndef SHWeexConfig_h
10 | #define SHWeexConfig_h
11 | //local
12 | #import "SHUniversalTool.h"
13 | #import "SHSaveData.h"
14 | #import "SHFileProcessing.h"
15 | #import "SHWeexPageModel.h"
16 | #import "SHWeexViewController.h"
17 | #import "SHWeexManager.h"
18 | #import "UIView+Recognize.h"
19 | // remote
20 | #import
21 | #import
22 | #import
23 | #import
24 | // define
25 | #define WEEXPAGES @"weexPages"
26 |
27 | #endif /* SHWXConfig_h */
28 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHWeexManager.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXManagement.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ISHWeexService.h"
11 | #import
12 | @interface SHWeexManager : NSObject
13 |
14 | @property (nonatomic,strong) ISHWeexService *weexService;
15 |
16 |
17 | +(SHWeexManager *)shareManagement;
18 |
19 | /**
20 | 初始化weex
21 | @param applocation UIApplication
22 | @param weexService ISHWeexService
23 | */
24 | -(void)init:(UIApplication *)applocation weexService:(ISHWeexService *)weexService;
25 | /**
26 | 下载weex文件
27 | @param marrWeexPages weex数据
28 | */
29 | -(void)SHDownloadFileOfWeex:(NSArray *)marrWeexPages;
30 | /**
31 | 通过Url获取weex数据
32 | @param mstrUrl 传入的weexURL
33 | @return 返回weex相关的字典数据
34 | */
35 | -(NSDictionary *)SHGetDataPushToWeexController:(NSString *)mstrUrl;
36 | /**
37 | 打开二维码扫描
38 | */
39 | -(void)SHOpenQRCodeScanning:(UIViewController *)controller;
40 | /**
41 | 检查域名是否可用 自动拼上域名 支持相对地址 以及 https
42 |
43 | @param mstrUrl 传入域名判断
44 | @return 返回替换的域名
45 | */
46 | -(NSString *)checkDomain:(NSString *)mstrUrl;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHWeexPageModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXPageModel.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/8.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SHWeexPageModel : NSObject
12 |
13 | @property (nonatomic,strong) NSString *page; // 页面名称
14 | @property (nonatomic,strong) NSString *url; // weex连接
15 | @property (nonatomic,strong) NSString *v; // 最低支持版本号
16 | @property (nonatomic,strong) NSString *md5; // weex文件MD5
17 | @property (nonatomic,strong) NSString *h5; // weex对应的H5页面
18 | @property (nonatomic,strong) NSString *modtime; // weex文件最后修改时间
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHWeexPageModel.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXPageModel.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/8.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHWeexPageModel.h"
10 |
11 | @implementation SHWeexPageModel
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/SHWeexViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXView.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/9.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @protocol SHWeexViewDelegate
12 |
13 |
14 |
15 | @end
16 |
17 | @interface SHWeexViewController : UIViewController
18 |
19 | -(instancetype)initWithFrame:(CGRect)frame;
20 | /**
21 | 加载weex页面
22 |
23 | @param data 传入字典
24 | @param ISRelease 是否发布模式 YES是
25 | */
26 | -(void)SHloadWeexPageWithData:(NSDictionary *)data withRelease:(BOOL)ISRelease withController:(UIViewController *)controller;
27 | @property (nonatomic, assign) id delegate;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/FileProcessing/SHFileProcessing.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHFileProcessing.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #include
12 | @interface SHFileProcessing : NSObject
13 |
14 | /**
15 | 获取文件最后一次的修改时间
16 | @param mstrPath 文件路径
17 | @return 时间
18 | */
19 | +(NSString *)SHGetFileThelastModifyTime:(NSString *)mstrPath;
20 | /**
21 | 通过文件路径获取文件的MD5值
22 | @param path 文件路径
23 | @return MD5值
24 | */
25 | +(NSString *)SHGetFileMD5WithPath:(NSString*)path;
26 | /**
27 | 通过文件名获取文件的MD5值
28 | @param fileName 文件名
29 | @return MD5值
30 | */
31 | +(NSString *)SHGetFileMD5WithFileName:(NSString*)fileName;
32 |
33 | /**
34 | 检查文件是否存在
35 |
36 | @param fileName 文件名
37 | @return YES存在 NO不存在
38 | */
39 | +(BOOL)SHCheckFileISThere:(NSString *)fileName;
40 |
41 | /**
42 | 通过文件名移除本地文件
43 |
44 | @param fileName 文件名
45 | */
46 | +(void)SHRemoveLocalFileWithFileName:(NSString *)fileName;
47 |
48 | /**
49 | 通过文件名获取文件路径
50 |
51 | @param fileName 文件名
52 | @return 文件路径
53 | */
54 | +(NSString *)SHGetFilePathWithFileName:(NSString *)fileName;
55 | /**
56 | 将文件原存储的的地址 ,转换成新的存储地址
57 | */
58 | +(void)SHMoveItemAtURL:(NSURL *)oldUrl toURLWithFileName:(NSString *)fileName;
59 |
60 | @end
61 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/SHUniversalTool.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHUniversalTool.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | /*
10 | 一些通用的方法供全局调用
11 | */
12 |
13 | #import
14 |
15 | @interface SHUniversalTool : NSObject
16 |
17 | /**
18 | 比较版本号大小
19 | @param version 版本号
20 | @param currentVersion 系统版本号
21 | @return YES 传入版本号大于等于当前版本号 NO 传入版本号小于等于当前版本号
22 | */
23 | +(BOOL)SHComparedVersion:(NSString *)version withTheCurrentVersion:(NSString *)currentVersion;
24 | /**
25 | * @brief 将url参数转换成NSDictionary
26 | *
27 | * @param query url参数
28 | *
29 | * @return NSDictionary
30 | */
31 | +(NSDictionary *)SHDictionaryWithURLQuery:(NSString *)query;
32 | /**
33 | 字典或数组转json
34 | @param object 字典或数组
35 | @return json格式数据
36 | */
37 | +(NSString *)objectToJsonStr:(id)object;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/SHUniversalTool.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHUniversalTool.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHUniversalTool.h"
10 |
11 | @implementation SHUniversalTool
12 | /**
13 | 比较版本号大小
14 | @param version 版本号
15 | @param currentVersion 系统版本号
16 | @return YES 传入版本号大于等于当前版本号 NO 传入版本号小于当前版本号
17 | */
18 | +(BOOL)SHComparedVersion:(NSString *)version withTheCurrentVersion:(NSString *)currentVersion{
19 | if ([currentVersion compare:version options:NSNumericSearch] != NSOrderedAscending){
20 | return YES;
21 | }else{
22 | return NO;
23 | }
24 | }
25 | /**
26 | * @brief 将url参数转换成NSDictionary
27 | *
28 | * @param query url参数
29 | *
30 | * @return NSDictionary
31 | */
32 | +(NSDictionary *)SHDictionaryWithURLQuery:(NSString *)query
33 | {
34 | NSRange range = [query rangeOfString:@"?"];
35 | if (range.length==0) {
36 | return [NSDictionary dictionaryWithObjectsAndKeys:query,@"url", nil];
37 | }else{
38 | NSString *propertys = [query substringFromIndex:(int)(range.location+1)];
39 | NSArray *subArray = [propertys componentsSeparatedByString:@"&"];
40 | NSMutableDictionary *tempDic = [NSMutableDictionary dictionaryWithCapacity:4];
41 | NSString * mstrUrl = [query substringToIndex:range.location];
42 | [tempDic setObject:mstrUrl forKey:@"url"];
43 | for (int j = 0 ; j < subArray.count; j++)
44 | {
45 | NSArray *dicArray = [subArray[j] componentsSeparatedByString:@"="];
46 | [tempDic setObject:dicArray[1] forKey:dicArray[0]];
47 |
48 | }
49 | return tempDic;
50 | }
51 | }
52 |
53 | /**
54 | 字典或数组转json
55 | @param object 字典或数组
56 | @return json格式数据
57 | */
58 | +(NSString *)objectToJsonStr:(id)object{
59 | NSData *data=[NSJSONSerialization dataWithJSONObject:object options:NSJSONWritingPrettyPrinted error:nil];
60 | NSString *jsonStr=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
61 | return jsonStr;
62 | }
63 |
64 |
65 | @end
66 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/SaveData/SHSaveData.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHSaveData.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SHSaveData : NSObject
12 | /**
13 | 获取数据
14 | */
15 | +(id)SHGetDataWithKey:(NSString *)key;
16 | /**
17 | 保存数据
18 | */
19 | +(void)SHSavaDataWithKey:(NSString *)key withData:(id)data;
20 | /**
21 | 删除数据
22 | */
23 | +(void)SHDeleteDataWithKey:(NSString *)key;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/SaveData/SHSaveData.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHSaveData.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHSaveData.h"
10 |
11 | @implementation SHSaveData
12 | /**
13 | 获取数据
14 | */
15 | +(id)SHGetDataWithKey:(NSString *)key{
16 | return [[NSUserDefaults standardUserDefaults]valueForKey:key];
17 | }
18 | /**
19 | 保存数据
20 | */
21 | +(void)SHSavaDataWithKey:(NSString *)key withData:(id)data{
22 | [[NSUserDefaults standardUserDefaults]setValue:data forKeyPath:key];
23 | [[NSUserDefaults standardUserDefaults]synchronize];
24 | }
25 | /**
26 | 删除数据
27 | */
28 | +(void)SHDeleteDataWithKey:(NSString *)key{
29 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
30 | [[NSUserDefaults standardUserDefaults] synchronize];
31 | }
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/LineSao@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/LineSao@2x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/LineSao@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/LineSao@3x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/SaoBack@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/SaoBack@2x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/SaoBack@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ShowJoy-com/weex-container/250ecbf10edb09dffb33baf6d9689093c9f046cc/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/SaoBack@3x.png
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/ScanQrCodeViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ScanQrCodeViewController.h
3 | // ScanQrCode
4 | //
5 | // Created by guo on 16/6/16.
6 | // Copyright © 2016年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ScanQrCodeViewController : UIViewController
12 |
13 | @property (nonatomic, copy) void (^ScanQrCodeCancleBlock) (ScanQrCodeViewController *);//扫描取消
14 | @property (nonatomic, copy) void (^ScanQrCodeSuncessBlock) (ScanQrCodeViewController *,NSString *);//扫描结果
15 | @property (nonatomic, copy) void (^ScanQrCodeFailBlock) (ScanQrCodeViewController *);//扫描失败
16 | - (void)setOverlayPickerViewWithLineImage:(UIImage *)lineImage withSize:(CGSize)size;
17 | - (void)createBackBtnWithBackImage:(UIImage *)backImage withSize:(CGSize)size;
18 | @end
19 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/UIView+Recognize.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+Recognize.h
3 | // ScanQrCode
4 | //
5 | // Created by guo on 16/7/18.
6 | // Copyright © 2016年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface UIView (Recognize)
12 | /**
13 | * 调用生成二维码图片
14 | *
15 | * @param successBlock block里返回的是image
16 | */
17 | - (void)createImage:(CGSize)imageSize withUrl:(NSString *)mstrUrl successBlock:(void (^)(id image))successBlock;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/common/ScanQrCode/UIView+Recognize.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIView+Recognize.m
3 | // ScanQrCode
4 | //
5 | // Created by guo on 16/7/18.
6 | // Copyright © 2016年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "UIView+Recognize.h"
10 |
11 | @implementation UIView (Recognize)
12 |
13 | /**
14 | * 调用生成二维码图片
15 | *
16 | * @param successBlock block里返回的是image
17 | */
18 | - (void)createImage:(CGSize)imageSize withUrl:(NSString *)mstrUrl successBlock:(void (^)(id image))successBlock{
19 | if (mstrUrl.length > 0)
20 | {
21 | UIImage *image = [self createImageForString:mstrUrl imageSize:imageSize];
22 | if (successBlock)
23 | {
24 | successBlock(image);
25 | }
26 | }
27 | }
28 | - (UIImage *)createImageForString:(NSString *)string imageSize:(CGSize)size
29 | {
30 | if (![string length])
31 | {
32 | return nil;
33 | }
34 | CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
35 | [filter setDefaults];
36 | NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
37 | [filter setValue:data forKey:@"inputMessage"];
38 | CIImage *outputImage = [filter outputImage];
39 | UIImage * mimage = [self createNonInterpolatedUIImageFormCIImage:outputImage withSize:size];
40 | return mimage;
41 | }
42 |
43 | /**
44 | * 根据CIImage生成指定大小的UIImage
45 | *
46 | * @param image CIImage
47 | * @param size 图片宽度
48 | */
49 | - (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGSize) size
50 | {
51 | CGRect extent = CGRectIntegral(image.extent);
52 | CGFloat scale = MIN(size.width/CGRectGetWidth(extent), size.height/CGRectGetHeight(extent));
53 | // 1.创建bitmap;
54 | size_t width = CGRectGetWidth(extent) * scale;
55 | size_t height = CGRectGetHeight(extent) * scale;
56 | CGColorSpaceRef cs = CGColorSpaceCreateDeviceGray();
57 | CGContextRef bitmapRef = CGBitmapContextCreate(nil, width, height, 8, 0, cs, (CGBitmapInfo)kCGImageAlphaNone);
58 | CIContext *context = [CIContext contextWithOptions:nil];
59 | CGImageRef bitmapImage = [context createCGImage:image fromRect:extent];
60 | CGContextSetInterpolationQuality(bitmapRef, kCGInterpolationNone);
61 | CGContextScaleCTM(bitmapRef, scale, scale);
62 | CGContextDrawImage(bitmapRef, extent, bitmapImage);
63 | // 2.保存bitmap到图片
64 | CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);
65 | CGContextRelease(bitmapRef);
66 | CGImageRelease(bitmapImage);
67 | return [UIImage imageWithCGImage:scaledImage];
68 | }
69 |
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/extends/component/SHWXAComponent.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXAComponent.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/6.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | /*
10 | 处理a标签的跳转 可以根据连接进行拦截等操作
11 | */
12 |
13 | #import
14 |
15 | @interface SHWXAComponent : WXComponent
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/extends/module/SHWXBaseModule.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXBaseModule.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/6.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | /*
10 | 自定义Module 实现一些基础功能
11 | */
12 |
13 | #import
14 | #import
15 |
16 | @interface SHWXBaseModule : NSObject
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/extends/protocol/SHWXNetworkDefaultlmpl.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXNetworkDefaultlmpl.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 |
10 | /**
11 | 针对weex网络请求的URL进行拦截
12 | */
13 |
14 | #import
15 | #import
16 | #import
17 |
18 | @interface SHWXNetworkDefaultlmpl : NSObject
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/SHWeexSDK/extends/protocol/SHWXNetworkDefaultlmpl.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXNetworkDefaultlmpl.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHWXNetworkDefaultlmpl.h"
10 | #import "SHWeexManager.h"
11 | @implementation SHWXNetworkDefaultlmpl
12 |
13 |
14 | /**
15 | 这里可以针对weex网络请求的URL进行拦截修改
16 | */
17 | - (NSURL *)rewriteURL:(NSString *)url
18 | withResourceType:(WXResourceType)resourceType
19 | withInstance:(WXSDKInstance *)instance
20 | {
21 | NSURL *completeURL = [NSURL URLWithString:url];
22 | if ([completeURL isFileURL]) {
23 | return completeURL;
24 | } else {
25 | return [instance completeURL:url];
26 | }
27 | }
28 |
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/5.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/ViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/5.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "ViewController.h"
10 | #import "SHWeexViewController.h"
11 | #import "SHWeexManager.h"
12 | @interface ViewController ()
13 |
14 | @end
15 |
16 | @implementation ViewController
17 |
18 | - (void)viewDidLoad {
19 | [super viewDidLoad];
20 | // Do any additional setup after loading the view, typically from a nib.
21 | NSArray * marrTitles = [NSArray arrayWithObjects:@"weex页面",@"扫码测试", nil];
22 | for (int i=0; i
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 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/weexUse/ISHWeexService.h:
--------------------------------------------------------------------------------
1 | //
2 | // ISHWeexService.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/16.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | typedef void(^ISHWeexRequestCallback)(id);
12 | @interface ISHWeexService : NSObject
13 | /**
14 | 打开连接
15 | @param controller 类名
16 | @param url 连接
17 | @param force 强制用h5打开,不会转成weex 或者native
18 | */
19 | -(void)openUrl:(UIViewController *)controller url:(NSString *)url force:(BOOL)force;
20 | /**
21 | 获取weex配置信息
22 | @return weex配置信息
23 | */
24 | -(NSArray*)requestWeexConfig;
25 | /**
26 | 判断是否是release,正式包
27 | @return YES是正式包
28 | */
29 | -(BOOL)isRelease;
30 | /**
31 | 获取app版本,用于判断weex 配置是否生效
32 | weex的配置可是设置某个版本以上才支持
33 | @return 版本号
34 | */
35 | -(NSString *)getVersion;
36 | /**
37 | 获取默认的域名,用于支持相对地址
38 | @return 传入域名
39 | */
40 | -(NSString *)getDefaultHost;
41 | /**
42 | 是否支持https
43 | @return YES支持
44 | */
45 | -(BOOL)isSupportHttps;
46 | /**
47 | 埋点数据
48 | @param key 埋点名
49 | @param params 埋点传输数据
50 | */
51 | -(void)onEvent:(NSString *)key params:(NSDictionary *)params;
52 | /**
53 | 显示Loading
54 | @param text 自定义loading文案
55 | */
56 | -(void)showLoading:(NSString *)text view:(UIView *)view;
57 | /**
58 | 显示Loading 无文案
59 | */
60 | -(void)showLoading:(UIView *)view;
61 | /**
62 | 只有文案展示
63 |
64 | @param text 文案
65 | @param view 显示view
66 | */
67 | -(void)showLoadingOnlyText:(NSString *)text view:(UIView *)view;
68 | /**
69 | 隐藏Loading
70 | */
71 | -(void)hideLoading:(UIView *)view;
72 |
73 |
74 | @end
75 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/weexUse/protocol/SHWXImgLoaderDefaultImpl.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXImgLoaderDefaultImpl.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | /*
10 | 重写图片加载,这里使用的是PINRemoteImage 可以根据自己需要换成其他的 这里给出两种想法一种 PINRemoteImage 一种SDwebImage
11 | */
12 |
13 | #import
14 | #import
15 | #import
16 | #import "SHWXImgLoaderDefaultImplProtocol.h"
17 |
18 | @interface SHWXImgLoaderDefaultImpl : NSObject
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/weexUse/protocol/SHWXImgLoaderDefaultImpl.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXImgLoaderDefaultImpl.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHWXImgLoaderDefaultImpl.h"
10 | #import
11 |
12 | @implementation SHWXImgLoaderDefaultImpl
13 |
14 | - (id)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)userInfo completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock
15 | {
16 | if ([url hasPrefix:@"//"]) {
17 | url = [@"http:" stringByAppendingString:url];
18 | }
19 | /*
20 | 使用PINRemoteImageManager
21 | */
22 | __block SHWXImgLoaderDefaultImplProtocol *operation = [SHWXImgLoaderDefaultImplProtocol new];
23 | [[PINRemoteImageManager sharedImageManager] downloadImageWithURL:[NSURL URLWithString:url] completion:^(PINRemoteImageManagerResult * _Nonnull result) {
24 | if (completedBlock) {
25 | completedBlock(result.image, result.error, YES);
26 | }
27 | }];
28 | return (id)operation;
29 |
30 | /*
31 | //使用SDWebImage
32 | return (id)[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:url] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
33 |
34 | } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
35 | if (completedBlock) {
36 | completedBlock(image, error, finished);
37 | }
38 | }];
39 | */
40 | }
41 |
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/weexUse/protocol/SHWXImgLoaderDefaultImplProtocol.h:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXImgLoaderDefaultImplProtocol.h
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SHWXImgLoaderDefaultImplProtocol : NSObject
12 |
13 | - (void)cancel;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/ios/SHWeexSDK/weexUse/protocol/SHWXImgLoaderDefaultImplProtocol.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHWXImgLoaderDefaultImplProtocol.m
3 | // SHWeexSDK
4 | //
5 | // Created by guo on 2017/6/7.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import "SHWXImgLoaderDefaultImplProtocol.h"
10 |
11 | @implementation SHWXImgLoaderDefaultImplProtocol
12 |
13 | - (void)cancel{
14 |
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/ios/SHWeexSDKTests/SHWeexSDKTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHWeexSDKTests.m
3 | // SHWeexSDKTests
4 | //
5 | // Created by guo on 2017/6/5.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SHWeexSDKTests : XCTestCase
12 |
13 | @end
14 |
15 | @implementation SHWeexSDKTests
16 |
17 | - (void)setUp {
18 | [super setUp];
19 | // Put setup code here. This method is called before the invocation of each test method in the class.
20 | }
21 |
22 | - (void)tearDown {
23 | // Put teardown code here. This method is called after the invocation of each test method in the class.
24 | [super tearDown];
25 | }
26 |
27 | - (void)testExample {
28 | // This is an example of a functional test case.
29 | // Use XCTAssert and related functions to verify your tests produce the correct results.
30 | }
31 |
32 | - (void)testPerformanceExample {
33 | // This is an example of a performance test case.
34 | [self measureBlock:^{
35 | // Put the code you want to measure the time of here.
36 | }];
37 | }
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/ios/SHWeexSDKUITests/SHWeexSDKUITests.m:
--------------------------------------------------------------------------------
1 | //
2 | // SHWeexSDKUITests.m
3 | // SHWeexSDKUITests
4 | //
5 | // Created by guo on 2017/6/5.
6 | // Copyright © 2017年 YunRuo. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface SHWeexSDKUITests : XCTestCase
12 |
13 | @end
14 |
15 | @implementation SHWeexSDKUITests
16 |
17 | - (void)setUp {
18 | [super setUp];
19 |
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 |
22 | // In UI tests it is usually best to stop immediately when a failure occurs.
23 | self.continueAfterFailure = NO;
24 | // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
25 | [[[XCUIApplication alloc] init] launch];
26 |
27 | // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
28 | }
29 |
30 | - (void)tearDown {
31 | // Put teardown code here. This method is called after the invocation of each test method in the class.
32 | [super tearDown];
33 | }
34 |
35 | - (void)testExample {
36 | // Use recording to get started writing UI tests.
37 | // Use XCTAssert and related functions to verify your tests produce the correct results.
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------