Browse Source

Merge branch 'master' into dev

# Conflicts:
#	pubspec.lock
null_safety
w-R 4 years ago
parent
commit
e43a569bed
  1. 2
      android/app/src/main/AndroidManifest.xml
  2. 1
      android/app/src/main/assets/data/dcloud_control.xml
  3. 5
      android/app/src/main/kotlin/com/zsw/huixiang/MinPlugin.kt
  4. BIN
      assets/image/2x/brand_store_bg.png
  5. BIN
      assets/image/2x/brand_store_cj.png
  6. BIN
      assets/image/2x/brand_store_hx.png
  7. BIN
      assets/image/2x/icon_login_logo.png
  8. BIN
      assets/image/2x/laoban.png
  9. BIN
      assets/image/3x/brand_store_bg.png
  10. BIN
      assets/image/3x/brand_store_cj.png
  11. BIN
      assets/image/3x/brand_store_hx.png
  12. BIN
      assets/image/3x/icon_login_logo.png
  13. BIN
      assets/image/3x/laoban.png
  14. BIN
      assets/image/brand_store_bg.png
  15. BIN
      assets/image/brand_store_cj.png
  16. BIN
      assets/image/brand_store_hx.png
  17. BIN
      assets/image/icon_login_logo.png
  18. BIN
      assets/image/laoban.png
  19. 33
      ios/.gitignore
  20. 26
      ios/Flutter/AppFrameworkInfo.plist
  21. 2
      ios/Flutter/Debug.xcconfig
  22. 2
      ios/Flutter/Release.xcconfig
  23. 42
      ios/Podfile
  24. 100
      ios/Podfile.lock
  25. 732
      ios/Runner.xcodeproj/project.pbxproj
  26. 7
      ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  27. 8
      ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  28. 8
      ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
  29. 87
      ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
  30. 10
      ios/Runner.xcworkspace/contents.xcworkspacedata
  31. 8
      ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  32. 8
      ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
  33. 15
      ios/Runner/AppDelegate.swift
  34. BIN
      ios/Runner/Apps/__UNI__11E9B73.wgt
  35. BIN
      ios/Runner/Apps/__UNI__CBDCE04.wgt
  36. 122
      ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
  37. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png
  38. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
  39. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
  40. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
  41. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
  42. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
  43. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29.png
  44. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
  45. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
  46. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
  47. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png
  48. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
  49. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
  50. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
  51. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
  52. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76.png
  53. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
  54. BIN
      ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
  55. 23
      ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
  56. 5
      ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
  57. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/引导页备份.png
  58. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/引导页备份@2x.png
  59. BIN
      ios/Runner/Assets.xcassets/LaunchImage.imageset/引导页备份@3x.png
  60. 41
      ios/Runner/Base.lproj/LaunchScreen.storyboard
  61. 26
      ios/Runner/Base.lproj/Main.storyboard
  62. 22
      ios/Runner/Headers/DCUniMP.h
  63. 33
      ios/Runner/Headers/DCUniMPConfiguration.h
  64. 29
      ios/Runner/Headers/DCUniMPError.h
  65. 38
      ios/Runner/Headers/DCUniMPInstance.h
  66. 43
      ios/Runner/Headers/DCUniMPMenuActionSheetStyle.h
  67. 185
      ios/Runner/Headers/DCUniMPSDKEngine.h
  68. 26
      ios/Runner/Headers/weexHeader/JSContext+Weex.h
  69. 27
      ios/Runner/Headers/weexHeader/NSObject+WXSwizzle.h
  70. 33
      ios/Runner/Headers/weexHeader/UniPluginProtocol.h
  71. 24
      ios/Runner/Headers/weexHeader/WXAComponent.h
  72. 37
      ios/Runner/Headers/weexHeader/WXAnalyzerCenter.h
  73. 44
      ios/Runner/Headers/weexHeader/WXAnalyzerProtocol.h
  74. 147
      ios/Runner/Headers/weexHeader/WXApmForInstance.h
  75. 102
      ios/Runner/Headers/weexHeader/WXApmProtocol.h
  76. 66
      ios/Runner/Headers/weexHeader/WXAppConfiguration.h
  77. 83
      ios/Runner/Headers/weexHeader/WXAppMonitorProtocol.h
  78. 46
      ios/Runner/Headers/weexHeader/WXBaseViewController.h
  79. 219
      ios/Runner/Headers/weexHeader/WXBridgeManager.h
  80. 172
      ios/Runner/Headers/weexHeader/WXBridgeProtocol.h
  81. 162
      ios/Runner/Headers/weexHeader/WXComponent+Layout.h
  82. 470
      ios/Runner/Headers/weexHeader/WXComponent.h
  83. 279
      ios/Runner/Headers/weexHeader/WXComponentManager.h
  84. 39
      ios/Runner/Headers/weexHeader/WXConfigCenterProtocol.h
  85. 104
      ios/Runner/Headers/weexHeader/WXConvert.h
  86. 55
      ios/Runner/Headers/weexHeader/WXDebugTool.h
  87. 193
      ios/Runner/Headers/weexHeader/WXDefine.h
  88. 48
      ios/Runner/Headers/weexHeader/WXDisplayLinkManager.h
  89. 32
      ios/Runner/Headers/weexHeader/WXErrorView.h
  90. 26
      ios/Runner/Headers/weexHeader/WXEventModuleProtocol.h
  91. 29
      ios/Runner/Headers/weexHeader/WXExceptionUtils.h
  92. 47
      ios/Runner/Headers/weexHeader/WXExtendCallNativeProtocol.h
  93. 94
      ios/Runner/Headers/weexHeader/WXImgLoaderProtocol.h
  94. 52
      ios/Runner/Headers/weexHeader/WXIndicatorComponent.h
  95. 72
      ios/Runner/Headers/weexHeader/WXJSExceptionInfo.h
  96. 42
      ios/Runner/Headers/weexHeader/WXJSExceptionProtocol.h
  97. 29
      ios/Runner/Headers/weexHeader/WXJSFrameworkLoadProtocol.h
  98. 24
      ios/Runner/Headers/weexHeader/WXListComponent.h
  99. 25
      ios/Runner/Headers/weexHeader/WXModalUIModule.h
  100. 78
      ios/Runner/Headers/weexHeader/WXModuleProtocol.h
  101. Some files were not shown because too many files have changed in this diff Show More

2
android/app/src/main/AndroidManifest.xml

@ -73,7 +73,7 @@
<service android:name="com.amap.api.location.APSService"/>
<meta-data
android:name="dcloud_appkey"
android:value="6ab8f8be16d331794b1b1bba98f2fc23" />
android:value="" />
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="f39d1daa020a56f208eb2519f63e9534"/>

1
android/app/src/main/assets/data/dcloud_control.xml

@ -1,6 +1,7 @@
<hbuilder version="1.9.9.80110" debug="false" syncDebug ="true">
<apps>
<app appid="__UNI__ACD00DA" appver="1.0"/>
<app appid="__UNI__ACD00DA" appver="1.0"/>
</apps>
</hbuilder>

5
android/app/src/main/kotlin/com/zsw/huixiang/MinPlugin.kt

@ -1,4 +1,7 @@
package com.zsw.huixiang
package com.zsw.huixiang
import android.content.Context
import androidx.annotation.NonNull

BIN
assets/image/2x/brand_store_bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 KiB

After

Width:  |  Height:  |  Size: 118 KiB

BIN
assets/image/2x/brand_store_cj.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 477 KiB

After

Width:  |  Height:  |  Size: 127 KiB

BIN
assets/image/2x/brand_store_hx.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 552 KiB

After

Width:  |  Height:  |  Size: 139 KiB

BIN
assets/image/2x/icon_login_logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
assets/image/2x/laoban.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 240 KiB

BIN
assets/image/3x/brand_store_bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1005 KiB

After

Width:  |  Height:  |  Size: 208 KiB

BIN
assets/image/3x/brand_store_cj.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 971 KiB

After

Width:  |  Height:  |  Size: 236 KiB

BIN
assets/image/3x/brand_store_hx.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 256 KiB

BIN
assets/image/3x/icon_login_logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
assets/image/3x/laoban.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 483 KiB

BIN
assets/image/brand_store_bg.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 43 KiB

BIN
assets/image/brand_store_cj.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 44 KiB

BIN
assets/image/brand_store_hx.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 47 KiB

BIN
assets/image/icon_login_logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
assets/image/laoban.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 KiB

After

Width:  |  Height:  |  Size: 76 KiB

33
ios/.gitignore vendored

@ -1,33 +0,0 @@
*.mode1v3
*.mode2v3
*.moved-aside
*.pbxuser
*.perspectivev3
**/*sync/
.sconsign.dblite
.tags*
**/.vagrant/
**/DerivedData/
Icon?
**/Pods/
**/.symlinks/
profile
xcuserdata
**/.generated/
Flutter/App.framework
Flutter/Flutter.framework
Flutter/Flutter.podspec
Flutter/Generated.xcconfig
Flutter/ephemeral/
Flutter/app.flx
Flutter/app.zip
Flutter/flutter_assets/
Flutter/flutter_export_environment.sh
ServiceDefinitions.json
Runner/GeneratedPluginRegistrant.*
# Exceptions to above rules.
!default.mode1v3
!default.mode2v3
!default.pbxuser
!default.perspectivev3

26
ios/Flutter/AppFrameworkInfo.plist

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>zh_CN</string>
<key>CFBundleExecutable</key>
<string>App</string>
<key>CFBundleIdentifier</key>
<string>com.zsw.yixinhuixiang</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>App</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>9.0</string>
</dict>
</plist>

2
ios/Flutter/Debug.xcconfig

@ -1,2 +0,0 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"

2
ios/Flutter/Release.xcconfig

@ -1,2 +0,0 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"

42
ios/Podfile

@ -1,42 +0,0 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT\=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end

100
ios/Podfile.lock

