├── 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 | [![CocoaPods](https://img.shields.io/cocoapods/v/PINOperation.svg)](http://cocoadocs.org/docsets/PINOperation/) 4 | [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) 5 | [![Build status](https://badge.buildkite.com/03e247305c96c3371f2ff2766e9c8c1efdd5fdb3a7eceaff43.svg?branch=master&style=flat)](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 | --------------------------------------------------------------------------------