@ -1,100 +0,0 @@
PODS:
- AMap3DMap (7.9.0):
- AMapFoundation (~> 1.6.6)
- amap_flutter_location (0.0.1):
- AMapLocation (~> 2.6.7)
- Flutter
- amap_flutter_map (0.0.1):
- AMap3DMap
- Flutter
- AMapFoundation (1.6.7)
- AMapLocation (2.6.8):
- AMapFoundation (~> 1.6.4)
- Flutter (1.0.0)
- fluttertoast (0.0.2):
- Flutter
- Toast
- image_cropper (0.0.4):
- Flutter
- TOCropViewController (~> 2.6.0)
- image_picker (0.0.1):
- Flutter
- "permission_handler (5.1.0+2)":
- Flutter
- shared_preferences (0.0.1):
- Flutter
- Toast (4.0.0)
- TOCropViewController (2.6.0)
- video_player (0.0.1):
- Flutter
- wakelock (0.0.1):
- Flutter
- webview_flutter (0.0.1):
- Flutter
DEPENDENCIES:
- amap_flutter_location (from `.symlinks/plugins/amap_flutter_location/ios`)
- amap_flutter_map (from `.symlinks/plugins/amap_flutter_map/ios`)
- Flutter (from `Flutter`)
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
- image_cropper (from `.symlinks/plugins/image_cropper/ios`)
- image_picker (from `.symlinks/plugins/image_picker/ios`)
- permission_handler (from `.symlinks/plugins/permission_handler/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- video_player (from `.symlinks/plugins/video_player/ios`)
- wakelock (from `.symlinks/plugins/wakelock/ios`)
- webview_flutter (from `.symlinks/plugins/webview_flutter/ios`)
SPEC REPOS:
trunk:
- AMap3DMap
- AMapFoundation
- AMapLocation
- Toast
- TOCropViewController
EXTERNAL SOURCES:
amap_flutter_location:
:path: ".symlinks/plugins/amap_flutter_location/ios"
amap_flutter_map:
:path: ".symlinks/plugins/amap_flutter_map/ios"
Flutter:
:path: Flutter
fluttertoast:
:path: ".symlinks/plugins/fluttertoast/ios"
image_cropper:
:path: ".symlinks/plugins/image_cropper/ios"
image_picker:
:path: ".symlinks/plugins/image_picker/ios"
permission_handler:
:path: ".symlinks/plugins/permission_handler/ios"
shared_preferences:
:path: ".symlinks/plugins/shared_preferences/ios"
video_player:
:path: ".symlinks/plugins/video_player/ios"
wakelock:
:path: ".symlinks/plugins/wakelock/ios"
webview_flutter:
:path: ".symlinks/plugins/webview_flutter/ios"
SPEC CHECKSUMS:
AMap3DMap: 4ff760f011b89aec85edd8b5fcf90d384aae1202
amap_flutter_location: 3e33b57f1aad80b0dfb4b399de857a1a9f071e62
amap_flutter_map: 979e54d227cedac6c7504a2151bfbf3bcf96760a
AMapFoundation: c7da72b42a713f1429c88af1858d623dde88934b
AMapLocation: dad27669c4ca68e395ce7532ff614b7d4d45f7b7
Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
fluttertoast: 6122fa75143e992b1d3470f61000f591a798cc58
image_cropper: f1668dd8d2cad2d357955caad15a40547856edcb
image_picker: 9c3312491f862b28d21ecd8fdf0ee14e601b3f09
permission_handler: ccb20a9fad0ee9b1314a52b70b76b473c5f8dab0
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
TOCropViewController: 3105367e808b7d3d886a74ff59bf4804e7d3ab38
video_player: 9cc823b1d9da7e8427ee591e8438bfbcde500e6e
wakelock: bfc7955c418d0db797614075aabbc58a39ab5107
webview_flutter: d2b4d6c66968ad042ad94cbb791f5b72b4678a96
PODFILE CHECKSUM: 80a5bea9f6900750909f6d3fad1d3a0f1e560f5a
COCOAPODS: 1.9.1

732
ios/Runner.xcodeproj/project.pbxproj

@ -1,732 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
7D05B55EA8C2ECD1708F92A2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F2320ABFFF6437281BD669B8 /* Pods_Runner.framework */; };
89FD2B59267CA8F20096F581 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B58267CA8F20096F581 /* JavaScriptCore.framework */; };
89FD2B5B267CA90E0096F581 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B5A267CA90E0096F581 /* AVFoundation.framework */; };
89FD2B5D267CA91A0096F581 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B5C267CA91A0096F581 /* OpenGLES.framework */; };
89FD2B5F267CA92C0096F581 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B5E267CA92C0096F581 /* CoreGraphics.framework */; };
89FD2B61267CA9370096F581 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B60267CA9370096F581 /* CoreTelephony.framework */; };
89FD2B63267CA94B0096F581 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B62267CA94A0096F581 /* AddressBook.framework */; };
89FD2B65267CA9590096F581 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B64267CA9590096F581 /* CoreMedia.framework */; };
89FD2B67267CA9620096F581 /* AVKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B66267CA9620096F581 /* AVKit.framework */; };
89FD2B69267CA96E0096F581 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B68267CA96E0096F581 /* CoreText.framework */; };
89FD2B6B267CA97D0096F581 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B6A267CA97D0096F581 /* libc++.tbd */; };
89FD2B6D267CA9880096F581 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B6C267CA9880096F581 /* AssetsLibrary.framework */; };
89FD2B6F267CA99A0096F581 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B6E267CA99A0096F581 /* libiconv.tbd */; };
89FD2B71267CA9A30096F581 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B70267CA9A30096F581 /* MediaPlayer.framework */; };
89FD2B73267CA9AD0096F581 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B72267CA9AD0096F581 /* GLKit.framework */; };
89FD2B75267CA9B40096F581 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B74267CA9B40096F581 /* QuartzCore.framework */; };
89FD2B77267CA9BD0096F581 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B76267CA9BD0096F581 /* QuickLook.framework */; };
89FD2B79267CA9CA0096F581 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 89FD2B78267CA9CA0096F581 /* CoreLocation.framework */; };
89FD2BB0267CBF9D0096F581 /* SwiftMinPlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89FD2BAF267CBF9D0096F581 /* SwiftMinPlugin.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
052D2C662690B88300E13C32 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
07D433417D1E71C6BEBF9AE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
22D7DB7C8836E8F8A8633CAB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
54DB46578BBB0ADFD189F53C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
89FD2B58267CA8F20096F581 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
89FD2B5A267CA90E0096F581 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
89FD2B5C267CA91A0096F581 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
89FD2B5E267CA92C0096F581 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
89FD2B60267CA9370096F581 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
89FD2B62267CA94A0096F581 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
89FD2B64267CA9590096F581 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
89FD2B66267CA9620096F581 /* AVKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVKit.framework; path = System/Library/Frameworks/AVKit.framework; sourceTree = SDKROOT; };
89FD2B68267CA96E0096F581 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
89FD2B6A267CA97D0096F581 /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
89FD2B6C267CA9880096F581 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
89FD2B6E267CA99A0096F581 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
89FD2B70267CA9A30096F581 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
89FD2B72267CA9AD0096F581 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
89FD2B74267CA9B40096F581 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
89FD2B76267CA9BD0096F581 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; };
89FD2B78267CA9CA0096F581 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
89FD2BAF267CBF9D0096F581 /* SwiftMinPlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftMinPlugin.swift; sourceTree = "<group>"; };
89FD2BB3267CC0830096F581 /* MinPlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MinPlugin.h; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
F2320ABFFF6437281BD669B8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
89FD2B79267CA9CA0096F581 /* CoreLocation.framework in Frameworks */,
89FD2B77267CA9BD0096F581 /* QuickLook.framework in Frameworks */,
89FD2B75267CA9B40096F581 /* QuartzCore.framework in Frameworks */,
89FD2B73267CA9AD0096F581 /* GLKit.framework in Frameworks */,
89FD2B71267CA9A30096F581 /* MediaPlayer.framework in Frameworks */,
89FD2B6F267CA99A0096F581 /* libiconv.tbd in Frameworks */,
89FD2B6D267CA9880096F581 /* AssetsLibrary.framework in Frameworks */,
89FD2B6B267CA97D0096F581 /* libc++.tbd in Frameworks */,
89FD2B69267CA96E0096F581 /* CoreText.framework in Frameworks */,
89FD2B67267CA9620096F581 /* AVKit.framework in Frameworks */,
89FD2B65267CA9590096F581 /* CoreMedia.framework in Frameworks */,
89FD2B63267CA94B0096F581 /* AddressBook.framework in Frameworks */,
89FD2B61267CA9370096F581 /* CoreTelephony.framework in Frameworks */,
89FD2B5F267CA92C0096F581 /* CoreGraphics.framework in Frameworks */,
89FD2B5D267CA91A0096F581 /* OpenGLES.framework in Frameworks */,
89FD2B5B267CA90E0096F581 /* AVFoundation.framework in Frameworks */,
89FD2B59267CA8F20096F581 /* JavaScriptCore.framework in Frameworks */,
7D05B55EA8C2ECD1708F92A2 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0485BB88CB64F946A09CD99C /* Frameworks */ = {
isa = PBXGroup;
children = (
89FD2B78267CA9CA0096F581 /* CoreLocation.framework */,
89FD2B76267CA9BD0096F581 /* QuickLook.framework */,
89FD2B74267CA9B40096F581 /* QuartzCore.framework */,
89FD2B72267CA9AD0096F581 /* GLKit.framework */,
89FD2B70267CA9A30096F581 /* MediaPlayer.framework */,
89FD2B6E267CA99A0096F581 /* libiconv.tbd */,
89FD2B6C267CA9880096F581 /* AssetsLibrary.framework */,
89FD2B6A267CA97D0096F581 /* libc++.tbd */,
89FD2B68267CA96E0096F581 /* CoreText.framework */,
89FD2B66267CA9620096F581 /* AVKit.framework */,
89FD2B64267CA9590096F581 /* CoreMedia.framework */,
89FD2B62267CA94A0096F581 /* AddressBook.framework */,
89FD2B60267CA9370096F581 /* CoreTelephony.framework */,
89FD2B5E267CA92C0096F581 /* CoreGraphics.framework */,
89FD2B5C267CA91A0096F581 /* OpenGLES.framework */,
89FD2B5A267CA90E0096F581 /* AVFoundation.framework */,
89FD2B58267CA8F20096F581 /* JavaScriptCore.framework */,
F2320ABFFF6437281BD669B8 /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
65BD282ABD056C5D9CC5D337 /* Pods */ = {
isa = PBXGroup;
children = (
07D433417D1E71C6BEBF9AE7 /* Pods-Runner.debug.xcconfig */,
22D7DB7C8836E8F8A8633CAB /* Pods-Runner.release.xcconfig */,
54DB46578BBB0ADFD189F53C /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
65BD282ABD056C5D9CC5D337 /* Pods */,
0485BB88CB64F946A09CD99C /* Frameworks */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
052D2C662690B88300E13C32 /* Runner.entitlements */,
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
89FD2BAF267CBF9D0096F581 /* SwiftMinPlugin.swift */,
89FD2BB3267CC0830096F581 /* MinPlugin.h */,
);
path = Runner;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
753534B0D6D82DBA43CCE5C0 /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
9498B2A0B253447AE0DBC77C /* [CP] Copy Pods Resources */,
2F56D5D1E3E7B030AB5814E4 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
2F56D5D1E3E7B030AB5814E4 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
753534B0D6D82DBA43CCE5C0 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
9498B2A0B253447AE0DBC77C /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
89FD2BB0267CBF9D0096F581 /* SwiftMinPlugin.swift in Sources */,
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Profile;
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = YF3Q8DVP52;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/UniMPSDK/Core/Libs",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/amap_flutter_location/amap_flutter_location.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/amap_flutter_map/amap_flutter_map.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/fluttertoast/fluttertoast.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/image_picker/image_picker.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/permission_handler/permission_handler.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences/shared_preferences.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/webview_flutter/webview_flutter.framework/Headers\"",
);
INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/UniMPSDK/Core/Libs",
);
MARKETING_VERSION = 1.0.2;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.zsw.hx;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "huixiang app";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = "iphonesimulator iphoneos";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = YF3Q8DVP52;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/UniMPSDK/Core/Libs",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/amap_flutter_location/amap_flutter_location.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/amap_flutter_map/amap_flutter_map.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/fluttertoast/fluttertoast.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/image_picker/image_picker.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/permission_handler/permission_handler.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences/shared_preferences.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/webview_flutter/webview_flutter.framework/Headers\"",
);
INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/UniMPSDK/Core/Libs",
);
MARKETING_VERSION = 1.0.2;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.zsw.hx;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "huixiang app";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Distribution: Zhili Zhiji (Wuhan) Culture Technology Co., Ltd. (YF3Q8DVP52)";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = YF3Q8DVP52;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/UniMPSDK/Core/Libs",
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"${PODS_CONFIGURATION_BUILD_DIR}/Toast/Toast.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/amap_flutter_location/amap_flutter_location.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/amap_flutter_map/amap_flutter_map.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/fluttertoast/fluttertoast.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/image_picker/image_picker.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/permission_handler/permission_handler.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/shared_preferences/shared_preferences.framework/Headers\"",
"\"${PODS_CONFIGURATION_BUILD_DIR}/webview_flutter/webview_flutter.framework/Headers\"",
);
INFOPLIST_FILE = Runner/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/UniMPSDK/Core/Libs",
);
MARKETING_VERSION = 1.0.2;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = com.zsw.hx;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "huixiang app";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147031CF9000F007C117D /* Debug */,
97C147041CF9000F007C117D /* Release */,
249021D3217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147061CF9000F007C117D /* Debug */,
97C147071CF9000F007C117D /* Release */,
249021D4217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}

7
ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata generated

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

8
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

8
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

87
ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

@ -1,87 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

10
ios/Runner.xcworkspace/contents.xcworkspacedata generated

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

8
ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

8
ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

15
ios/Runner/AppDelegate.swift

@ -1,15 +0,0 @@
import UIKit
import Flutter
import AMapFoundationKit
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
GeneratedPluginRegistrant.register(with: self)
AMapServices.shared().apiKey = "feaae7986201b571cace1b83728be5bb"
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}

BIN
ios/Runner/Apps/__UNI__11E9B73.wgt

Binary file not shown.

BIN
ios/Runner/Apps/__UNI__CBDCE04.wgt

Binary file not shown.

122
ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json

@ -1,122 +0,0 @@
{
"images": [
{
"size": "20x20",
"idiom": "iphone",
"filename": "icon-20@2x.png",
"scale": "2x"
},
{
"size": "20x20",
"idiom": "iphone",
"filename": "icon-20@3x.png",
"scale": "3x"
},
{
"size": "29x29",
"idiom": "iphone",
"filename": "icon-29.png",
"scale": "1x"
},
{
"size": "29x29",
"idiom": "iphone",
"filename": "icon-29@2x.png",
"scale": "2x"
},
{
"size": "29x29",
"idiom": "iphone",
"filename": "icon-29@3x.png",
"scale": "3x"
},
{
"size": "40x40",
"idiom": "iphone",
"filename": "icon-40@2x.png",
"scale": "2x"
},
{
"size": "40x40",
"idiom": "iphone",
"filename": "icon-40@3x.png",
"scale": "3x"
},
{
"size": "60x60",
"idiom": "iphone",
"filename": "icon-60@2x.png",
"scale": "2x"
},
{
"size": "60x60",
"idiom": "iphone",
"filename": "icon-60@3x.png",
"scale": "3x"
},
{
"size": "20x20",
"idiom": "ipad",
"filename": "icon-20-ipad.png",
"scale": "1x"
},
{
"size": "20x20",
"idiom": "ipad",
"filename": "icon-20@2x-ipad.png",
"scale": "2x"
},
{
"size": "29x29",
"idiom": "ipad",
"filename": "icon-29-ipad.png",
"scale": "1x"
},
{
"size": "29x29",
"idiom": "ipad",
"filename": "icon-29@2x-ipad.png",
"scale": "2x"
},
{
"size": "40x40",
"idiom": "ipad",
"filename": "icon-40.png",
"scale": "1x"
},
{
"size": "40x40",
"idiom": "ipad",
"filename": "icon-40@2x.png",
"scale": "2x"
},
{
"size": "76x76",
"idiom": "ipad",
"filename": "icon-76.png",
"scale": "1x"
},
{
"size": "76x76",
"idiom": "ipad",
"filename": "icon-76@2x.png",
"scale": "2x"
},
{
"size": "83.5x83.5",
"idiom": "ipad",
"filename": "icon-83.5@2x.png",
"scale": "2x"
},
{
"size": "1024x1024",
"idiom": "ios-marketing",
"filename": "icon-1024.png",
"scale": "1x"
}
],
"info": {
"version": 1,
"author": "icon.wuruihong.com"
}
}

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-1024.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 962 B

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

BIN
ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

23
ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json vendored

@ -1,23 +0,0 @@
{
"images" : [
{
"filename" : "引导页备份.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "引导页备份@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "引导页备份@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

5
ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md vendored

@ -1,5 +0,0 @@
# Launch Screen Assets
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.

BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/引导页备份.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/引导页备份@2x.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

BIN
ios/Runner/Assets.xcassets/LaunchImage.imageset/引导页备份@3x.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

41
ios/Runner/Base.lproj/LaunchScreen.storyboard

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="18122" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="18093"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/>
<viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" misplaced="YES" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/>
<constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="76.811594202898561" y="251.11607142857142"/>
</scene>
</scenes>
<resources>
<image name="LaunchImage" width="375" height="750"/>
</resources>
</document>

26
ios/Runner/Base.lproj/Main.storyboard

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
<scene sceneID="tne-QT-ifu">
<objects>
<viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
</scene>
</scenes>
</document>

22
ios/Runner/Headers/DCUniMP.h

@ -0,0 +1,22 @@
//
// DCUniMP.h
// DCUniMP
//
// Created by XHY on 2020/1/14.
// Copyright © 2020 DCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
//! Project version number for DCUniMP.
FOUNDATION_EXPORT double DCUniMPVersionNumber;
//! Project version string for DCUniMP.
FOUNDATION_EXPORT const unsigned char DCUniMPVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <DCUniMP/PublicHeader.h>
#import "DCUniMPSDKEngine.h"
#import "DCUniMPMenuActionSheetStyle.h"
#import "DCUniMPInstance.h"
#import "DCUniMPError.h"

33
ios/Runner/Headers/DCUniMPConfiguration.h

@ -0,0 +1,33 @@
//
// DCUniMPConfiguration.h
// libPDRCore
//
// Created by XHY on 2020/6/16.
// Copyright © 2020 DCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/// 打开小程序页面的方式
typedef NS_ENUM(NSUInteger,DCUniMPOpenMode) {
/// 获取宿主当前显示的 ViewController 调用 presentViewController:animated:completion: 方法打开小程序页面对应的 DCUniMPViewController
DCUniMPOpenModePresent,
/// 获取宿主当前显示的 ViewController 对应的 navigationController 调用 pushViewController:animated: 方法打开小程序页面对应的 DCUniMPViewController,注意:如果 navigationController 不存在则使用 DCUniMPOpenModePresent 的方式打开
DCUniMPOpenModePush
};
@interface DCUniMPConfiguration : NSObject
@property (nonatomic, strong, nullable) NSDictionary *arguments; /**< 启动参数(在小程序中通过 plus.runtime.arguments 获取此参数)默认:nil*/
@property (nonatomic, copy, nullable) NSString *redirectPath; /**< 启动后直接打开的页面路径 例:"pages/component/view/view?a=1&b=2" 默认:nil*/
@property (nonatomic, assign) BOOL enableBackground; /**< 是否开启后台运行(退出小程序时隐藏到后台不销毁小程序应用) 默认:NO*/
@property (nonatomic, assign) BOOL showAnimated; /**< 是否开启 show 小程序时的动画效果 默认:YES */
@property (nonatomic, assign) BOOL hideAnimated; /**< 是否开启 hide 时的动画效果 默认:YES*/
@property (nonatomic, assign) DCUniMPOpenMode openMode; /**< 打开小程序的方式 默认: DCUniMPOpenModePresent*/
@property(nonatomic, assign) BOOL enableGestureClose; /**< 是否开启手势关闭小程序 默认:NO */
@end
NS_ASSUME_NONNULL_END

29
ios/Runner/Headers/DCUniMPError.h

@ -0,0 +1,29 @@
//
// DCUniMPError.h
// libPDRCore
//
// Created by XHY on 2020/6/15.
// Copyright © 2020 DCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
static NSString * const DCUniMPErrorDomain = @"DCUniMPErrorDomain";
typedef NS_ENUM(NSInteger,DCUniMPErrorCode) {
/// 未知错误
DCUniMPErrorUnknown = -999,
/// 应用资源不存在
DCUniMPErrorUniMPResourcesDoesNotExist = -1001,
/// 非v3编译模式
DCUniMPErrorNotCompiledByV3Mode = -1002,
/// 重复调用
DCUniMPErrorRepeatedBehavior = -2001,
/// 小程序未运行
DCUniMPErrorUniMPNotRunning = -3001,
/// 已存在运行的小程序
DCUniMPErrorExistOtherUniMPRunning = 3002
};
NS_ASSUME_NONNULL_END

38
ios/Runner/Headers/DCUniMPInstance.h

@ -0,0 +1,38 @@
//
// DCUniMPInstance.h
// DCUniMP
//
// Created by XHY on 2020/1/14.
// Copyright © 2020 DCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "DCUniMPConfiguration.h"
/// 方法执行回调block
/// @param success 是否执行成功
/// @param error 失败信息
typedef void(^DCUniMPResultBlock)(BOOL success, NSError *_Nullable error);
NS_ASSUME_NONNULL_BEGIN
@interface DCUniMPInstance : NSObject
@property (nonatomic, copy, readonly) NSString *appid; /**< 小程序的 appid */
@property (nonatomic, strong) DCUniMPConfiguration *configuration; /**< 小程序应用的配置信息 */
/// 将小程序显示到前台
/// @param completion 方法执行回调
- (void)showWithCompletion:(DCUniMPResultBlock)completion;
/// 将小程序隐藏到后台
/// @param completion 方法执行回调
- (void)hideWithCompletion:(DCUniMPResultBlock)completion;
/// 关闭小程序
/// @param completion 方法执行回调
- (void)closeWithCompletion:(DCUniMPResultBlock)completion;
@end
NS_ASSUME_NONNULL_END

43
ios/Runner/Headers/DCUniMPMenuActionSheetStyle.h

@ -0,0 +1,43 @@
//
// DCUniMPMenuActionSheetStyle.h
// libPDRCore
//
// Created by XHY on 2020/2/5.
// Copyright © 2020 DCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface DCUniMPMenuActionSheetStyle : NSObject
/// ActionSheet 按钮字体颜色 支持:"#RRGGBB" 和 "rgba(R,G,B,A)" 格式字符串。默认值黑色
@property (nonatomic, copy) NSString *textColor;
/// ActionSheet 按钮文字大小 。默认值 16
@property (nonatomic, assign) CGFloat fontSize;
/// ActionSheet 按钮文字的粗细 可取值:"normal" - 标准字体; "bold" - 加粗字体。 默认值为"normal"。
@property (nonatomic, copy) NSString *fontWeight;
@end
@interface DCUniMPMenuActionSheetItem : NSObject
/// 标题
@property (nonatomic, copy) NSString *title;
/// item 标识(当点击 ActionSheet 对应的 item 返回此标识)
@property (nonatomic, copy) NSString *identifier;
/// 实例化方法
/// @param title 标题
/// @param identifier 标识
- (instancetype)initWithTitle:(NSString *)title identifier:(NSString *)identifier;
@end
NS_ASSUME_NONNULL_END

185
ios/Runner/Headers/DCUniMPSDKEngine.h

@ -0,0 +1,185 @@
//
// DCUniMPSDKEngine.h
// DCUniMP
//
// Created by XHY on 2020/1/14.
// Copyright © 2020 DCloud. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "DCUniMPInstance.h"
#import "DCUniMPMenuActionSheetStyle.h"
/// 加载小程序 block 回调
/// uniMPInstance: 加载成功返回小程序实例,失败则为 nil
/// error:失败信息
typedef void(^DCUniMPCompletionBlock)(DCUniMPInstance *_Nullable uniMPInstance, NSError *_Nullable error);
NS_ASSUME_NONNULL_BEGIN
@protocol DCUniMPSDKEngineDelegate <NSObject>
///
/// 回调数据给小程序
/// result:回调参数支持 NSString 或 NSDictionary 类型
/// keepAlive:如果 keepAlive 为 YES,则可以多次回调数据给小程序,反之触发一次后回调方法即被移除
typedef void (^DCUniMPKeepAliveCallback)(id result, BOOL keepAlive);
@optional
/// 胶囊按钮菜单 ActionSheetItem 点击回调方法
/// @param identifier item 项的标识
- (void)defaultMenuItemClicked:(NSString *)identifier;
/// 返回打开小程序时的闪屏视图
/// @param appid appid
- (UIView *)splashViewForApp:(NSString *)appid;
/// 关闭小程序的回调方法
/// @param appid appid
- (void)uniMPOnClose:(NSString *)appid;
/// 小程序向原生发送事件回调方法
/// @param event 事件名称
/// @param data 数据:NSString 或 NSDictionary 类型
/// @param callback 回调数据给小程序
- (void)onUniMPEventReceive:(NSString *)event data:(id)data callback:(DCUniMPKeepAliveCallback)callback;
@end
@interface DCUniMPSDKEngine : NSObject
#pragma mark - SDK 全局生命周期方法
/// 初始化 sdk 全局环境
/// @param options 启动参数
+ (void)initSDKEnvironmentWithLaunchOptions:(NSDictionary *)options;
/// 释放SDK资源
+ (void)destory;
#pragma mark - 小程序应用相关方法
/// 小程序打开状态,调用此方法可获取小程序对应的 DCUniMPViewController 实例
+ (UIViewController *)getUniMPViewController;
/// 获取 App 运行路径,注:需要将应用资源放到此路径下
/// @param appid appid
+ (NSString *)getAppRunPathWithAppid:(NSString *)appid;
/// 运行目录中是否已经存在 App
/// @param appid appid
+ (BOOL)isExistsApp:(NSString *)appid;
/// 将wgt应用资源包部署到运行路径中
/// @param appid appid
/// @param wgtPath wgt应用资源包路径
+ (BOOL)releaseAppResourceToRunPathWithAppid:(NSString *)appid
resourceFilePath:(NSString *)wgtPath;
/// 启动小程序
/// @param appid appid
/// @param configuration 小程序的配置信息
/// @param completionBlock 方法执行回调
+ (void)openUniMP:(NSString *)appid
configuration:(DCUniMPConfiguration *)configuration
completed:(DCUniMPCompletionBlock)completionBlock;
/// 预加载小程序
/// @param appid appid
/// @param configuration 小程序的配置信息
/// @param completionBlock 方法执行回调
+ (void)preloadUniMP:(NSString *)appid
configuration:(DCUniMPConfiguration * __nullable)configuration
completed:(DCUniMPCompletionBlock)completionBlock;
/// 关闭当前显示的小程序应用
+ (void)closeUniMP;
/// 获取当前显示的小程序appid
+ (NSString *)getActiveUniMPAppid;
/// 获取当前显示小程序页面的直达链接url
+ (NSString *)getCurrentPageUrl;
/// 获取已经部署的小程序应用资源版本信息
/// @param appid appid
/// 返回数据为 manifest 中的配置信息
/// {
/// "name": "1.0.0", // 应用版本名称
/// "code": 100 // 应用版本号
/// }
+ (NSDictionary *__nullable)getUniMPVersionInfoWithAppid:(NSString *)appid;
/// 向小程序发送事件
/// @param event 事件名称
/// @param data 数据:NSString 或 NSDictionary 类型
+ (void)sendUniMPEvent:(NSString *)event data:(id)data;
/// 小程序页面关闭时设置原生导航栏的显隐 (请使用此方法来控制进入小程序页面或离开小程序页面导航栏的显隐,不然导航栏的显隐效果不好,可能会出现闪一下的情况)
/// 说明:当小程序是通过 DCUniMPOpenModePush 方式打开(即通过原生导航控制器push方式打开小程序页面)如果系统导航栏是显示状态,进入小程序时会隐藏系统导航栏并在小程序页面关闭或从小程序页面在 push 到宿主其他原生页面时会将系统导航栏恢复之前的显隐状态;如果您想控制导航栏的显隐可通过此方法来实现
/// 场景:在显示系统导航栏的页面 push 进入小程序页面,从小程序页面 push 到其他原生页面时需要隐藏系统导航栏,则可以在跳转页面前调用此方法来处理;
/// 注意:只有通过 push 的方式打开小程序才生效
/// @param hidden 是否隐藏
+ (void)whenUniMPCloseSetNavigationBarHidden:(BOOL)hidden;
#pragma mark - 胶囊按钮相关方法
/// 设置导航栏上的胶囊按钮显示还是隐藏(默认显示)
/// @param menuButtonHidden Bool 是否隐藏胶囊按钮
+ (void)setMenuButtonHidden:(BOOL)menuButtonHidden;
/// 配置点击菜单按钮弹出 ActionSheet 视图的样式
/// @param menuActionSheetStyle DCUniMPMenuActionSheetStyle
+ (void)configMenuActionSheetStyle:(DCUniMPMenuActionSheetStyle *)menuActionSheetStyle;
/// 配置胶囊按钮菜单 ActionSheet 全局项
/// @param items DCUniMPMenuActionSheetItem 数组
+ (void)setDefaultMenuItems:(NSArray<DCUniMPMenuActionSheetItem *> *)items;
/// 设置 DCUniMPSDKEngineDelegate
/// @param delegate 代理对象
+ (void)setDelegate:(id<DCUniMPSDKEngineDelegate>)delegate;
#pragma mark - App 生命周期方法
+ (void)applicationDidBecomeActive:(UIApplication *)application;
+ (void)applicationWillResignActive:(UIApplication *)application;
+ (void)applicationDidEnterBackground:(UIApplication *)application;
+ (void)applicationWillEnterForeground:(UIApplication *)application;
#pragma mark - 如果需要使用 URL Scheme 或 通用链接相关功能,请实现以下方法
+ (void)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;
+ (void)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity;
#pragma mark - 如需使用远程推送相关功能,请实现以下方法
+ (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
+ (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
+ (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
#pragma mark - 如需使用本地推送通知功能,请实现以下方法
+ (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
#pragma mark - deprecated (废弃API)
/// 启动 App
/// @param appid appid
/// @param arguments 启动参数(可以在小程序中通过 plus.runtime.arguments 获取此参数)
+ (void)openApp:(NSString *)appid
arguments:(NSDictionary * __nullable)arguments __attribute__((deprecated("deprecated, Use -openUniMP:configuration:completed:")));
/// 启动 App
/// @param appid appid
/// @param arguments 启动参数(可以在小程序中通过 plus.runtime.arguments 获取此参数)
/// @param redirectPath 启动后直接打开的页面路径 例:"pages/component/view/view?a=1&b=2"
+ (void)openApp:(NSString *)appid
arguments:(NSDictionary * _Nullable)arguments
redirectPath:(NSString * _Nullable)redirectPath __attribute__((deprecated("deprecated, Use -openUniMP:configuration:completed:")));
@end
NS_ASSUME_NONNULL_END

26
ios/Runner/Headers/weexHeader/JSContext+Weex.h

@ -0,0 +1,26 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <JavaScriptCore/JavaScriptCore.h>
@interface JSContext (Weex)
@property (nonatomic, strong) NSString *instanceId;
@end

27
ios/Runner/Headers/weexHeader/NSObject+WXSwizzle.h

@ -0,0 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
@interface NSObject (WXSwizzle)
+ (BOOL)weex_swizzle:(Class)originalClass Method:(SEL)originalSelector withMethod:(SEL)swizzledSelector;
@end

33
ios/Runner/Headers/weexHeader/UniPluginProtocol.h

@ -0,0 +1,33 @@
//
// UniPluginProtocol.h
// libWeex
//
// Created by 4Ndf on 2018/11/30.
// Copyright © 2018年 DCloud. All rights reserved.
//
#import <UIKit/UIApplication.h>
@protocol UniPluginProtocol <NSObject>
//@required // 必须实现的方法
-(void)onCreateUniPlugin;
- (BOOL)application:(UIApplication *_Nullable)application didFinishLaunchingWithOptions:(NSDictionary *_Nullable)launchOptions;
- (void)application:(UIApplication *_Nullable)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *_Nullable)deviceToken;
- (void)application:(UIApplication *_Nullable)application didFailToRegisterForRemoteNotificationsWithError:(NSError *_Nullable)err;
- (void)application:(UIApplication *_Nullable)application didReceiveRemoteNotification:(NSDictionary *_Nullable)userInfo;
- (void)application:(UIApplication *_Nullable)application didReceiveRemoteNotification:(NSDictionary *_Nullable)userInfo fetchCompletionHandler:(void (^_Nullable)(UIBackgroundFetchResult))completionHandler;
- (void)application:(UIApplication *_Nullable)application didReceiveLocalNotification:(UILocalNotification *_Nullable)notification;
- (BOOL)application:(UIApplication *_Nullable)application handleOpenURL:(NSURL *_Nullable)url;
- (BOOL)application:(UIApplication *_Nullable)application openURL:(NSURL *_Nullable)url sourceApplication:(NSString *_Nullable)sourceApplication annotation:(id _Nonnull )annotation;
- (BOOL)application:(UIApplication *_Nullable)app openURL:(NSURL *_Nonnull)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *_Nullable)options NS_AVAILABLE_IOS(9_0);
- (void)applicationWillResignActive:(UIApplication * _Nullable)application;
- (void)applicationDidBecomeActive:(UIApplication *_Nullable)application;
- (void)applicationDidEnterBackground:(UIApplication *_Nullable)application;
- (void)applicationWillEnterForeground:(UIApplication *_Nullable)application;
- (void)applicationWillTerminate:(UIApplication *_Nullable)application;
- (void)applicationDidReceiveMemoryWarning:(UIApplication *_Nullable)application;
- (void)application:(UIApplication *_Nullable)application performActionForShortcutItem:(UIApplicationShortcutItem *_Nullable)shortcutItem completionHandler:(void (^_Nullable)(BOOL))completionHandler API_AVAILABLE(ios(9.0));
- (void)application:(UIApplication *_Nullable)application handleEventsForBackgroundURLSession:(NSString *_Nonnull)identifier completionHandler:(void (^_Nullable)(void))completionHandler;
- (BOOL)application:(UIApplication *_Nullable)application continueUserActivity:(NSUserActivity *_Nullable)userActivity restorationHandler:(void(^_Nullable)(NSArray * __nullable restorableObjects))restorationHandler API_AVAILABLE(ios(8.0));
@end

24
ios/Runner/Headers/weexHeader/WXAComponent.h

@ -0,0 +1,24 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXComponent.h"
@interface WXAComponent : WXComponent <UIGestureRecognizerDelegate>
@end

37
ios/Runner/Headers/weexHeader/WXAnalyzerCenter.h

@ -0,0 +1,37 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import "WXAnalyzerProtocol.h"
@interface WXAnalyzerCenter : NSObject
+(NSMutableArray<WXAnalyzerProtocol> *) getAnalyzerList;
+(void) addWxAnalyzer:(id<WXAnalyzerProtocol>)handler;
+(void) rmWxAnalyzer:(id<WXAnalyzerProtocol>)handler;
+(void) setOpen:(BOOL)isOpen;
+(BOOL) isOpen;
+(void) switchInteractionLog:(BOOL) isOpen;
+(BOOL) isInteractionLogOpen;
@end

44
ios/Runner/Headers/weexHeader/WXAnalyzerProtocol.h

@ -0,0 +1,44 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import "WXAppMonitorProtocol.h"
#define GROUP_ANALYZER @"WXAnalyzer"
#define MODULE_PERFORMANCE @"WXPerformance"
#define MODULE_ERROR @"WXError"
#define TYPE_MEASURE_REAL @"measure_real_time"
#define TYPE_DIMEN_REAL @"dimen_real_time"
#define TYPE_JS_ERROR @"js"
@protocol WXAnalyzerProtocol <NSObject>
@required
/**
@param value = @{
@"group":group,
@"module":module,
@"type":type,
@"data":jsonData
};
*/
- (void)transfer:(NSDictionary *) value;
@end

147
ios/Runner/Headers/weexHeader/WXApmForInstance.h

@ -0,0 +1,147 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import "WXJSExceptionInfo.h"
#pragma mark - const static string
extern NSString* const WEEX_PAGE_TOPIC;
/************** properties *****************/
extern NSString* const KEY_PROPERTIES_ERROR_CODE;
extern NSString* const KEY_PAGE_PROPERTIES_BIZ_ID;
extern NSString* const KEY_PAGE_PROPERTIES_BUBDLE_URL;
extern NSString* const KEY_PAGE_PROPERTIES_JSLIB_VERSION;
extern NSString* const KEY_PAGE_PROPERTIES_WEEX_VERSION;
extern NSString* const KEY_PAGE_PROPERTIES_REQUEST_TYPE;
extern NSString* const KEY_PAGE_PROPERTIES_Z_CACHE_INFO;
extern NSString* const KEY_PAGE_PROPERTIES_JS_FM_INIT;
extern NSString* const KEY_PAGE_PROPERTIES_BUNDLE_TYPE;
extern NSString* const KEY_PAGE_PROPERTIES_CONTAINER_NAME;
extern NSString* const KEY_PAGE_PROPERTIES_INSTANCE_TYPE;
extern NSString* const KEY_PAGE_PROPERTIES_PARENT_PAGE;
extern NSString* const KEY_PAGE_PROPERTIES_RENDER_TYPE;
///************** stages *****************/
extern NSString* const KEY_PAGE_STAGES_START;
extern NSString* const KEY_PAGE_STAGES_DOWN_BUNDLE_START;
extern NSString* const KEY_PAGE_STAGES_DOWN_BUNDLE_END;
extern NSString* const KEY_PAGE_STAGES_RENDER_ORGIGIN;
extern NSString* const KEY_PAGE_STAGES_LOAD_BUNDLE_START;
extern NSString* const KEY_PAGE_STAGES_LOAD_BUNDLE_END;
extern NSString* const KEY_PAGE_STAGES_CREATE_FINISH;
extern NSString* const KEY_PAGE_STAGES_FSRENDER;
extern NSString* const KEY_PAGE_STAGES_NEW_FSRENDER;
extern NSString* const KEY_PAGE_STAGES_INTERACTION;
extern NSString* const KEY_PAGE_STAGES_DESTROY;
///************** stats *****************/
extern NSString* const KEY_PAGE_STATS_BUNDLE_SIZE;
extern NSString* const KEY_PAGE_STATS_FS_CALL_JS_TIME;
extern NSString* const KEY_PAGE_STATS_FS_CALL_JS_NUM;
extern NSString* const KEY_PAGE_STATS_FS_TIMER_NUM;
extern NSString* const KEY_PAGE_STATS_FS_CALL_NATIVE_TIME;
extern NSString* const KEY_PAGE_STATS_FS_CALL_NATIVE_NUM;
extern NSString* const KEY_PAGE_STATS_FS_CALL_EVENT_NUM;
extern NSString* const KEY_PAGE_STATS_FS_REQUEST_NUM;
extern NSString* const KEY_PAGE_STATS_SCROLLER_NUM;
extern NSString* const KEY_PAGE_STATS_CELL_EXCEED_NUM;
extern NSString* const KEY_PAGE_STATS_CELL_UN_RE_USE_NUM;
extern NSString* const KEY_PAGE_STATS_CELL_DATA_UN_RECYCLE_NUM;
extern NSString* const KEY_PAGE_STATS_EMBED_COUNT;
extern NSString* const KEY_PAGE_STATS_LARGE_IMG_COUNT;
extern NSString* const KEY_PAGE_STATS_MAX_DEEP_VIEW;
extern NSString* const KEY_PAGE_STATS_MAX_DEEP_DOM;
extern NSString* const KEY_PAGE_STATS_MAX_COMPONENT_NUM;
extern NSString* const KEY_PAGE_STATS_WRONG_IMG_SIZE_COUNT;
extern NSString* const KEY_PAGE_STATS_IMG_UN_RECYCLE_NUM;
extern NSString* const KEY_PAGE_STATS_I_SCREEN_VIEW_COUNT;
extern NSString* const KEY_PAGE_STATS_I_ALL_VIEW_COUNT;
extern NSString* const KEY_PAGE_STATS_I_COMPONENT_CREATE_COUNT;
extern NSString* const KEY_PAGE_ANIM_BACK_NUM;
extern NSString* const KEY_PAGE_TIMER_BACK_NUM;
extern NSString* const KEY_PAGE_STATS_ACTUAL_DOWNLOAD_TIME;
extern NSString* const KEY_PAGE_STATS_IMG_LOAD_NUM;
extern NSString* const KEY_PAGE_STATS_IMG_LOAD_SUCCESS_NUM;
extern NSString* const KEY_PAGE_STATS_IMG_LOAD_FAIL_NUM;
extern NSString* const KEY_PAGE_STATS_NET_NUM;
extern NSString* const KEY_PAGE_STATS_NET_SUCCESS_NUM;
extern NSString* const KEY_PAGE_STATS_NET_FAIL_NUM;
extern NSString* const KEY_PAGE_STAGES_FIRST_INTERACTION_VIEW;
extern NSString* const KEY_PAGE_STATS_BODY_RATIO;
///************** value *****************/
extern NSString* const VALUE_ERROR_CODE_DEFAULT;
@interface WXApmForInstance : NSObject
@property (nonatomic, assign) BOOL isFSEnd;
@property (nonatomic,assign) BOOL isOpenApm;
@property (nonatomic, assign) BOOL isStartRecord;
@property (nonatomic, assign) BOOL hasAddView;
@property (nonatomic, assign) BOOL isDegrade;
@property (nonatomic, assign) BOOL isStartRender;
@property (nonatomic,assign) BOOL hasRecordFirstInterationView;
@property (nonatomic, assign) BOOL isDownLoadFailed;
@property (nonatomic,assign) double pageRatio;
#pragma mark - basic method
- (void) onEvent:(NSString *)name withValue:(id)value;
- (void) onStage:(NSString *)name;
- (void) onStageWithTime:(NSString*)name time:(long)unixTime;
- (void) setProperty:(NSString *)name withValue:(id)value;
- (void) setStatistic:(NSString *)name withValue:(double)value;
#pragma mark - instance record
- (void) startRecord:(NSString*) instanceId;
- (void) endRecord;
- (void) updateFSDiffStats:(NSString *)name withDiffValue:(double)diff;
- (void) updateDiffStats:(NSString *)name withDiffValue:(double)diff;
- (void) updateMaxStats:(NSString *)name curMaxValue:(double)maxValue;
- (void) updateExtInfoFromResponseHeader:(NSDictionary*) extInfo;
- (void) forceSetInteractionTime:(long) unixTime;
#pragma mark - called by IWXHttpAdapter implementer
- (void) actionNetRequest;
- (void) actionNetRequestResult:(bool)succeed withErrorCode:(NSString*)errorCode;
#pragma mark - called by IWXImgLoaderAdapter implementer
- (void) actionImgLoad;
- (void) actionImgLoadResult:(bool)succeed withErrorCode:(NSString*)errorCode;
#pragma mark record top5 errorMsg
- (void) recordErrorMsg:(WXJSExceptionInfo *)exception;
- (NSDictionary<NSString*,NSNumber*>*) stageDic;
#pragma mark templateinfo
- (NSString*) templateInfo;
@end

102
ios/Runner/Headers/weexHeader/WXApmProtocol.h

@ -0,0 +1,102 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
@protocol WXApmProtocol <NSObject>
/**
* start record
*
* @param instanceId instanceId
*/
@required
- (void) onStart:(NSString*)instanceId topic:(NSString*)topic;
/**
* pause apm record (apm ext mem / fps)
*/
@required
- (void) pauseApmRecord;
/**
* resume apm record (apm ext mem / fps)
*/
@required
- (void) resumeApmRecord;
/**
* end record
*/
@required
- (void) onEnd;
/**
* record event
*/
@required
- (void) onEvent:(NSString *)name withValue:(id)value;
/**
* record stage
*/
@required
- (void) onStage:(NSString *)name withValue:(long)timestamp;
/**
* record property
*/
@required
- (void) addProperty:(NSString *)name withValue:(id)value;
/**
* record statistic
*/
@required
- (void) addStatistic:(NSString *)name withValue:(double)value;
@required
- (void) onSubProcedureBegin:(NSString*)subProcedureName;
@required
- (void) onSubProcedureEndSucceed:(NSString*)subProcedureName;
@required
- (void) onSubProcedureEndFailed:(NSString*)subProcedureName;
/**
* record biz properties
*/
@required
- (void) addBiz:(NSString *)bizID withValue:(NSDictionary *)properties;
/**
* record biz stage
*/
@required
- (void) addBizStage:(NSString *)bizID withValue:(NSDictionary *)stage;
@end
@protocol WXApmGeneratorProtocol <NSObject>
@required
- (id<WXApmProtocol>)gengratorApmInstance:(NSString *) type;
@end

66
ios/Runner/Headers/weexHeader/WXAppConfiguration.h

@ -0,0 +1,66 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
@interface WXAppConfiguration : NSObject
/**
* @abstract Group or organization of your app, default value is nil.
*/
+ (NSString *)appGroup;
+ (void)setAppGroup:(NSString *) appGroup;
/**
* @abstract Name of your app, default is value for CFBundleDisplayName in main bundle.
*/
+ (NSString *)appName;
+ (void)setAppName:(NSString *)appName;
/**
* @abstract Version of your app, default is value for CFBundleShortVersionString in main bundle.
*/
+ (NSString *)appVersion;
+ (void)setAppVersion:(NSString *)appVersion;
/**
* @abstract External user agent of your app, all requests sent by weex will set the user agent on header, default value is nil.
*/
+ (NSString *)externalUserAgent;
+ (void)setExternalUserAgent:(NSString *)userAgent;
/**
* @abstract JSFrameworkVersion
*/
+ (NSString *)JSFrameworkVersion;
+ (void)setJSFrameworkVersion:(NSString *)JSFrameworkVersion;
/**
+ * @abstract JSFrameworkLibSize
+ */
+ (NSUInteger)JSFrameworkLibSize;
+ (void)setJSFrameworkLibSize:(NSUInteger)JSFrameworkLibSize;
/*
* @abstract customizeProtocolClasses
*/
+ (NSArray*)customizeProtocolClasses;
+ (void)setCustomizeProtocolClasses:(NSArray*)customizeProtocolClasses;
@end

83
ios/Runner/Headers/weexHeader/WXAppMonitorProtocol.h

@ -0,0 +1,83 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXModuleProtocol.h"
/** dimenValue */
#define BIZTYPE @"bizType"
#define PAGENAME @"pageName"
#define WXSDKVERSION @"WXSDKVersion"
#define JSLIBVERSION @"JSLibVersion"
#define JSLIBSIZE @"JSLibSize"
#define WXREQUESTTYPE @"requestType"
#define WXCONNECTIONTYPE @"connectionType"
#define NETWORKTYPE @"networkType"
#define CACHETYPE @"cacheType"
#define WXCUSTOMMONITORINFO @"customMonitorInfo"
/** measureValue */
#define SDKINITTIME @"SDKInitTime"
#define SDKINITINVOKETIME @"SDKInitInvokeTime"
#define JSLIBINITTIME @"JSLibInitTime"
#define JSTEMPLATESIZE @"JSTemplateSize"
#define NETWORKTIME @"networkTime"
#define COMMUNICATETIME @"communicateTime"
#define SCREENRENDERTIME @"screenRenderTime"
#define TOTALTIME @"totalTime"
#define FIRSETSCREENJSFEXECUTETIME @"firstScreenJSFExecuteTime"
#define CALLCREATEINSTANCETIME @"callCreateInstanceTime"
#define COMMUNICATETOTALTIME @"communicateTotalTime"
#define FSRENDERTIME @"fsRenderTime"
#define COMPONENTCOUNT @"componentCount"
#define M_COMPONENT_TIME @"componentCreateTime"
#define CACHEPROCESSTIME @"cacheProcessTime"
#define CACHERATIO @"cacheRatio"
//todo new point
#define M_FS_CALL_JS_TIME @"fsCallJsTotalTime"
#define M_FS_CALL_JS_NUM @"fsCallJsTotalNum"
#define M_FS_CALL_NATIVE_TIME @"fsCallNativeTotalTime"
#define M_FS_CALL_NATIVE_NUM @"fsCallNativeTotalNum"
#define M_FS_CALL_EVENT_NUM @"fsCallEventTotalNum"
#define M_FS_REQUEST_NET_NUM @"fsRequestNum"
#define M_CELL_EXCEED_NUM @"cellExceedNum"
#define M_MAX_DEEP_VDOM @"maxDeepVDomLayer"
#define M_IMG_WRONG_SIZE_NUM @"imgSizeCount"
#define M_TIMER_NUM @"timerCount"
#define M_WRONG_IMG_NUM @"imgSizeCount"
#define M_INTERACTION_TIME @"interactionTime"
#define M_INTERACTION_ADD_COUNT @"interactionViewAddCount"
#define M_INTERACTION_LIMIT_ADD_COUNT @"interactionViewAddLimitCount"
#define M_NEW_FS_RENDER_TIME @"newFsRenderTime"
@protocol WXAppMonitorProtocol <WXModuleProtocol>
- (void)commitAppMonitorArgs:(NSDictionary *)args;
- (void)commitAppMonitorAlarm:(NSString *)pageName monitorPoint:(NSString *)monitorPoint success:(BOOL)success errorCode:(NSString *)errorCode errorMsg:(NSString *)errorMsg arg:(NSString *)arg;
@optional
- (void)commitMonitorWithPage:(NSString *)pageName monitorPoint:(NSString *)monitorPoint args:(NSDictionary *)args;
@end

46
ios/Runner/Headers/weexHeader/WXBaseViewController.h

@ -0,0 +1,46 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <UIKit/UIKit.h>
/**
* The WXBaseViewController class provides the infrastructure for managing the weex view in your app. It is
* responsible for creating a weex instance or rendering the weex view, for observing the lifecycle of the
* view such as "appear" or "disappear""foreground" or "background" etc. You can initialize this controller by
* special bundle URL.
*/
@interface WXBaseViewController : UIViewController<UIGestureRecognizerDelegate>
/**
* @abstract initializes the viewcontroller with bundle url.
*
* @param sourceURL The url of bundle rendered to a weex view.
*
* @return a object the class of WXBaseViewController.
*
*/
- (instancetype)initWithSourceURL:(NSURL *)sourceURL;
/**
* @abstract refreshes the weex view in controller.
*/
- (void)refreshWeex;
@end

219
ios/Runner/Headers/weexHeader/WXBridgeManager.h

@ -0,0 +1,219 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import <JavaScriptCore/JavaScriptCore.h>
@class WXBridgeMethod;
@class WXSDKInstance;
#ifdef __cplusplus
extern "C" {
#endif
void WXPerformBlockOnBridgeThread(void (^block)(void));
#ifdef __cplusplus
}
#endif
@interface WXBridgeManager : NSObject
/**
* return instance at the top of the stack.
**/
@property (nonatomic, weak, readonly) WXSDKInstance *topInstance;
/**
* Create Instance Method
* @param instance : instance id
* @param temp : template data
* @param options : parameters
* @param data : external data
**/
- (void)createInstance:(NSString *)instance
template:(NSString *)temp
options:(NSDictionary *)options
data:(id)data;
/**
* Create Instance with opcode
* @param instance : instance id
* @param contents : opcode data
* @param options : parameters
* @param data : external data
**/
- (void)createInstance:(NSString *)instance
contents:(NSData *)contents
options:(NSDictionary *)options
data:(id)data;
/**
* @abstract return currentInstanceId
**/
- (NSArray *)getInstanceIdStack;
/**
* Destroy Instance Method
* @param instance : instance id
**/
- (void)destroyInstance:(NSString *)instance;
/**
* Trigger full GC, for dev and debug only.
**/
- (void)forceGarbageCollection;
/**
* Refresh Instance Method
* @param instance : instance id
* @param data : external data
**/
- (void)refreshInstance:(NSString *)instance data:(id)data;
/**
* Unload
**/
- (void)unload;
/**
* Update Instance State Method
* @param instance : instance id
* @param data : parameters
**/
- (void)updateState:(NSString *)instance data:(id)data;
/**
* Execute JSFramework Script
* @param script : script code
**/
- (void)executeJsFramework:(NSString *)script;
/**
* Register JS service Script
* @param name : service name
* @param serviceScript : script code
* @param options : service options
* @param completion : completion callback
**/
- (void)registerService:(NSString *)name withService:(NSString *)serviceScript withOptions:(NSDictionary *)options completion:(void(^)(BOOL result))completion;
/**
* Register JS service Script
* @param name : service name
* @param serviceScriptUrl : script url
* @param options : service options
* @param completion : completion callback
**/
-(void)registerService:(NSString *)name withServiceUrl:(NSURL *)serviceScriptUrl withOptions:(NSDictionary *)options completion:(void(^)(BOOL result))completion;
/**
* Unregister JS service Script
* @param name : script code
**/
- (void)unregisterService:(NSString *)name;
/**
* Register Modules Method
* @param modules : module list
**/
- (void)registerModules:(NSDictionary *)modules;
/**
* Register Components Method
* @param components component list
**/
- (void)registerComponents:(NSArray* )components;
/**
* FireEvent
* @param instanceId instance id
* @param ref : node reference
* @param type : event type
* @param params : parameters in event object
* @param domChanges dom value changes, used for two-way data binding
**/
- (void)fireEvent:(NSString *)instanceId ref:(NSString *)ref type:(NSString *)type params:(NSDictionary *)params domChanges:(NSDictionary *)domChanges;
/**
* FireEvent
* @param instanceId instance id
* @param ref : node reference
* @param type : event type
* @param params : parameters in event object
* @param domChanges dom value changes, used for two-way data binding
* @param handlerArguments : arguments passed to event handler
**/
- (void)fireEvent:(NSString *)instanceId ref:(NSString *)ref type:(NSString *)type params:(NSDictionary *)params domChanges:(NSDictionary *)domChanges handlerArguments:(NSArray *)handlerArguments;
- (JSValue *)fireEventWithResult:(NSString *)instanceId ref:(NSString *)ref type:(NSString *)type params:(NSDictionary *)params domChanges:(NSDictionary *)domChanges;
/**
* componentHook
* @param instanceId : instance id
* @param componentId : compoent id
* @param type : component hook Type, such as life-cycle
* @param hookPhase : hook phase
*/
- (void)callComponentHook:(NSString*)instanceId componentId:(NSString*)componentId type:(NSString*)type hook:(NSString*)hookPhase args:(NSArray*)args competion:(void (^)(JSValue * value))complection;
/**
* callBack
*
* @param instanceId instanceId
* @param funcId funcId
* @param params params
* @param keepAlive indicate that whether this func will be reused
*/
- (void)callBack:(NSString *)instanceId funcId:(NSString *)funcId params:(id)params keepAlive:(BOOL)keepAlive;
/**
* Connect To WebSocket for devtool debug
* @param url : url to connect
**/
- (void)connectToDevToolWithUrl:(NSURL *)url;
/**
* CallBack
* @param instanceId instance id
* @param funcId : callback id
* @param params : parameters
**/
- (void)callBack:(NSString *)instanceId funcId:(NSString *)funcId params:(id)params;
/**
* Connect To WebSocket for collecting log
* @param url : url to connect
**/
- (void)connectToWebSocket:(NSURL *)url;
/**
* Log To WebSocket
* @param flag : the tag to identify
* @param message : message to output
**/
- (void)logToWebSocket:(NSString *)flag message:(NSString *)message;
/**
* Reset Environment
**/
- (void)resetEnvironment;
- (void)fireEvent:(NSString *)instanceId ref:(NSString *)ref type:(NSString *)type params:(NSDictionary *)params DEPRECATED_MSG_ATTRIBUTE("Use fireEvent:ref:type:params:domChanges: method instead.");
- (void)executeJsMethod:(WXBridgeMethod *)method DEPRECATED_MSG_ATTRIBUTE();
@end

172
ios/Runner/Headers/weexHeader/WXBridgeProtocol.h

@ -0,0 +1,172 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <JavaScriptCore/JavaScriptCore.h>
typedef NSInteger(^WXJSCallNative)(NSString *instance, NSArray *tasks, NSString *callback);
typedef NSInteger(^WXJSCallAddElement)(NSString *instanceId, NSString *parentRef, NSDictionary *elementData, NSInteger index);
typedef NSInteger(^WXJSCallCreateBody)(NSString *instanceId, NSDictionary *bodyData);
typedef NSInteger(^WXJSCallRemoveElement)(NSString *instanceId,NSString *ref);
typedef NSInteger(^WXJSCallMoveElement)(NSString *instanceId,NSString *ref,NSString *parentRef,NSInteger index);
typedef NSInteger(^WXJSCallUpdateAttrs)(NSString *instanceId,NSString *ref,NSDictionary *attrsData);
typedef NSInteger(^WXJSCallUpdateStyle)(NSString *instanceId,NSString *ref,NSDictionary *stylesData);
typedef NSInteger(^WXJSCallAddEvent)(NSString *instanceId,NSString *ref,NSString *event);
typedef NSInteger(^WXJSCallRemoveEvent)(NSString *instanceId,NSString *ref,NSString *event);
typedef NSInteger(^WXJSCallCreateFinish)(NSString *instanceId);
typedef NSInteger(^WXJSCallRefreshFinish)(NSString *instanceId);
typedef NSInteger(^WXJSCallUpdateFinish)(NSString *instanceId);
typedef NSInvocation *(^WXJSCallNativeModule)(NSString *instanceId, NSString *moduleName, NSString *methodName, NSArray *args, NSDictionary *options);
typedef void (^WXJSCallNativeComponent)(NSString *instanceId, NSString *componentRef, NSString *methodName, NSArray *args, NSDictionary *options);
@protocol WXBridgeProtocol <NSObject>
@property (nonatomic, readonly) JSValue* exception;
/**
* Executes the js framework code in javascript engine
* You can do some setup in this method
*/
- (void)executeJSFramework:(NSString *)frameworkScript;
/**
* Executes the js code in javascript engine
* You can do some setup in this method
*/
- (void)executeJavascript:(NSString *)script;
/**
* Executes global js method with specific arguments
*/
- (JSValue *)callJSMethod:(NSString *)method args:(NSArray*)args;
/**
* Reset js engine environment, called when any environment variable is changed.
*/
- (void)resetEnvironment;
@optional
/**
* Remove instance's timer.
*/
-(void)removeTimers:(NSString *)instance;
/**
* Called when garbage collection is wanted by sdk.
*/
- (void)garbageCollect;
@required
/**
* Register callback when call native tasks occur
*/
- (void)registerCallNative:(WXJSCallNative)callNative;
/**
* Register callback when addElement tasks occur
*/
- (void)registerCallAddElement:(WXJSCallAddElement)callAddElement;
/**
* Register callback when createBody tasks occur
*/
- (void)registerCallCreateBody:(WXJSCallCreateBody)callCreateBody;
/**
* Register callback when removeElement tasks occur
*/
- (void)registerCallRemoveElement:(WXJSCallRemoveElement)callRemoveElement;
/**
* Register callback when removeElement tasks occur
*/
- (void)registerCallMoveElement:(WXJSCallMoveElement)callMoveElement;
/**
* Register callback when updateAttrs tasks occur
*/
- (void)registerCallUpdateAttrs:(WXJSCallUpdateAttrs)callUpdateAttrs;
/**
* Register callback when updateStyle tasks occur
*/
- (void)registerCallUpdateStyle:(WXJSCallUpdateStyle)callUpdateStyle;
/**
* Register callback when addEvent tasks occur
*/
- (void)registerCallAddEvent:(WXJSCallAddEvent)callAddEvent;
/**
* Register callback when removeEvent tasks occur
*/
- (void)registerCallRemoveEvent:(WXJSCallRemoveEvent)callRemoveEvent;
/**
* Register callback when createFinish tasks occur
*/
- (void)registerCallCreateFinish:(WXJSCallCreateFinish)callCreateFinish;
/**
* Register callback for global js function `callNativeModule`
*/
- (void)registerCallNativeModule:(WXJSCallNativeModule)callNativeModuleBlock;
/**
* Register callback for global js function `callNativeComponent`
*/
- (void)registerCallNativeComponent:(WXJSCallNativeComponent)callNativeComponentBlock;
@optional
/**
* Register callback when refreshFinish tasks occur
*/
- (void)registerCallRefreshFinish:(WXJSCallRefreshFinish)callRefreshFinish;
/**
* Register callback when updateFinish tasks occur
*/
- (void)registerCallUpdateFinish:(WXJSCallUpdateFinish)callUpdateFinish;
/*
* Executes the specified JavaScript code, treating the specified URL as its source location.
* Evaluating a script runs any top-level code and adds function or object definitions to the briges global object.
* The sourceURL parameter is informative only; debuggers may use this URL when reporting exceptions.
@param script The JavaScript source code to evaluate.
@param sourceURL A URL to be considered as the scripts origin.
@return ReturnsThe last value generated by the script. Note that a script can result in the JavaScript value undefined.
*/
- (JSValue *)executeJavascript:(NSString *)script withSourceURL:(NSURL*)sourceURL;
@property (nonatomic, strong) NSString* weexInstanceId;
/**
set JavaScriptContext
*/
- (void)setJSContext:(JSContext*)context;
/*
* javaScript runtime context
*/
- (JSContext*)javaScriptContext;
@end

162
ios/Runner/Headers/weexHeader/WXComponent+Layout.h

@ -0,0 +1,162 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXComponent.h"
#import "WXSDKInstance.h"
#import "WXUtility.h"
#define FlexUndefined NAN
#ifdef __cplusplus
#include "layout.h"
typedef WeexCore::WXCoreFlexDirection WXCoreFlexDirection;
typedef WeexCore::WXCoreFlexWrap WXCoreFlexWrap;
typedef WeexCore::WXCoreJustifyContent WXCoreJustifyContent;
typedef WeexCore::WXCoreAlignItems WXCoreAlignItems;
typedef WeexCore::WXCoreAlignSelf WXCoreAlignSelf;
typedef WeexCore::WXCorePositionType WXCorePositionType;
typedef WeexCore::WXCoreDirection WXCoreDirection;
extern "C" {
#endif
bool flexIsUndefined(float value);
#ifdef __cplusplus
}
#endif
#ifndef __cplusplus
// Ensure that .m files can use css style enum definitions.
#include "flex_enum.h"
typedef enum WXCoreFlexDirection WXCoreFlexDirection;
typedef enum WXCoreFlexWrap WXCoreFlexWrap;
typedef enum WXCoreJustifyContent WXCoreJustifyContent;
typedef enum WXCoreAlignItems WXCoreAlignItems;
typedef enum WXCoreAlignSelf WXCoreAlignSelf;
typedef enum WXCorePositionType WXCorePositionType;
typedef enum WXCoreDirection WXCoreDirection;
#endif
@interface WXComponent ()
{
@package
#ifdef __cplusplus
WeexCore::WXCoreLayoutNode *_flexCssNode;
#endif // __cplusplus
CGRect _calculatedFrame;
CGPoint _absolutePosition;
WXPositionType _positionType;
BOOL _isLastLayoutDirectionRTL;
BOOL _isLayoutDirectionRTL;
}
/**
* @abstract Return the css node used to layout.
*
* @warning Subclasses must not override this.
*/
#ifdef __cplusplus
@property (nonatomic, readonly, assign) WeexCore::WXCoreLayoutNode *flexCssNode;
#endif
/**
* @abstract Get css style value for key. The key should be of CSS standard form.
* This method is for convenience use in C/ObjC environment. And if you want to
* retrieve all style values or in C++, you could use flexCssNode directly.
*
* Thread usage:
* This method should be invoked in component thread by WXPerformBlockOnComponentThread.
* Note that all initWithRef methods of WXComponent and its subclasses are performed in
* component thread by default. Therefore you can call this method directly in initWithRef.
*
* Supported keys:
* width, height, min-width, min-height, max-width, max-height,
* margin-(left/right/top/bottom)
* padding-(left/right/top/bottom)
* border-(left/right/top/bottom)-width
* left, right, top, bottom
* flex-grow
*/
- (float)getCssStyleValueForKey:(NSString *)key;
/**
* @abstract Get css style flex-direction. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCoreFlexDirection)getCssStyleFlexDirection;
/**
* @abstract Get css style flex-wrap. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCoreFlexWrap)getCssStyleFlexWrap;
/**
* @abstract Get css style justify-content. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCoreJustifyContent)getCssStyleJustifyContent;
/**
* @abstract Get css style align-items. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCoreAlignItems)getCssStyleAlignItems;
/**
* @abstract Get css style align-self. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCoreAlignSelf)getCssStyleAlignSelf;
/**
* @abstract Get css style position. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCorePositionType)getCssStylePositionType;
/**
* @abstract Get css layout direction. Thread usage the same as getCssStyleValueForKey.
*/
- (WXCoreDirection)getCssDirection;
/**
* @abstract Convert layout dimension value like 'left', 'width' to style value in js considering viewport and scale.
*/
- (NSString*)convertLayoutValueToStyleValue:(NSString*)valueName;
/**
* @abstract Get style width of a container(scroller like) with safe value. No NAN, No zero.
*/
- (CGFloat)safeContainerStyleWidth;
/**
* @abstract Delete css node of a subcomponent.
*/
- (void)removeSubcomponentCssNode:(WXComponent *)subcomponent;
#pragma mark - RTL
@property (nonatomic, assign, readonly) BOOL isDirectionRTL;
// Now we scrollView RTL solution is tranform
// so scrollView need tranform subviews when RTL by default
// if your component view is not scrollView but also implement RTL layout by tranform,you need return YES
- (BOOL)shouldTransformSubviewsWhenRTL;
- (void)layoutDirectionDidChanged:(BOOL)isRTL;
@end

470
ios/Runner/Headers/weexHeader/WXComponent.h

@ -0,0 +1,470 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
/**
* def : use weex_flex_engin
* ndef: use yoga
**/
#import <Foundation/Foundation.h>
#import "WXType.h"
@class WXSDKInstance;
typedef enum : NSUInteger {
WXDisplayTypeNone,
WXDisplayTypeBlock
} WXDisplayType;
/**
* @abstract the component callback , result can be string or dictionary.
* @discussion callback data to js, the id of callback function will be removed to save memory.
*/
typedef void (^WXCallback)(_Nonnull id result);
// DEPRECATED_MSG_ATTRIBUTE("use WXKeepAliveCallback, you can specify keep the callback or not, if keeped, it can be called multi times, or it will be removed after called.")
/**
* @abstract the component callback , result can be string or dictionary.
* @discussion callback data to js, you can specify the keepAlive parameter to keep callback function id keepalive or not. If the keepAlive is true, it won't be removed unitl instance destroyed, so you can call it repetitious.
*/
typedef void (^WXKeepAliveCallback)(_Nonnull id result, BOOL keepAlive);
NS_ASSUME_NONNULL_BEGIN
@interface WXComponent : NSObject <NSCopying>
///--------------------------------------
/// @name Component Hierarchy Management
///--------------------------------------
/**
* @abstract Initializes a new component using the specified properties.
*
* @param ref the identity string of component
* @param type component type
* @param styles component's styles
* @param attributes component's attributes
* @param events component's events
* @param weexInstance the weexInstance with which the component associated
*
* @return A WXComponent instance.
*/
- (instancetype)initWithRef:(NSString *)ref
type:(NSString*)type
styles:(nullable NSDictionary *)styles
attributes:(nullable NSDictionary *)attributes
events:(nullable NSArray *)events
weexInstance:(WXSDKInstance *)weexInstance;
/**
* @abstract The component's identifier string.
*/
@property (nonatomic, readonly, strong) NSString *ref;
/**
* @abstract The component's type string.
*/
@property (nonatomic, readonly, copy) NSString *type;
/**
* @abstract The component's type.
*/
@property (nonatomic, assign) WXComponentType componentType;
/**
* @abstract The component's styles.
*/
@property (nonatomic, readonly, strong) NSDictionary *styles;
/**
* @abstract The component's pseudoClassStyles.
*/
@property (nonatomic, readonly, strong) NSDictionary *pseudoClassStyles;
/**
* @abstract The component's attributes.
*/
@property (nonatomic, readonly, strong) NSDictionary *attributes;
/**
* @abstract The component's events.
*/
@property (nonatomic, readonly, strong) NSArray *events;
/**
* @abstract The reference to
*/
@property (nonatomic, readonly, weak, nullable) WXSDKInstance *weexInstance;
/**
* @abstract The component's subcomponents.
*/
@property (nonatomic, readonly, strong, nullable) NSArray<WXComponent *> *subcomponents;
/**
* @abstract The component's supercomponent.
*/
@property (nonatomic, readonly, weak, nullable) WXComponent *supercomponent;
///--------------------------------------
/// @name Layout
///--------------------------------------
/**
* @abstract Return the calculated frame.
*
* @warning Subclasses must not override this.
*/
@property(nonatomic, readonly, assign) CGRect calculatedFrame;
/**
* @abstract Tell if component's view frame will keep synchronized with calculatedFrame.
* Default Value is YES.
*/
@property(nonatomic, assign) BOOL isViewFrameSyncWithCalculated;
///**
// * @abstract Return the calculated absolute position.
// *
// * @warning Subclasses must not override this.
// */
//@property(nonatomic, assign) CGPoint absolutePosition;
/**
* @abstract Invalidates the component's layout and marks it as needing an update.
*
* @discussion You can call this method to indicate that the layout of a component has changed and must be updated. Weex typically calls this method automatically when the layout-related styles change or when subcomponents are added or removed.
*
*/
- (void)setNeedsLayout;
/**
* @abstract Returns a Boolean indicating whether the component has been marked as needing a layout update.
*
* @return YES if the component has been marked as requiring a layout update.
*
*/
- (BOOL)needsLayout;
/**
* @abstract return a measure block for measure component's layout
*
* constrainedSize: The maximum size the receiver should fit in.
*
* @return A block which will ask the component to measure and return the size that best fits for a constrained size.
*
* @discussion Subclasses can override this method to perform their own layout behaviour. Weex will use the returned block to measure the component's layout, ignoring its own layout mechanism.
*
*/
- (nullable CGSize (^)(CGSize constrainedSize))measureBlock;
/**
* @abstract Called on main thread when the component has just laid out.
*/
- (void)layoutDidFinish;
/**
* @abstract Update component's CSS style values for external components.
* Could be called in any thread and will be scheduled to component thread.
*/
- (void)updateLayoutStyles:(NSDictionary*)styles;
///--------------------------------------
/// @name View Management
///--------------------------------------
/**
* @abstract The view that the component manages.
*
* @discussion If you access this property and its value is currently nil, the component automatically calls the loadView method and returns the resulting view.
*
* @warning It must be on accessed on the main thread.Subclasses must not override this;
*/
@property(nonatomic, readonly, strong) UIView *view;
/**
* @abstract The layer that the component manages.
*
* @discussion The layer property is also lazily initialized, similar to the view property.
*
* @warning It must be on accessed on the main thread. Subclasses must not override this;
*/
@property(nonatomic, readonly, strong) CALayer *layer;
/**
* @abstract Creates the view that the component manages.
*
* @return View to be created
*
* @discussion This method loads or creates a view and assigns it to the view property. This is where subclasses should create their custom view hierarchy. Should never be called directly.The method is called on the main thread.
*
* @warning Your custom implementation of this method should not call super
*/
- (UIView *)loadView;
/**
* @abstract Returns a Boolean value indicating whether the view is currently loaded.
*/
- (BOOL)isViewLoaded;
/**
* @abstract Called before the load of component'€™s view .
*
* @discussion This is before -loadView. The method is called on the main thread.
*/
- (void)viewWillLoad;
/**
* @abstract Called after the component'€™s view is loaded and set.
*
* @discussion This is after -loadView. This is the best time to perform additional initialization like adding gesture recognizers to the view.The method is called on the main thread.
*/
- (void)viewDidLoad;
/**
* @abstract Called just before releasing the component'€™s view.The method is called on the main thread.
*/
- (void)viewWillUnload;
/**
* @abstract Called when the component'€™s view is released.The method is called on the main thread.
*/
- (void)viewDidUnload;
/**
* @abstract Inserts a subview at the specified index.
*
* @param subcomponent The subcomponent whose view will be inserted in the component's view.
* @param index The index in the array of the subcomponents property at which to insert the view. subcomponent indices start at 0 and cannot be greater than the number of subcomponents.
*
* @discussion This will insert subcomponent's view to the view hierachy by default, it can be overrided to change the view hierachy. The method is called on the main thread.
*/
- (void)insertSubview:(WXComponent *)subcomponent atIndex:(NSInteger)index;
/**
* @abstract Tells the component that a subcomponent's view is about to be removed.
*
* @discussion The method is called on the main thread.
*/
- (void)willRemoveSubview:(WXComponent *)component;
/**
* @abstract Remove the component's view from its superview.
*
* @discussion The method is called on the main thread.
*/
- (void)removeFromSuperview;
/**
* @abstract Moves the subview to a new super component in the scene. The node maintains its current position in scene coordinates.
*
* @param newSupercomponent An WXComponent object to move the component to
* @param index The index in the array of the subcomponents property at which to insert the view. subcomponent indices start at 0 and cannot be greater than the number of subcomponents.
*/
- (void)moveToSuperview:(WXComponent *)newSupercomponent atIndex:(NSUInteger)index;
///--------------------------------------
/// @name Events
///--------------------------------------
/**
* @abstract Fire an event to the component in Javascript.
*
* @param eventName The name of the event to fire
* @param params The parameters to fire with
**/
- (void)fireEvent:(NSString *)eventName params:(nullable NSDictionary *)params;
/**
* @abstract Fire an event to the component and tell Javascript which value has been changed.
* Used for two-way data binding.
*
* @param eventName The name of the event to fire
* @param params The parameters to fire with
* @param domChanges The values has been changed, used for two-way data binding.
**/
- (void)fireEvent:(NSString *)eventName params:(nullable NSDictionary *)params domChanges:(nullable NSDictionary *)domChanges;
///--------------------------------------
/// @name Updating
///--------------------------------------
/**
* @abstract Called when component's style are updated
*
* @param styles The updated style dictionary
* @discussion It can be overrided to handle specific style updating. The method is called on the main thread.
**/
- (void)updateStyles:(NSDictionary *)styles;
/**
* @abstract Called when component's style are reset
*
* @param styles The reset style's elements
* @discussion It can be overrided to handle specific style reseting. The method is called on the main thread.
**/
- (void)resetStyles:(NSArray *)styles;
/**
* @abstract Called when component's attributes are updated
*
* @param attributes The updated attributes dictionary
* @discussion It can be overrided to handle specific attribute updating. The method is called on the main thread.
**/
- (void)updateAttributes:(NSDictionary *)attributes;
/**
* @abstract Called when adding an event to the component
*
* @param eventName The added event's name
* @discussion It can be overrided to handle specific event adding. The method is called on the main thread.
**/
- (void)addEvent:(NSString *)eventName;
/**
* @abstract Called when removing an event from the component
*
* @param eventName The removed event's name
* @discussion It can be overrided to handle specific event removing. The method is called on the main thread.
**/
- (void)removeEvent:(NSString *)eventName;
/**
* @abstract Update component's transform with native transform struct
**/
- (void)setNativeTransform:(CGAffineTransform)transform;
///--------------------------------------
/// @name Display
///--------------------------------------
@property (nonatomic, assign) WXDisplayType displayType;
/**
* @abstract Marks the view as needing display. The method should be called on the main thread.
* @discussion You can use this method to notify the system that your component's contents need to be redrawn. This method makes a note of the request and returns immediately. The component is not actually redrawn until the next drawing cycle, at which point all invalidated components are updated.
*
*/
- (void)setNeedsDisplay;
/**
* @abstract Returns a Boolean indicating whether the component needs to be drawn by `drawRect:`
*/
- (BOOL)needsDrawRect;
/**
* @abstract Draws the components image within the passed-in rectangle.
* @parameter rect The rectangle which is the entire visible bounds of your component.
* @return A UIImage containing the contents of the current bitmap graphics context.
* @discussion
* Subclasses that use technologies such as Core Graphics and UIKit to draw their own components content should override this method and implement their drawing code there. You do not need to override this method if your component sets its content in superclass's way.
* By the time this method is called, UIKit has configured the drawing environment appropriately for your view and you can simply call whatever drawing methods and functions you need to render your content. Specifically, Weex creates and configures a graphics context for drawing and adjusts the transform of that context so that its origin matches the origin of your componentss bounds rectangle. You can get a reference to the graphics context using the `UIGraphicsGetCurrentContext` function, but do not establish a strong reference to the graphics context because it can change between calls to the drawRect: method.
* If you already have an image that represents the content of the component, then you should just return the image and do no drawing, otherwise you should draw your content in the current context and return nil.
* You should never call this method directly yourself. To invalidate part of your component's content, and thus cause that portion to be redrawn, call the `setNeedsDisplay` method instead.
*/
- (UIImage *)drawRect:(CGRect)rect;
/**
* @abstract Called when a component finishes drawing its content.
* @discussion Do not call this method directly. Weex calls this method at appropriate times to finish updating the component's content.
* Subclasses can override this method to perform additional work on components that were rendered.
*/
- (void)didFinishDrawingLayer:(BOOL)success;
/**
* readyToRender, do not use it, will be deprecated soon
*/
- (void)readyToRender;
/**
* @abstract trigger display if you do not have a WXLayer
*/
- (void)triggerDisplay;
/**
* @abstract Creates a graphics context with the specified bounds, the context will be used for `drawRect:` in compositing environment
* @discussion You can override this method to use your own graphics context.
*/
- (CGContextRef)beginDrawContext:(CGRect)bounds;
/**
* @abstract Removes the current graphics context and returns an image based on the contents of the current graphics context.
* @discussion You can override this method to use your own graphics context. The image will be set to layer, if your drawing system do not have layer and do not need image, returning nil is fine.
*/
- (UIImage *)endDrawContext:(CGContextRef)context;
/**
* @abstract Return a shapelayer when compoent need border radius.Especially video components
*
* @discussion You can add this shadelayer to your view.layer attached to component.
*
*/
- (CAShapeLayer *)drawBorderRadiusMaskLayer:(CGRect)rect;
///--------------------------------------
/// @name Data Binding
///--------------------------------------
/**
* @abstract Update binding data for the component
* @parameter binding data to update
*/
- (void)updateBindingData:(NSDictionary *)data;
@end
@interface WXComponent (Deprecated)
typedef UIImage * _Nonnull(^WXDisplayBlock)(CGRect bounds, BOOL(^isCancelled)(void));
typedef void(^WXDisplayCompletionBlock)(CALayer *layer, BOOL finished);
/**
* @abstract Return a block to be called to draw layer.
*
* @discussion The block returned will be called on any thread.
*
*/
- (WXDisplayBlock)displayBlock DEPRECATED_MSG_ATTRIBUTE("use drawRect: method instead.");
/**
* @abstract Return a block to be called while drawing is finished.
*
* @discussion The block returned will be called on main thread.
*
*/
- (WXDisplayCompletionBlock)displayCompletionBlock DEPRECATED_MSG_ATTRIBUTE("use didFinishDrawingLayer: method instead.");
@end
@interface UIView (WXComponent)
@property (nonatomic, weak) WXComponent *wx_component;
@property (nonatomic, weak) NSString *wx_ref;
@end
@interface CALayer (WXComponent)
@property (nonatomic, weak) WXComponent *wx_component;
@end
NS_ASSUME_NONNULL_END

279
ios/Runner/Headers/weexHeader/WXComponentManager.h

@ -0,0 +1,279 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <CoreGraphics/CoreGraphics.h>
#import <Foundation/Foundation.h>
#import "WXDisplayLinkManager.h"
@class WXBridgeMethod;
@class WXSDKInstance;
@class WXComponent;
#ifdef __cplusplus
extern "C" {
#endif
void WXPerformBlockOnComponentThread(void (^block)(void));
void WXPerformBlockSyncOnComponentThread(void (^block)(void));
#ifdef __cplusplus
}
#endif
@interface WXComponentManager : NSObject <WXDisplayLinkClient>
@property (nonatomic, readonly, weak) WXSDKInstance *weexInstance;
@property (nonatomic, readonly, assign) BOOL isValid;
/**
* @abstract initialize with weex instance
**/
- (instancetype)initWithWeexInstance:(WXSDKInstance *)weexInstance;
/**
* @abstract return the component thread
**/
+ (NSThread *)componentThread;
/**
* @abstract starting component tasks
**/
- (void)startComponentTasks;
/**
* @abstract tell the component manager that instance root view's frame has been changed
**/
- (void)rootViewFrameDidChange:(CGRect)frame;
///--------------------------------------
/// @name Component Tree Building
///--------------------------------------
/**
* @abstract create root component
**/
- (void)createBody:(NSString*)ref
type:(NSString*)type
styles:(NSDictionary*)styles
attributes:(NSDictionary*)attributes
events:(NSArray*)events
renderObject:(void*)renderObject;
/**
* @abstract add a component to its parent
**/
- (void)addComponent:(NSString*)ref
type:(NSString*)type
parentRef:(NSString*)parentRef
styles:(NSDictionary*)styles
attributes:(NSDictionary*)attributes
events:(NSArray*)events
index:(NSInteger)index
renderObject:(void*)renderObject;
/**
* @abstract move component
**/
- (void)moveComponent:(NSString *)ref toSuper:(NSString *)superRef atIndex:(NSInteger)index;
/**
* @abstract remove component
**/
- (void)removeComponent:(NSString *)ref;
/**
* @abstract notify that a component tree is built and trigger layout,
may be called several times rendering a page.
**/
- (void)appendTreeCreateFinish:(NSString*)ref;
/**
* @abstract return component for specific ref, must be called on component thread by calling WXPerformBlockOnComponentThread
*/
- (WXComponent *)componentForRef:(NSString *)ref;
/**
* @abstract return root component
*/
- (WXComponent *)componentForRoot;
/**
* @abstract number of components created, must be called on component thread by calling WXPerformBlockOnComponentThread
*/
- (NSUInteger)numberOfComponents;
/**
* @abstract add an existing component to references look-up map
*/
- (void)addComponent:(WXComponent *)component toIndexDictForRef:(NSString *)ref;
///--------------------------------------
/// @name Updating
///--------------------------------------
/**
* @abstract update styles
**/
- (void)updateStyles:(NSDictionary *)styles forComponent:(NSString *)ref;
/**
* @abstract update pseudo class styles
**/
- (void)updatePseudoClassStyles:(NSDictionary *)styles forComponent:(NSString *)ref;
/**
* @abstract update attributes
**/
- (void)updateAttributes:(NSDictionary *)attributes forComponent:(NSString *)ref;
/**
* @abstract quick check that if a component has non transition properties
**/
- (BOOL)isTransitionNoneOfComponent:(NSString*)ref; // for quick access
/**
* @abstract check if component with @ref has any style in @styles which is animated
**/
- (BOOL)hasTransitionPropertyInStyles:(NSDictionary*)styles forComponent:(NSString*)ref;
/**
* @abstract layout a component with frame output by weex core layout engine
**/
- (void)layoutComponent:(WXComponent*)component frame:(CGRect)frame isRTL:(BOOL)isRTL innerMainSize:(CGFloat)innerMainSize;
/**
* @abstract layout a component on platform side
**/
- (void)layoutComponent:(WXComponent*)component;
/**
* @abstract add event
**/
- (void)addEvent:(NSString *)event toComponent:(NSString *)ref;
/**
* @abstract remove event
**/
- (void)removeEvent:(NSString *)event fromComponent:(NSString *)ref;
/**
* @abstract scroll to specific component
**/
- (void)scrollToComponent:(NSString *)ref options:(NSDictionary *)options;
///--------------------------------------
/// @name Life Cycle
///--------------------------------------
/**
* @abstract called when all doms are created
**/
- (void)createFinish;
/**
* @abstract called when all doms are refreshed
**/
- (void)refreshFinish;
/**
* @abstract called when all doms are updated
**/
- (void)updateFinish;
/**
* @abstract called when all doms are created and layout finished
**/
- (void)renderFinish;
/**
* @abstract called when render failed
**/
- (void)renderFailed:(NSError *)error;
/**
* @abstract unload
**/
- (void)unload;
/**
* @abstract invalidate component management, this can be called on main thread.
**/
- (void)invalidate;
///--------------------------------------
/// @name Fixed
///--------------------------------------
/**
* @abstract add a component which has a fixed position
*
* @param fixComponent the fixed component to add
*/
- (void)addFixedComponent:(WXComponent *)fixComponent;
/**
* @abstract remove a component which has a fixed position
*
* @param fixComponent the fixed component to remove
*/
- (void)removeFixedComponent:(WXComponent *)fixComponent;
/**
* @abstract add a task to UI thread
**/
- (void)_addUITask:(void (^)(void))block;
/**
* @abstract execute a task to UI thread
**/
- (void)executePrerenderUITask:(NSString *)url;
/**
* @param styles a NSDictionary value, styles which will resolve
* @param component a WXComponent value, the target which you want to resolve
* @param isUpdateStyles a BOOL value, YES will udpate the component style property, NO will notifiy the lifeStyle of compoenent to handle, default value is NO.
* @abstract handleStyle will be add to a queue to be executed every frame, but handleStyleOnMainThread will switch to main thread and execute imediately, you can call this for your execution time sequence.
*/
- (void)handleStyleOnMainThread:(NSDictionary*)styles forComponent:(WXComponent *)component isUpdateStyles:(BOOL)isUpdateStyles;
///--------------------------------------
/// @name Enumerating
///--------------------------------------
/**
* Enumerate components using breadth-first search algorithm,
must be called on component thread by calling WXPerformBlockOnComponentThread
*/
- (void)enumerateComponentsUsingBlock:(void (^)(WXComponent *, BOOL *stop))block;
#pragma mark batch mark
/**
a start native batch tag for a group of UI operations, company with performBatchEnd
@see performBatchEnd
*/
- (void)performBatchBegin;
/**
an end native batch tag for a group of UI operations, company with performBatchBegin
@see performBatchBegin
*/
- (void)performBatchEnd;
@end

39
ios/Runner/Headers/weexHeader/WXConfigCenterProtocol.h

@ -0,0 +1,39 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
@protocol WXConfigCenterProtocol <NSObject>
/**
get config from config center handler
@param key the key for config
@param defaultValue default value for key if the key does not exist.
@param isDefault whether the value is default value
@return the value for config key
*/
- (id)configForKey:(NSString*)key defaultValue:(id)defaultValue isDefault:(BOOL*)isDefault;
@optional
/**
get group config from config center handler
@param group the groupName for config
*/
- (id)configForGroup:(NSString*)group;
@end

104
ios/Runner/Headers/weexHeader/WXConvert.h

@ -0,0 +1,104 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <UIKit/UIKit.h>
#import <objc/runtime.h>
#import "WXType.h"
@class WXLength;
@class WXBoxShadow;
@interface WXConvert : NSObject
+ (BOOL)BOOL:(id)value;
/**
* @abstract convert value to CGFloat value
* @param value value
* @return CGFloat value
*/
+ (CGFloat)CGFloat:(id)value;
/**
* @abstract convert value to CGFloat value, notice that it will return nan if input value is unsupported
* @param value value
* @return CGFloat value or nan(unsupported input)
*/
+ (CGFloat)flexCGFloat:(id)value;
+ (NSUInteger)NSUInteger:(id)value;
+ (NSInteger)NSInteger:(id)value;
+ (NSString *)NSString:(id)value;
/**
* 750px Adaptive
*/
typedef CGFloat WXPixelType;
// @parameter scaleFactor: please use weexInstance's pixelScaleFactor property
+ (WXPixelType)WXPixelType:(id)value scaleFactor:(CGFloat)scaleFactor;
// WXPixelType that use flexCGFloat to convert
+ (WXPixelType)WXFlexPixelType:(id)value scaleFactor:(CGFloat)scaleFactor;
+ (UIViewContentMode)UIViewContentMode:(id)value;
+ (WXImageQuality)WXImageQuality:(id)value;
+ (WXImageSharp)WXImageSharp:(id)value;
+ (UIAccessibilityTraits)WXUIAccessibilityTraits:(id)value;
+ (UIColor *)UIColor:(id)value;
+ (CGColorRef)CGColor:(id)value;
+ (NSString *)HexWithColor:(UIColor *)color;
+ (WXBorderStyle)WXBorderStyle:(id)value;
typedef BOOL WXClipType;
+ (WXClipType)WXClipType:(id)value;
+ (WXPositionType)WXPositionType:(id)value;
+ (WXTextStyle)WXTextStyle:(id)value;
/**
* @abstract UIFontWeightRegular ,UIFontWeightBold,etc are not support by the system which is less than 8.2. weex sdk set the float value.
*
* @param value support normal,blod,100,200,300,400,500,600,700,800,900
*
* @return A float value.
*
*/
+ (CGFloat)WXTextWeight:(id)value;
+ (WXTextDecoration)WXTextDecoration:(id)value;
+ (NSTextAlignment)NSTextAlignment:(id)value;
+ (UIReturnKeyType)UIReturnKeyType:(id)value;
+ (WXScrollDirection)WXScrollDirection:(id)value;
+ (UITableViewRowAnimation)UITableViewRowAnimation:(id)value;
+ (UIViewAnimationOptions)UIViewAnimationTimingFunction:(id)value;
+ (CAMediaTimingFunction *)CAMediaTimingFunction:(id)value;
+ (WXVisibility)WXVisibility:(id)value;
+ (WXGradientType)gradientType:(id)value;
+ (WXLength *)WXLength:(id)value isFloat:(BOOL)isFloat scaleFactor:(CGFloat)scaleFactor;
+ (WXBoxShadow *)WXBoxShadow:(id)value scaleFactor:(CGFloat)scaleFactor;
@end
@interface WXConvert (Deprecated)
+ (WXPixelType)WXPixelType:(id)value DEPRECATED_MSG_ATTRIBUTE("Use [WXConvert WXPixelType:scaleFactor:] instead");
@end

55
ios/Runner/Headers/weexHeader/WXDebugTool.h

@ -0,0 +1,55 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import "WXModuleProtocol.h"
@interface WXDebugTool : NSObject<WXModuleProtocol>
+ (instancetype)sharedInstance;
//+ (void)showFPS;
+ (void)setDebug:(BOOL)isDebug;
+ (BOOL)isDebug;
+ (void)setDevToolDebug:(BOOL)isDevToolDebug;
+ (BOOL)isDevToolDebug;
+ (void)setReplacedBundleJS:(NSURL*)url;
+ (NSString*)getReplacedBundleJS;
+ (void)setReplacedJSFramework:(NSURL*)url;
+ (NSString*)getReplacedJSFramework;
+ (BOOL) cacheJsService: (NSString *)name withScript: (NSString *)script withOptions: (NSDictionary *) options;
+ (BOOL) removeCacheJsService: (NSString *)name;
+ (NSDictionary *) jsServiceCache;
+ (BOOL)isRemoteTracing;
+ (void)setRemoteTracing:(BOOL)isRemoteTracing;
@end

193
ios/Runner/Headers/weexHeader/WXDefine.h

@ -0,0 +1,193 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#ifndef __WX_DEFINE_H__
#define __WX_DEFINE_H__
#define WX_SDK_VERSION @"0.20.0"
#if defined(__cplusplus)
#define WX_EXTERN extern "C" __attribute__((visibility("default")))
#else
#define WX_EXTERN extern __attribute__((visibility("default")))
#endif
/*
* Concatenate preprocessor tokens a and b without expanding macro definitions
* (however, if invoked from a macro, macro arguments are expanded).
*/
#define WX_CONCAT(a, b) a ## b
/*
* Concatenate preprocessor tokens a and b after macro-expanding them.
*/
#define WX_CONCAT_WRAPPER(a, b) WX_CONCAT(a, b)
#define WX_CONCAT_TRIPLE(a, b, c) a ## b ## c
#define WX_NSSTRING_HELPER(x) #x
#define WX_NSSTRING(x) @WX_NSSTRING_HELPER(x)
#define WX_SDK_ROOT_REF @"_root"
#define WX_TEXT_FONT_SIZE (32.0 * self.weexInstance.pixelScaleFactor)
#define WX_UPDATE_CONFIG(prefix, name, configs) \
NSString *selStr = [NSString stringWithFormat:@"%@_%@", prefix, name];\
SEL selector = NSSelectorFromString(selStr);\
Class clazz = WX_COMPONENT_CLASS(_properties[@"type"]);\
if ([clazz respondsToSelector:selector]) {\
configs = ((NSArray *(*)(id, SEL))objc_msgSend)(clazz, selector);\
}\
#define WX_TYPE_KEYPATH(config, name, type, parts, vKey) \
type = [config[0] stringByAppendingString:@":"];\
NSString *keyPath = config.count > 1 ? config[1] : nil;\
if(keyPath){\
parts = [keyPath componentsSeparatedByString:@"."];\
vKey = parts.lastObject;\
parts = [parts subarrayWithRange:(NSRange){0, parts.count - 1}];\
} else {\
vKey = name;\
}
#define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0]
#define RGB_A(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
#define ScreenWidth ([[UIScreen mainScreen] bounds].size.width)
#define WX_ERROR_DOMAIN @"WXErrorDomain"
#define WX_APPLICATION_WILL_RESIGN_ACTIVE @"WXApplicationWillResignActiveEvent"
#define WX_APPLICATION_DID_BECOME_ACTIVE @"WXApplicationDidBecomeActiveEvent"
#define WX_INSTANCE_NOTIFICATION_UPDATE_STATE @"WXInstUpdateState"
#define WX_COMPONENT_NOTIFICATION_VIEW_LOADED @"WXComponentViewLoaded"
#define WX_INSTANCE_WILL_DESTROY_NOTIFICATION @"WXSDKInstanceWillDestroyNotification"
#define WX_SDKINSTANCE_WILL_RENDER @"WXSDKInstanceWillRender"
#define WX_COMPONENT_THREAD_NAME @"com.taobao.weex.component"
#define WX_BRIDGE_THREAD_NAME @"com.taobao.weex.bridge"
#define WX_FONT_DOWNLOAD_DIR [[WXUtility cacheDirectory] stringByAppendingPathComponent:[NSString stringWithFormat:@"wxdownload"]]
#define WX_EXPORT_METHOD_INTERNAL(method, token) \
+ (NSString *)WX_CONCAT_WRAPPER(token, __LINE__) { \
return NSStringFromSelector(method); \
}
#define WX_MODULE_EVENT_FIRE_NOTIFICATION @"WX_MODULE_EVENT_FIRE_NOTIFICATION"
#define WX_ICONFONT_DOWNLOAD_NOTIFICATION @"WX_ICONFONT_DOWNLOAD_FINISH_NOTIFICATION"
#define WX_INSTANCE_JSCONTEXT_CREATE_NOTIFICATION @"WX_INSTANCE_JSCONTEXT_CREATE_NOTIFICATION"
/**
* @abstract export public method
*/
#define WX_EXPORT_METHOD(method) WX_EXPORT_METHOD_INTERNAL(method,wx_export_method_)
/**
* @abstract export public method, support sync return value
* @warning the method can only be called on js thread
*/
#define WX_EXPORT_METHOD_SYNC(method) WX_EXPORT_METHOD_INTERNAL(method,wx_export_method_sync_)
/** extern "C" makes a function-name in C++ have 'C' linkage (compiler does not mangle the name)
* so that client C code can link to (i.e use) your function using a 'C' compatible header file that contains just the declaration of your function.
* http://stackoverflow.com/questions/1041866/in-c-source-what-is-the-effect-of-extern-c
*/
#ifdef __cplusplus
# define WX_EXTERN_C_BEGIN extern "C" {
# define WX_EXTERN_C_END }
#else
# define WX_EXTERN_C_BEGIN
# define WX_EXTERN_C_END
#endif
/**
* @abstract Compared with system version of current device
*
* @return YES if greater than or equal to the system verison, otherwise, NO.
*
*/
#define WX_SYS_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
/**
* @abstract Compared with system version of current device
*
* @return YES if greater than the system verison, otherwise, NO.
*
*/
#define WX_SYS_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
/**
* @abstract Compared with system version of current device
*
* @return YES if equal to the system verison, otherwise, NO.
*
*/
#define WX_SYS_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
/**
* @abstract Compared with system version of current device
*
* @return YES if less than the system verison, otherwise, NO.
*
*/
#define WX_SYS_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
/**
* @abstract Compared with system version of current device
*
* @return YES if less than or equal to the system verison, otherwise, NO.
*
*/
#define WX_SYS_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
/**
* @abstract Estimate component's type. If the type isn't equal to WXComponentTypeCommon, then return.
*/
#define WX_CHECK_COMPONENT_TYPE(type)\
do {\
if (type != WXComponentTypeCommon) {\
return;\
}\
} while (0);
#if __has_attribute(objc_requires_super)
#define WX_REQUIRES_SUPER __attribute__((objc_requires_super))
#else
#define WX_REQUIRES_SUPER
#endif
#endif
WX_EXTERN_C_BEGIN
NSString* GetWeexSDKVersion(void);
NSString* GetWeexSDKBuildTime(void);
unsigned long GetWeexSDKBuildTimestamp(void);
WX_EXTERN_C_END

48
ios/Runner/Headers/weexHeader/WXDisplayLinkManager.h

@ -0,0 +1,48 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
@protocol WXDisplayLinkClient <NSObject>
/**
* @abstract defalut is NO
**/
@property (nonatomic) BOOL suspend;
- (void)handleDisplayLink;
@end
@interface WXDisplayLinkManager : NSObject
/**
* @abstract create WXDisplayLinkManager instance
**/
+ (instancetype)sharedInstance;
/**
* @abstract add WXDisplayLinkClient to array
**/
- (void)registerDisplayClient:(id<WXDisplayLinkClient>)client;
/**
* @abstract remove WXDisplayLinkClient to array
**/
- (void)unregisterDisplayClient:(id<WXDisplayLinkClient>)client;
@end

32
ios/Runner/Headers/weexHeader/WXErrorView.h

@ -0,0 +1,32 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <UIKit/UIKit.h>
@protocol WXErrorViewDelegate <NSObject>
- (void)onclickErrorView;
@end
@interface WXErrorView : UIView
@property (nonatomic, weak) id<WXErrorViewDelegate> delegate;
@end

26
ios/Runner/Headers/weexHeader/WXEventModuleProtocol.h

@ -0,0 +1,26 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXModuleProtocol.h"
@protocol WXEventModuleProtocol<WXModuleProtocol>
- (void)openURL:(NSString *)url;
@end

29
ios/Runner/Headers/weexHeader/WXExceptionUtils.h

@ -0,0 +1,29 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import "WXJSExceptionInfo.h"
@interface WXExceptionUtils : NSObject
+ (void)commitCriticalExceptionRT:(NSString *)instanceId errCode:(NSString *)errCode function:(NSString *)function exception:(NSString *)exception extParams:(NSDictionary *)extParams;
+ (void)commitCriticalExceptionRT:(WXJSExceptionInfo*)jsExceptionInfo;
@end

47
ios/Runner/Headers/weexHeader/WXExtendCallNativeProtocol.h

@ -0,0 +1,47 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
@protocol WXExtendCallNativeProtocol <NSObject>
@required
/**
* @abstract check parameters
*
* @param parameters the checked parameters.
*
* @return YES or NO.
*
*/
+ (BOOL)checkParameters:(NSDictionary *)parameters;
/**
* @abstract excuteCallNative
*
* @param parameters the checked parameters.
*
* @return A value.
*
*/
+ (id)excuteCallNative:(NSDictionary *)parameters;
@end

94
ios/Runner/Headers/weexHeader/WXImgLoaderProtocol.h

@ -0,0 +1,94 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXModuleProtocol.h"
#import "WXType.h"
@protocol WXImageOperationProtocol <NSObject>
- (void)cancel;
@end
typedef NS_ENUM(NSInteger, WXImageLoaderCacheType) {
/**
* The image wasn't available the imageLoad caches, but was downloaded from the web.
*/
WXImageLoaderCacheTypeNone,
/**
* The image was obtained from the disk cache.
*/
WXImageLoaderCacheTypeDisk,
/**
* The image was obtained from the memory cache.
*/
WXImageLoaderCacheTypeMemory
};
@protocol WXImgLoaderProtocol <WXModuleProtocol>
/**
* @abstract Creates a image download handler with a given URL
*
* @param url The URL of the image to download
*
* @param imageFrame The frame of the image you want to set
*
* @param options : The options to be used for this download
*
* @param completedBlock : A block called once the download is completed.
* image : the image which has been download to local.
* error : the error which has happened in download.
* finished : a Boolean value indicating whether download action has finished.
*/
- (id<WXImageOperationProtocol>)downloadImageWithURL:(NSString *)url imageFrame:(CGRect)imageFrame userInfo:(NSDictionary *)options completed:(void(^)(UIImage *image, NSError *error, BOOL finished))completedBlock;
@optional
/**
* @abstract Creates a image download handler with a given URL
*
* @param imageView UIImageView to display the image
*
* @param url The URL of the image to download
*
* @param placeholder The image to be set initially, until the image request finishes.
*
* @param options : The options to be used for download operation
*
* @param progressBlock : A block called while the download start
*
* @param completedBlock : A block called once the download is completed.
* image : the image which has been download to local.
* error : the error which has happened in download.
* finished : a Boolean value indicating whether download action has finished.
*/
- (void)setImageViewWithURL:(UIImageView*)imageView
url:(NSURL *)url
placeholderImage:(UIImage *)placeholder
options:(NSDictionary*)options
progress:(void(^)(NSInteger receivedSize, NSInteger expectedSize))progressBlock
completed:(void(^)(UIImage *image, NSError *error, WXImageLoaderCacheType cacheType, NSURL *imageURL))completedBlock;
/**
* Cancel the current download image
*/
- (void)cancelCurrentImageLoad:(UIImageView*)imageView;
@end

52
ios/Runner/Headers/weexHeader/WXIndicatorComponent.h

@ -0,0 +1,52 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXComponent.h"
typedef enum
{
WXPointIndicatorAlignCenter, // point indicator align center
WXPointIndicatorAlignLeft, // point indicator align left
WXPointIndicatorAlignRight, // point indicator align right
} WXPointIndicatorAlignStyle;
@interface WXIndicatorView : UIView
@property (nonatomic, assign) NSInteger pointCount; // total count point of point indicator
@property (nonatomic, assign) NSInteger currentPoint; // current light index of point at point indicator
@property (nonatomic, strong) UIColor *pointColor; // normal point color of point indicator
@property (nonatomic, strong) UIColor *lightColor; // highlight point color of point indicator
@property (nonatomic, assign) WXPointIndicatorAlignStyle alignStyle; //align style of point indicator
@property (nonatomic, assign) CGFloat pointSize; // point size of point indicator
@property (nonatomic, assign) CGFloat pointSpace; // point space of point indicator
@end
@protocol WXIndicatorComponentDelegate <NSObject>
-(void)setIndicatorView:(WXIndicatorView *)indicatorView;
@end
@interface WXIndicatorComponent : WXComponent
@property (nonatomic, weak) id<WXIndicatorComponentDelegate> delegate;
@end

72
ios/Runner/Headers/weexHeader/WXJSExceptionInfo.h

@ -0,0 +1,72 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
@interface WXJSExceptionInfo : NSObject
/**
* instance id
*/
@property(nonatomic,strong) NSString * instanceId;
/**
* the URL where the exception occurred
*/
@property(nonatomic,strong) NSString * bundleUrl;
/**
* error code
*/
@property(nonatomic,strong) NSString * errorCode;
/**
* the function name of exception
*/
@property(nonatomic,strong) NSString * functionName;
/**
* exception detail;
*/
@property(nonatomic,strong) NSString * exception;
/**
* extend filed
*/
@property(nonatomic,strong) NSMutableDictionary * userInfo;
/**
* weex sdk version
*/
@property(nonatomic,strong, readonly) NSString * sdkVersion;
/**
* js framework verison
*/
@property(nonatomic,strong, readonly) NSString * jsfmVersion;
/**
* @abstract Initializes a WXJSException instance
* @param instanceId the id of instance
* @param bundleUrl the page URL where the exception occurred
* @param errorCode error Code
* @param exception exception detail
* @param userInfo extend field
*/
- (instancetype)initWithInstanceId:(NSString *)instanceId
bundleUrl:(NSString *)bundleUrl
errorCode:(NSString *)errorCode
functionName:(NSString *)functionName
exception:(NSString *)exception
userInfo:(NSMutableDictionary *)userInfo;
@end

42
ios/Runner/Headers/weexHeader/WXJSExceptionProtocol.h

@ -0,0 +1,42 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXJSExceptionInfo.h"
typedef WXJSExceptionInfo WXRuntimeCheckException;
@protocol WXJSExceptionProtocol <NSObject>
/**
* report js exception
*
* @param exception WXJSExceptionInfo
*/
- (void)onJSException:(WXJSExceptionInfo*) exception;
@optional
/**
* report runtime check exception, this is optional for this protocol
*/
- (void)onRuntimeCheckException:(WXRuntimeCheckException*)exception;
@end

29
ios/Runner/Headers/weexHeader/WXJSFrameworkLoadProtocol.h

@ -0,0 +1,29 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
typedef void (^WXJSFrameworkLoadBlock)(NSString *path, NSString *script);
@protocol WXJSFrameworkLoadProtocol <NSObject>
- (void)loadRaxFramework:(WXJSFrameworkLoadBlock)block;
- (void)loadPolyfillFramework:(WXJSFrameworkLoadBlock)block;
@end

24
ios/Runner/Headers/weexHeader/WXListComponent.h

@ -0,0 +1,24 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import "WXScrollerComponent.h"
@interface WXListComponent : WXScrollerComponent
@end

25
ios/Runner/Headers/weexHeader/WXModalUIModule.h

@ -0,0 +1,25 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <Foundation/Foundation.h>
#import "WXModuleProtocol.h"
@interface WXModalUIModule : NSObject <WXModuleProtocol>
@end

78
ios/Runner/Headers/weexHeader/WXModuleProtocol.h

@ -0,0 +1,78 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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
*
* 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 for the
* specific language governing permissions and limitations
* under the License.
*/
#import <UIKit/UIKit.h>
#import "WXDefine.h"
#import "WXSDKInstance.h"
#define MSG_SUCCESS @"WX_SUCCESS"
#define MSG_NO_HANDLER @"WX_NO_HANDLER"
#define MSG_NO_PERMIT @"WX_NO_PERMISSION"
#define MSG_FAILED @"WX_FAILED"
#define MSG_PARAM_ERR @"WX_PARAM_ERR"
#define MSG_EXP @"WX_EXCEPTION"
@protocol WXModuleProtocol <NSObject>
/**
* @abstract the module callback , result can be string or dictionary.
* @discussion callback data to js, the id of callback function will be removed to save memory.
*/
typedef void (^WXModuleCallback)(id result);
//DEPRECATED_MSG_ATTRIBUTE("use WXModuleKeepAliveCallback, you can specify keep the callback or not, if keeped, it can be called multi times, or it will be removed after called.")
/**
* @abstract the module callback , result can be string or dictionary.
* @discussion callback data to js, you can specify the keepAlive parameter to keep callback function id keepalive or not. If the keepAlive is true, it won't be removed until instance destroyed, so you can call it repetitious.
*/
typedef void (^WXModuleKeepAliveCallback)(id result, BOOL keepAlive);
#define WX_EXPORT_MODULE(module)
@optional
/**
* @abstract returns the execute queue for the module
*
* @return dispatch queue that module's methods will be invoked on
*
* @discussion the implementation is optional. Implement it if you want to execute module actions in the special queue.
* Default dispatch queue will be the main queue.
*
*/
- (dispatch_queue_t)targetExecuteQueue;
/**
* @abstract returns the execute thread for the module
*
* @return thread that module's methods will be invoked on
*
* @discussion the implementation is optional. If you want to execute module actions in the special thread, you can create a new one.
* If `targetExecuteQueue` is implemented, the queue returned will be respected first.
* Default is the main thread.
*
*/
- (NSThread *)targetExecuteThread;
/**
* @abstract the instance bind to this module. It helps you to get many useful properties related to the instance.
*/
@property (nonatomic, weak) WXSDKInstance *weexInstance;
@end

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save