├── .gitignore
├── CHANGELOG.md
├── LICENSE
├── README.md
├── android
├── .gitignore
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── pedia
│ └── flutterumenganalytics
│ └── FlutterUmengAnalyticsPlugin.java
├── example
├── .gitignore
├── .metadata
├── README.md
├── android.iml
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ └── pedia
│ │ │ │ └── flutterumenganalyticsexample
│ │ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ └── values
│ │ │ └── styles.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
├── flutter_umeng_analytics_example.iml
├── flutter_umeng_analytics_example_android.iml
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Runner-2
│ │ ├── DistributionSummary.plist
│ │ ├── ExportOptions.plist
│ │ ├── Packaging.log
│ │ └── Runner.ipa
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── Runner
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── main.m
├── lib
│ └── main.dart
└── pubspec.yaml
├── flutter_umeng_analytics.iml
├── flutter_umeng_analytics_android.iml
├── ios
├── .gitignore
├── Assets
│ └── .gitkeep
├── Classes
│ ├── FlutterUmengAnalyticsPlugin.h
│ └── FlutterUmengAnalyticsPlugin.m
└── flutter_umeng_analytics.podspec
├── lib
└── flutter_umeng_analytics.dart
└── pubspec.yaml
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .atom/
3 | .idea
4 | .packages
5 | .pub/
6 | build/
7 | ios/.generated/
8 | packages
9 | pubspec.lock
10 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## [0.0.1]
2 |
3 | * initial release.
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2017 Pedia
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # flutter_umeng_analytics
2 |
3 | Flutter plugin for [umeng:analytics](http://mobile.umeng.com/analytics)
4 |
5 | ## Usage
6 |
7 | ### Init
8 |
9 | ```dart
10 | import 'dart:io';
11 |
12 | if (Platform.isAndroid)
13 | UMengAnalytics.init('Android AppKey',
14 | encrypt: true, reportCrash: false);
15 | else if (Platform.isIOS)
16 | UMengAnalytics.init('iOS AppKey',
17 | encrypt: true, reportCrash: false);
18 | ```
19 |
20 | ### Log page
21 |
22 | ```dart
23 | initState() {
24 | super.initState();
25 |
26 | UMengAnalytics.beginPageView("home");
27 | }
28 |
29 | dispose() {
30 | super.dispose();
31 |
32 | UMengAnalytics.endPageView("home");
33 | }
34 |
35 | someFunction() {
36 | UMengAnalytics.logEvent("some click");
37 | }
38 | ```
39 |
40 | ## Getting Started
41 |
42 | For help getting started with Flutter, view our online
43 | [documentation](http://flutter.io/).
44 |
45 | For help on editing plugin code, view the [documentation](https://flutter.io/platform-plugins/#edit-code).
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | group 'pedia.flutterumenganalytics'
2 | version '1.0-SNAPSHOT'
3 |
4 | buildscript {
5 | repositories {
6 | google()
7 | jcenter()
8 | maven { url 'https://dl.bintray.com/umsdk/release' }
9 | }
10 |
11 | dependencies {
12 | classpath 'com.android.tools.build:gradle:3.3.2'
13 | }
14 | }
15 |
16 | rootProject.allprojects {
17 | repositories {
18 | google()
19 | jcenter()
20 | maven { url 'https://dl.bintray.com/umsdk/release' }
21 | }
22 | }
23 |
24 | apply plugin: 'com.android.library'
25 |
26 | android {
27 | compileSdkVersion 28
28 |
29 | defaultConfig {
30 | minSdkVersion 16
31 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
32 | }
33 | lintOptions {
34 | disable 'InvalidPackage'
35 | }
36 |
37 | dependencies {
38 | api 'com.umeng.umsdk:analytics:8.0.2'
39 | api 'com.umeng.umsdk:common:2.0.2'
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx1024m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Fri Jan 19 10:42:27 CST 2018
16 | systemProp.http.proxyHost=127.0.0.1
17 | systemProp.http.nonProxyHosts=10.*
18 | org.gradle.jvmargs=-Xmx1536M
19 | systemProp.http.proxyPort=1080
20 | android.useAndroidX=true
21 | android.enableJetifier=true
22 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Apr 22 14:22:24 CST 2019
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
7 |
--------------------------------------------------------------------------------
/android/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/android/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'flutter_umeng_analytics'
2 |
--------------------------------------------------------------------------------
/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/android/src/main/java/pedia/flutterumenganalytics/FlutterUmengAnalyticsPlugin.java:
--------------------------------------------------------------------------------
1 | package pedia.flutterumenganalytics;
2 |
3 | import android.app.Activity;
4 | import android.content.Context;
5 | import android.os.Build;
6 |
7 | import com.umeng.analytics.MobclickAgent;
8 | import com.umeng.commonsdk.UMConfigure;
9 |
10 | import io.flutter.plugin.common.MethodCall;
11 | import io.flutter.plugin.common.MethodChannel;
12 | import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
13 | import io.flutter.plugin.common.MethodChannel.Result;
14 | import io.flutter.plugin.common.PluginRegistry.Registrar;
15 |
16 | /**
17 | * FlutterUmengAnalyticsPlugin
18 | */
19 | public class FlutterUmengAnalyticsPlugin implements MethodCallHandler {
20 | private Activity activity;
21 |
22 | /**
23 | * Plugin registration.
24 | */
25 | public static void registerWith(Registrar registrar) {
26 | final MethodChannel channel = new MethodChannel(registrar.messenger(), "umeng_analytics_flutter");
27 | channel.setMethodCallHandler(new FlutterUmengAnalyticsPlugin(registrar.activity()));
28 | }
29 |
30 | private FlutterUmengAnalyticsPlugin(Activity activity) {
31 | this.activity = activity;
32 | }
33 |
34 | @Override
35 | public void onMethodCall(MethodCall call, Result result) {
36 | if (call.method.equals("init")) {
37 | init(call, result);
38 | } else if (call.method.equals("beginPageView")) {
39 | beginPageView(call, result);
40 | } else if (call.method.equals("endPageView")) {
41 | endPageView(call, result);
42 | } else if (call.method.equals("loginPageView")) {
43 | loginPageView(call, result);
44 | } else if (call.method.equals("eventCounts")) {
45 | eventCounts(call, result);
46 | } else {
47 | result.notImplemented();
48 | }
49 | }
50 |
51 | public void init(MethodCall call, Result result) {
52 | // 设置组件化的Log开关,参数默认为false,如需查看LOG设置为true
53 | UMConfigure.setLogEnabled(true);
54 | /**
55 | * 初始化common库 参数1:上下文,不能为空 参数2:【友盟+】Appkey名称 参数3:【友盟+】Channel名称
56 | * 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机
57 | * 参数5:Push推送业务的secret
58 | */
59 | UMConfigure.init(activity, (String) call.argument("key"), "Umeng", UMConfigure.DEVICE_TYPE_PHONE, null);
60 | // 设置日志加密 参数:boolean 默认为false(不加密)
61 | UMConfigure.setEncryptEnabled((Boolean) call.argument("encrypt"));
62 |
63 | double interval = call.argument("interval");
64 | if (call.argument("interval") != null) {
65 | // Session间隔时长,单位是毫秒,默认Session间隔时间是30秒,一般情况下不用修改此值
66 | MobclickAgent.setSessionContinueMillis(Double.valueOf(interval).longValue());
67 | } else {
68 | // Session间隔时长,单位是毫秒,默认Session间隔时间是30秒,一般情况下不用修改此值
69 | MobclickAgent.setSessionContinueMillis(30000L);
70 | }
71 |
72 |
73 | // true表示打开错误统计功能,false表示关闭 默认为打开
74 | MobclickAgent.setCatchUncaughtExceptions((Boolean) call.argument("reportCrash"));
75 |
76 | // 页面采集的两种模式:AUTO和MANUAL,Android 4.0及以上版本使用AUTO,4.0以下使用MANUAL
77 | int results = call.argument("mode");
78 | if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
79 | if (results == 0) {
80 | // 大于等于4.4选用AUTO页面采集模式
81 | MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
82 | }
83 | } else if (results == 1) {
84 | MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.MANUAL);
85 | }
86 | result.success(true);
87 | }
88 |
89 | // 打开页面时进行统计
90 | public void beginPageView(MethodCall call, Result result) {
91 | MobclickAgent.onPageStart((String) call.argument("name"));
92 | MobclickAgent.onResume(activity);
93 | result.success(null);
94 | }
95 |
96 | // 关闭页面时结束统计
97 | public void endPageView(MethodCall call, Result result) {
98 | MobclickAgent.onPageEnd((String) call.argument("id"));
99 | MobclickAgent.onPause(activity);
100 | result.success(null);
101 | }
102 |
103 | // 登陆统计
104 | public void loginPageView(MethodCall call, Result result) {
105 | MobclickAgent.onProfileSignIn((String) call.argument("id"));
106 | // Session间隔时长,单位是毫秒,默认Session间隔时间是30秒,一般情况下不用修改此值
107 | MobclickAgent.setSessionContinueMillis((Long) call.argument("interval"));
108 | }
109 |
110 | /**
111 | * 计数事件统计 例如:统计微博应用中”转发”事件发生的次数,那么在转发的函数里调用该函数
112 | *
113 | * @param call
114 | * @param result
115 | */
116 | public void eventCounts(MethodCall call, Result result) {
117 | /**
118 | * 参数1: context 当前宿主进程的ApplicationContext上下文 参数2: eventId 为当前统计的事件ID 参数3: label
119 | * 为事件的标签属性
120 | */
121 | MobclickAgent.onEvent((Context) activity, (String) call.argument("eventId"), (String) call.argument("label"));
122 | result.success(null);
123 | }
124 |
125 | }
126 |
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .atom/
3 | .idea
4 | .packages
5 | .pub/
6 | build/
7 | ios/.generated/
8 | packages
9 | pubspec.lock
10 | .flutter-plugins
11 |
--------------------------------------------------------------------------------
/example/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 235b64ed2fb6150ecf08bde5f08dcd450c5a96b4
8 | channel: master
9 |
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # flutter_umeng_analytics_example
2 |
3 | Demonstrates how to use the flutter_umeng_analytics plugin.
4 |
5 | ## Getting Started
6 |
7 | For help getting started with Flutter, view our online
8 | [documentation](http://flutter.io/).
9 |
--------------------------------------------------------------------------------
/example/android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | GeneratedPluginRegistrant.java
10 |
--------------------------------------------------------------------------------
/example/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withInputStream { stream ->
5 | localProperties.load(stream)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | apply plugin: 'com.android.application'
15 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
16 |
17 | android {
18 | compileSdkVersion 26
19 | buildToolsVersion '26.0.3'
20 |
21 | lintOptions {
22 | disable 'InvalidPackage'
23 | }
24 |
25 | defaultConfig {
26 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
27 | applicationId "pedia.flutterumenganalyticsexample"
28 | minSdkVersion 16
29 | targetSdkVersion 26
30 | versionCode 1
31 | versionName "1.0"
32 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
33 | }
34 |
35 | buildTypes {
36 | release {
37 | // TODO: Add your own signing config for the release build.
38 | // Signing with the debug keys for now, so `flutter run --release` works.
39 | signingConfig signingConfigs.debug
40 | }
41 | }
42 | }
43 |
44 | flutter {
45 | source '../..'
46 | }
47 |
48 | dependencies {
49 | testImplementation 'junit:junit:4.12'
50 | androidTestImplementation 'com.android.support.test:runner:1.0.1'
51 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
52 | }
53 |
--------------------------------------------------------------------------------
/example/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
8 |
9 |
10 |
15 |
19 |
26 |
30 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/example/android/app/src/main/java/pedia/flutterumenganalyticsexample/MainActivity.java:
--------------------------------------------------------------------------------
1 | package pedia.flutterumenganalyticsexample;
2 |
3 | import android.os.Bundle;
4 | import io.flutter.app.FlutterActivity;
5 | import io.flutter.plugins.GeneratedPluginRegistrant;
6 |
7 | public class MainActivity extends FlutterActivity {
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | GeneratedPluginRegistrant.registerWith(this);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/example/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/example/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | jcenter()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:3.0.1'
9 | }
10 | }
11 |
12 | allprojects {
13 | repositories {
14 | google()
15 | jcenter()
16 | }
17 | }
18 |
19 | rootProject.buildDir = '../build'
20 | subprojects {
21 | project.buildDir = "${rootProject.buildDir}/${project.name}"
22 | project.evaluationDependsOn(':app')
23 | }
24 |
25 | task clean(type: Delete) {
26 | delete rootProject.buildDir
27 | }
28 |
--------------------------------------------------------------------------------
/example/android/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx1024m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Fri Jan 19 11:22:42 CST 2018
16 | systemProp.http.proxyHost=127.0.0.1
17 | systemProp.http.nonProxyHosts=10.*
18 | org.gradle.jvmargs=-Xmx1536M
19 | systemProp.http.proxyPort=1080
20 |
--------------------------------------------------------------------------------
/example/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/example/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
7 |
--------------------------------------------------------------------------------
/example/android/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/example/android/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/example/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
4 |
5 | def plugins = new Properties()
6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
7 | if (pluginsFile.exists()) {
8 | pluginsFile.withInputStream { stream -> plugins.load(stream) }
9 | }
10 |
11 | plugins.each { name, path ->
12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
13 | include ":$name"
14 | project(":$name").projectDir = pluginDirectory
15 | }
16 |
--------------------------------------------------------------------------------
/example/flutter_umeng_analytics_example.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/example/flutter_umeng_analytics_example_android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .vagrant/
3 | .sconsign.dblite
4 | .svn/
5 |
6 | .DS_Store
7 | *.swp
8 | profile
9 |
10 | DerivedData/
11 | build/
12 | GeneratedPluginRegistrant.h
13 | GeneratedPluginRegistrant.m
14 |
15 | *.pbxuser
16 | *.mode1v3
17 | *.mode2v3
18 | *.perspectivev3
19 |
20 | !default.pbxuser
21 | !default.mode1v3
22 | !default.mode2v3
23 | !default.perspectivev3
24 |
25 | xcuserdata
26 |
27 | *.moved-aside
28 |
29 | *.pyc
30 | *sync/
31 | Icon?
32 | .tags*
33 |
34 | /Flutter/app.flx
35 | /Flutter/app.zip
36 | /Flutter/App.framework
37 | /Flutter/Flutter.framework
38 | /Flutter/Generated.xcconfig
39 | /ServiceDefinitions.json
40 |
41 | Pods/
42 |
--------------------------------------------------------------------------------
/example/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | UIRequiredDeviceCapabilities
24 |
25 | arm64
26 |
27 | MinimumOSVersion
28 | 8.0
29 |
30 |
31 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/example/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | if ENV['FLUTTER_FRAMEWORK_DIR'] == nil
5 | abort('Please set FLUTTER_FRAMEWORK_DIR to the directory containing Flutter.framework')
6 | end
7 |
8 | target 'Runner' do
9 | # Pods for Runner
10 |
11 | # Flutter Pods
12 | pod 'Flutter', :path => ENV['FLUTTER_FRAMEWORK_DIR']
13 |
14 | if File.exists? '../.flutter-plugins'
15 | flutter_root = File.expand_path('..')
16 | File.foreach('../.flutter-plugins') { |line|
17 | plugin = line.split(pattern='=')
18 | if plugin.length == 2
19 | name = plugin[0].strip()
20 | path = plugin[1].strip()
21 | resolved_path = File.expand_path("#{path}/ios", flutter_root)
22 | pod name, :path => resolved_path
23 | else
24 | puts "Invalid plugin specification: #{line}"
25 | end
26 | }
27 | end
28 | end
29 |
30 | post_install do |installer|
31 | installer.pods_project.targets.each do |target|
32 | target.build_configurations.each do |config|
33 | config.build_settings['ENABLE_BITCODE'] = 'NO'
34 | end
35 | end
36 | end
37 |
--------------------------------------------------------------------------------
/example/ios/Runner-2/DistributionSummary.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Runner.ipa
6 |
7 |
8 | architectures
9 |
10 | arm64
11 |
12 | certificate
13 |
14 | SHA1
15 | 3662617ED2C80C5D8D8882078777641619470285
16 | dateExpires
17 | 17/5/2018
18 | type
19 | iOS Distribution
20 |
21 | embeddedBinaries
22 |
23 |
24 | architectures
25 |
26 | arm64
27 |
28 | certificate
29 |
30 | SHA1
31 | 3662617ED2C80C5D8D8882078777641619470285
32 | dateExpires
33 | 17/5/2018
34 | type
35 | iOS Distribution
36 |
37 | name
38 | App.framework
39 | symbols
40 |
41 | team
42 |
43 | id
44 | 6552Q2S52G
45 | name
46 | Chengyu Ji
47 |
48 |
49 |
50 | architectures
51 |
52 | arm64
53 |
54 | certificate
55 |
56 | SHA1
57 | 3662617ED2C80C5D8D8882078777641619470285
58 | dateExpires
59 | 17/5/2018
60 | type
61 | iOS Distribution
62 |
63 | name
64 | Flutter.framework
65 | symbols
66 |
67 | team
68 |
69 | id
70 | 6552Q2S52G
71 | name
72 | Chengyu Ji
73 |
74 |
75 |
76 | entitlements
77 |
78 | application-identifier
79 | 6552Q2S52G.pedia.offer
80 | beta-reports-active
81 |
82 | com.apple.developer.team-identifier
83 | 6552Q2S52G
84 | get-task-allow
85 |
86 | keychain-access-groups
87 |
88 | 6552Q2S52G.pedia.offer
89 |
90 |
91 | name
92 | Runner.app
93 | profile
94 |
95 | UUID
96 | 220aa575-d55b-424e-8037-ef76804e861d
97 | name
98 | iOS Team Store Provisioning Profile: pedia.offer
99 |
100 | symbols
101 |
102 | team
103 |
104 | id
105 | 6552Q2S52G
106 | name
107 | Chengyu Ji
108 |
109 |
110 |
111 |
112 |
113 |
--------------------------------------------------------------------------------
/example/ios/Runner-2/ExportOptions.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | method
6 | app-store
7 | signingStyle
8 | automatic
9 | stripSwiftSymbols
10 |
11 | uploadSymbols
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/example/ios/Runner-2/Packaging.log:
--------------------------------------------------------------------------------
1 | 2018-01-03 12:27:23 +0000 Initial pipeline context: ', distributionTask(resolved)='0', distributionMethod(resolved)='', team(resolved)=''>
2 | Chain (11, self inclusive):
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | 2018-01-03 12:27:23 +0000 Processing step: IDEDistributionCreateDestRootStep
16 | 2018-01-03 12:27:23 +0000 Processing step: IDEDistributionCopyItemStep
17 | 2018-01-03 12:27:23 +0000 Running /usr/bin/ditto '-V' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/Products/Applications/Runner.app' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app'
18 | 2018-01-03 12:27:23 +0000 >>> Copying /Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/Products/Applications/Runner.app
19 | 2018-01-03 12:27:23 +0000 copying file ./Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib ...
20 | 2018-01-03 12:27:23 +0000 2153 bytes for ./Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
21 | copying file ./Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib ...
22 | 2018-01-03 12:27:23 +0000 832 bytes for ./Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
23 | copying file ./Base.lproj/LaunchScreen.storyboardc/Info.plist ...
24 | 2018-01-03 12:27:24 +0000 258 bytes for ./Base.lproj/LaunchScreen.storyboardc/Info.plist
25 | 2018-01-03 12:27:24 +0000 copying file ./Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib ...
26 | 2018-01-03 12:27:24 +0000 923 bytes for ./Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib
27 | copying file ./Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib ...
28 | 2018-01-03 12:27:24 +0000 1790 bytes for ./Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
29 | copying file ./Base.lproj/Main.storyboardc/Info.plist ...
30 | 2018-01-03 12:27:24 +0000 258 bytes for ./Base.lproj/Main.storyboardc/Info.plist
31 | 2018-01-03 12:27:24 +0000 copying file ./_CodeSignature/CodeResources ...
32 | 2018-01-03 12:27:24 +0000 16567 bytes for ./_CodeSignature/CodeResources
33 | 2018-01-03 12:27:24 +0000 copying file ./Generated.xcconfig ...
34 | 2018-01-03 12:27:24 +0000 453 bytes for ./Generated.xcconfig
35 | 2018-01-03 12:27:24 +0000 copying file ./app.flx ...
36 | 2018-01-03 12:27:24 +0000 277893 bytes for ./app.flx
37 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/AssetManifest.json ...
38 | 2018-01-03 12:27:24 +0000 561 bytes for ./flutter_assets/AssetManifest.json
39 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/images/woman-teacher.png ...
40 | 2018-01-03 12:27:24 +0000 69076 bytes for ./flutter_assets/images/woman-teacher.png
41 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/images/United States of America(USA).png ...
42 | 2018-01-03 12:27:24 +0000 1101 bytes for ./flutter_assets/images/United States of America(USA).png
43 | copying file ./flutter_assets/images/Hong Kong.png ...
44 | 2018-01-03 12:27:24 +0000 1748 bytes for ./flutter_assets/images/Hong Kong.png
45 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/images/Australia.png ...
46 | 2018-01-03 12:27:24 +0000 2623 bytes for ./flutter_assets/images/Australia.png
47 | copying file ./flutter_assets/images/United Kingdom(Great Britain).png ...
48 | 2018-01-03 12:27:24 +0000 4613 bytes for ./flutter_assets/images/United Kingdom(Great Britain).png
49 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/images/New Zealand.png ...
50 | 2018-01-03 12:27:24 +0000 2182 bytes for ./flutter_assets/images/New Zealand.png
51 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/FontManifest.json ...
52 | 2018-01-03 12:27:24 +0000 289 bytes for ./flutter_assets/FontManifest.json
53 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/LICENSE ...
54 | 2018-01-03 12:27:24 +0000 938029 bytes for ./flutter_assets/LICENSE
55 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf ...
56 | 97680 bytes for ./flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
57 | copying file ./flutter_assets/fonts/MaterialIcons-Regular.ttf ...
58 | 2018-01-03 12:27:24 +0000 134640 bytes for ./flutter_assets/fonts/MaterialIcons-Regular.ttf
59 | 2018-01-03 12:27:24 +0000 copying file ./flutter_assets/data/claim.md ...
60 | 2018-01-03 12:27:24 +0000 2167 bytes for ./flutter_assets/data/claim.md
61 | copying file ./flutter_assets/data/privacy.md ...
62 | 2018-01-03 12:27:24 +0000 5606 bytes for ./flutter_assets/data/privacy.md
63 | 2018-01-03 12:27:24 +0000 copying file ./archived-expanded-entitlements.xcent ...
64 | 2018-01-03 12:27:24 +0000 360 bytes for ./archived-expanded-entitlements.xcent
65 | 2018-01-03 12:27:24 +0000 copying file ./AppIcon20x20@3x.png ...
66 | 2018-01-03 12:27:24 +0000 1883 bytes for ./AppIcon20x20@3x.png
67 | 2018-01-03 12:27:24 +0000 copying file ./Frameworks/Flutter.framework/icudtl.dat ...
68 | 2018-01-03 12:27:24 +0000 6623360 bytes for ./Frameworks/Flutter.framework/icudtl.dat
69 | 2018-01-03 12:27:24 +0000 copying file ./Frameworks/Flutter.framework/_CodeSignature/CodeResources ...
70 | 2488 bytes for ./Frameworks/Flutter.framework/_CodeSignature/CodeResources
71 | copying file ./Frameworks/Flutter.framework/Flutter ...
72 | 2018-01-03 12:27:24 +0000 12488608 bytes for ./Frameworks/Flutter.framework/Flutter
73 | copying file ./Frameworks/Flutter.framework/Info.plist ...
74 | 2018-01-03 12:27:24 +0000 867 bytes for ./Frameworks/Flutter.framework/Info.plist
75 | copying file ./Frameworks/App.framework/_CodeSignature/CodeResources ...
76 | 2202 bytes for ./Frameworks/App.framework/_CodeSignature/CodeResources
77 | copying file ./Frameworks/App.framework/App ...
78 | 2018-01-03 12:27:24 +0000 13754880 bytes for ./Frameworks/App.framework/App
79 | copying file ./Frameworks/App.framework/Info.plist ...
80 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /usr/bin/ditto exited with 0
81 |
82 | 2018-01-03 12:27:24 +0000 863 bytes for ./Frameworks/App.framework/Info.plist
83 | copying file ./Info.plist ...
84 | 1507 bytes for ./Info.plist
85 | copying file ./Runner ...
86 | 960192 bytes for ./Runner
87 | copying file ./AppIcon20x20@2x.png ...
88 | 1304 bytes for ./AppIcon20x20@2x.png
89 | copying file ./Debug.xcconfig ...
90 | 30 bytes for ./Debug.xcconfig
91 | copying file ./AppIcon29x29.png ...
92 | 1699 bytes for ./AppIcon29x29.png
93 | copying file ./AppIcon60x60@3x.png ...
94 | 13006 bytes for ./AppIcon60x60@3x.png
95 | copying file ./AppFrameworkInfo.plist ...
96 | 423 bytes for ./AppFrameworkInfo.plist
97 | copying file ./AppIcon29x29@3x.png ...
98 | 6179 bytes for ./AppIcon29x29@3x.png
99 | copying file ./PkgInfo ...
100 | 8 bytes for ./PkgInfo
101 | copying file ./Assets.car ...
102 | 253624 bytes for ./Assets.car
103 | copying file ./embedded.mobileprovision ...
104 | 10889 bytes for ./embedded.mobileprovision
105 | copying file ./AppIcon40x40@2x.png ...
106 | 5712 bytes for ./AppIcon40x40@2x.png
107 | copying file ./AppIcon40x40@3x.png ...
108 | 8668 bytes for ./AppIcon40x40@3x.png
109 | copying file ./AppIcon57x57.png ...
110 | 3829 bytes for ./AppIcon57x57.png
111 | copying file ./AppIcon57x57@2x.png ...
112 | 8300 bytes for ./AppIcon57x57@2x.png
113 | copying file ./AppIcon29x29@2x.png ...
114 | 4005 bytes for ./AppIcon29x29@2x.png
115 | copying file ./AppIcon60x60@2x.png ...
116 | 8668 bytes for ./AppIcon60x60@2x.png
117 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionEmbedProfileStep
118 |
119 | 2018-01-03 12:27:24 +0000 Skipping profile for item: '>
120 | 2018-01-03 12:27:24 +0000 Skipping profile for item: '>
121 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionItemRemovalStep
122 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionAppThinningPlistStep
123 | 2018-01-03 12:27:24 +0000 Skipping step: IDEDistributionAppThinningPlistStep because it said so
124 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionCompileBitcodeStep
125 | 2018-01-03 12:27:24 +0000 Skipping step: IDEDistributionCompileBitcodeStep because it said so
126 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionCodeSlimmingStep
127 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionCopyBCSymbolMapsStep
128 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionSymbolsStep
129 | 2018-01-03 12:27:24 +0000 Processing symbols for App.framework
130 | 2018-01-03 12:27:24 +0000 Running /usr/bin/rsync '-8aPhhE' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/App.framework' '--link-dest' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd'
131 | 2018-01-03 12:27:24 +0000 building file list ...
132 | 2018-01-03 12:27:24 +0000 0 files...
2018-01-03 12:27:24 +0000 5 files to consider
133 | 2018-01-03 12:27:24 +0000 App.framework/
134 | 2018-01-03 12:27:24 +0000 App.framework/_CodeSignature/
135 | 2018-01-03 12:27:24 +0000
136 | sent 191 bytes received 32 bytes 446.00 bytes/sec
137 | total size is 13.12M speedup is 61694.82
138 | 2018-01-03 12:27:24 +0000
139 | 2018-01-03 12:27:24 +0000
140 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
141 |
142 | 2018-01-03 12:27:24 +0000
143 | 2018-01-03 12:27:24 +0000
144 | 2018-01-03 12:27:24 +0000
145 | 2018-01-03 12:27:24 +0000
146 | 2018-01-03 12:27:24 +0000
147 | 2018-01-03 12:27:24 +0000
148 | 2018-01-03 12:27:24 +0000
149 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /usr/bin/rsync exited with 0
150 |
151 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
152 |
153 | 2018-01-03 12:27:24 +0000 Running /usr/bin/rsync '-8aPhhE' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/dSYMs/' '--link-dest' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/dSYMs/' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd'
154 | 2018-01-03 12:27:24 +0000 building file list ...
155 | 2018-01-03 12:27:24 +0000 0 files...
2018-01-03 12:27:24 +0000 7 files to consider
156 | 2018-01-03 12:27:24 +0000 ./
157 | 2018-01-03 12:27:24 +0000 Runner.app.dSYM/
158 | 2018-01-03 12:27:24 +0000 Runner.app.dSYM/Contents/
159 | Runner.app.dSYM/Contents/Resources/
160 | Runner.app.dSYM/Contents/Resources/DWARF/
161 | 2018-01-03 12:27:24 +0000
162 | sent 221 bytes received 50 bytes 542.00 bytes/sec
163 | 2018-01-03 12:27:24 +0000 total size is 1.09M speedup is 4220.22
164 | 2018-01-03 12:27:24 +0000
165 | 2018-01-03 12:27:24 +0000
166 | 2018-01-03 12:27:24 +0000
167 | 2018-01-03 12:27:24 +0000
168 | 2018-01-03 12:27:24 +0000
169 | 2018-01-03 12:27:24 +0000
170 | 2018-01-03 12:27:24 +0000
171 | 2018-01-03 12:27:24 +0000
172 | 2018-01-03 12:27:24 +0000
173 | 2018-01-03 12:27:24 +0000
174 | 2018-01-03 12:27:24 +0000
175 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
176 |
177 | 2018-01-03 12:27:24 +0000
178 | 2018-01-03 12:27:24 +0000 /usr/bin/rsync exited with 0
179 | 2018-01-03 12:27:24 +0000
180 | 2018-01-03 12:27:24 +0000
181 | 2018-01-03 12:27:24 +0000 Running /Applications/Xcode.app/Contents/Developer/usr/bin/symbols '-noTextInSOD' '-noDaemon' '-arch' 'all' '-symbolsPackageDir' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Symbols' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/App.framework/App'
182 | 2018-01-03 12:27:24 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/App.framework/App [arm64, 0.034458 seconds]:
183 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
184 |
185 | 2018-01-03 12:27:24 +0000
186 | 2018-01-03 12:27:24 +0000
187 | 2018-01-03 12:27:24 +0000
188 | 2018-01-03 12:27:24 +0000
189 | 2018-01-03 12:27:24 +0000
190 | 2018-01-03 12:27:24 +0000
191 | 2018-01-03 12:27:24 +0000
192 | 2018-01-03 12:27:24 +0000
193 | 2018-01-03 12:27:24 +0000
194 | 2018-01-03 12:27:24 +0000
195 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/symbols exited with 0
196 |
197 | 2018-01-03 12:27:24 +0000
198 | 2018-01-03 12:27:24 +0000 Processing symbols for Flutter.framework
199 | 2018-01-03 12:27:24 +0000 Running /usr/bin/rsync '-8aPhhE' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/Flutter.framework' '--link-dest' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd'
200 | 2018-01-03 12:27:24 +0000 building file list ...
201 | 2018-01-03 12:27:24 +0000 0 files...
2018-01-03 12:27:24 +0000 6 files to consider
202 | 2018-01-03 12:27:24 +0000 Flutter.framework/
203 | 2018-01-03 12:27:24 +0000 Flutter.framework/_CodeSignature/
204 | 2018-01-03 12:27:24 +0000
205 | sent 245 bytes received 32 bytes 554.00 bytes/sec
206 | 2018-01-03 12:27:24 +0000 total size is 18.23M speedup is 69008.39
207 | 2018-01-03 12:27:24 +0000
208 | 2018-01-03 12:27:24 +0000
209 | 2018-01-03 12:27:24 +0000
210 | 2018-01-03 12:27:24 +0000
211 | 2018-01-03 12:27:24 +0000
212 | 2018-01-03 12:27:24 +0000
213 | 2018-01-03 12:27:24 +0000
214 | 2018-01-03 12:27:24 +0000
215 | 2018-01-03 12:27:24 +0000
216 | 2018-01-03 12:27:24 +0000
217 | 2018-01-03 12:27:24 +0000
218 | 2018-01-03 12:27:24 +0000
219 | 2018-01-03 12:27:24 +0000
220 | 2018-01-03 12:27:24 +0000
221 | 2018-01-03 12:27:24 +0000
222 | 2018-01-03 12:27:24 +0000 /usr/bin/rsync exited with 0
223 | 2018-01-03 12:27:24 +0000
224 | 2018-01-03 12:27:24 +0000 Running /usr/bin/rsync '-8aPhhE' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/dSYMs/' '--link-dest' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/dSYMs/' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd'
225 | 2018-01-03 12:27:24 +0000 building file list ...
226 | 2018-01-03 12:27:24 +0000 0 files...
2018-01-03 12:27:24 +0000 7 files to consider
227 | 2018-01-03 12:27:24 +0000 ./
228 | 2018-01-03 12:27:24 +0000 Runner.app.dSYM/
229 | Runner.app.dSYM/Contents/
230 | Runner.app.dSYM/Contents/Resources/
231 | Runner.app.dSYM/Contents/Resources/DWARF/
232 | 2018-01-03 12:27:24 +0000
233 | sent 233 bytes received 62 bytes 590.00 bytes/sec
234 | 2018-01-03 12:27:24 +0000 total size is 1.09M speedup is 3876.88
235 | 2018-01-03 12:27:24 +0000
236 | 2018-01-03 12:27:24 +0000
237 | 2018-01-03 12:27:24 +0000
238 | 2018-01-03 12:27:24 +0000
239 | 2018-01-03 12:27:24 +0000
240 | 2018-01-03 12:27:24 +0000
241 | 2018-01-03 12:27:24 +0000
242 | 2018-01-03 12:27:24 +0000
243 | 2018-01-03 12:27:24 +0000
244 | 2018-01-03 12:27:24 +0000
245 | 2018-01-03 12:27:24 +0000
246 | 2018-01-03 12:27:24 +0000 /usr/bin/rsync exited with 0
247 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
248 |
249 | 2018-01-03 12:27:24 +0000 Running /Applications/Xcode.app/Contents/Developer/usr/bin/symbols '-noTextInSOD' '-noDaemon' '-arch' 'all' '-symbolsPackageDir' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Symbols' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Flutter.framework/Flutter'
250 | 2018-01-03 12:27:24 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Flutter.framework/Flutter [arm64, 0.122775 seconds]:
251 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
252 |
253 | 2018-01-03 12:27:24 +0000
254 | 2018-01-03 12:27:24 +0000
255 | 2018-01-03 12:27:24 +0000
256 | 2018-01-03 12:27:24 +0000
257 | 2018-01-03 12:27:24 +0000
258 | 2018-01-03 12:27:24 +0000
259 | 2018-01-03 12:27:24 +0000
260 | 2018-01-03 12:27:24 +0000
261 | 2018-01-03 12:27:24 +0000
262 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/symbols exited with 0
263 |
264 | 2018-01-03 12:27:24 +0000
265 | 2018-01-03 12:27:24 +0000 Processing symbols for Runner.app
266 | 2018-01-03 12:27:24 +0000 Running /usr/bin/rsync '-8aPhhE' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app' '--link-dest' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd'
267 | 2018-01-03 12:27:24 +0000 building file list ...
268 | 2018-01-03 12:27:24 +0000 0 files...
2018-01-03 12:27:24 +0000 65 files to consider
269 | 2018-01-03 12:27:24 +0000 Runner.app/
270 | 2018-01-03 12:27:24 +0000 Runner.app/Base.lproj/
271 | Runner.app/Base.lproj/LaunchScreen.storyboardc/
272 | Runner.app/Base.lproj/Main.storyboardc/
273 | 2018-01-03 12:27:24 +0000 Runner.app/Frameworks/
274 | Runner.app/Frameworks/App.framework/
275 | Runner.app/Frameworks/App.framework/_CodeSignature/
276 | Runner.app/Frameworks/Flutter.framework/
277 | Runner.app/Frameworks/Flutter.framework/_CodeSignature/
278 | Runner.app/_CodeSignature/
279 | Runner.app/flutter_assets/
280 | Runner.app/flutter_assets/data/
281 | Runner.app/flutter_assets/fonts/
282 | Runner.app/flutter_assets/images/
283 | Runner.app/flutter_assets/packages/
284 | Runner.app/flutter_assets/packages/cupertino_icons/
285 | Runner.app/flutter_assets/packages/cupertino_icons/assets/
286 | 2018-01-03 12:27:24 +0000
287 | sent 1.96K bytes received 122 bytes 4.17K bytes/sec
288 | total size is 34.07M speedup is 16739.26
289 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
290 |
291 | 2018-01-03 12:27:24 +0000
292 | 2018-01-03 12:27:24 +0000
293 | 2018-01-03 12:27:24 +0000
294 | 2018-01-03 12:27:24 +0000
295 | 2018-01-03 12:27:24 +0000
296 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /usr/bin/rsync exited with 0
297 | 2018-01-03 12:27:24 +0000
298 |
299 | 2018-01-03 12:27:24 +0000 Running /usr/bin/rsync '-8aPhhE' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/dSYMs/' '--link-dest' '/Users/odd/Library/Developer/Xcode/Archives/2018-01-03/Runner 3-1-2018, 8.24 PM.xcarchive/dSYMs/' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd'
300 | 2018-01-03 12:27:24 +0000 building file list ...
301 | 2018-01-03 12:27:24 +0000 0 files...
2018-01-03 12:27:24 +0000 7 files to consider
302 | 2018-01-03 12:27:24 +0000 ./
303 | 2018-01-03 12:27:24 +0000 Runner.app.dSYM/
304 | Runner.app.dSYM/Contents/
305 | Runner.app.dSYM/Contents/Resources/
306 | Runner.app.dSYM/Contents/Resources/DWARF/
307 | 2018-01-03 12:27:24 +0000
308 | sent 233 bytes received 62 bytes 590.00 bytes/sec
309 | 2018-01-03 12:27:24 +0000 total size is 1.09M speedup is 3876.88
310 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000
311 |
312 | 2018-01-03 12:27:24 +0000
313 | 2018-01-03 12:27:24 +0000
314 | 2018-01-03 12:27:24 +0000
315 | 2018-01-03 12:27:24 +0000
316 | 2018-01-03 12:27:24 +0000
317 | 2018-01-03 12:27:24 +0000
318 | 2018-01-03 12:27:24 +0000
319 | 2018-01-03 12:27:24 +0000
320 | 2018-01-03 12:27:24 +0000
321 | 2018-01-03 12:27:24 +0000
322 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /usr/bin/rsync exited with 02018-01-03 12:27:24 +0000
323 |
324 |
325 | 2018-01-03 12:27:24 +0000
326 | 2018-01-03 12:27:24 +0000 Running /Applications/Xcode.app/Contents/Developer/usr/bin/symbols '-noTextInSOD' '-noDaemon' '-arch' 'all' '-symbolsPackageDir' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Symbols' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Runner.app/Runner'
327 | 2018-01-03 12:27:24 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Runner.app/Runner [arm64, 0.032096 seconds]:
328 | 2018-01-03 12:27:24 +0000
329 | 2018-01-03 12:27:24 +0000
330 | 2018-01-03 12:27:24 +0000
331 | 2018-01-03 12:27:24 +0000
332 | 2018-01-03 12:27:24 +0000
333 | 2018-01-03 12:27:24 +0000
334 | 2018-01-03 12:27:24 +0000
335 | 2018-01-03 12:27:24 +0000
336 | 2018-01-03 12:27:24 +0000
337 | 2018-01-03 12:27:24 +0000
338 | 2018-01-03 12:27:24 +0000
339 | 2018-01-03 12:27:24 +0000
340 | 2018-01-03 12:27:24 +0000 2018-01-03 12:27:24 +0000 /Applications/Xcode.app/Contents/Developer/usr/bin/symbols exited with 0
341 |
342 | 2018-01-03 12:27:24 +0000
343 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionCopyAppleProvidedContentStep
344 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionAppThinningStep
345 | 2018-01-03 12:27:24 +0000 Skipping step: IDEDistributionAppThinningStep because it said so
346 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionODRStep
347 | 2018-01-03 12:27:24 +0000 Processing step: IDEDistributionStripXattrsStep
348 | 2018-01-03 12:27:24 +0000 Skipping stripping extended attributes of item: '>
349 | 2018-01-03 12:27:24 +0000 Skipping stripping extended attributes of item: '>
350 | 2018-01-03 12:27:24 +0000 Running /usr/bin/xattr '-crs' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app'
351 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000 /usr/bin/xattr exited with 0
352 | 2018-01-03 12:27:25 +0000
353 |
354 | 2018-01-03 12:27:25 +0000 Processing step: IDEDistributionCodesignStep
355 | 2018-01-03 12:27:25 +0000 Applying entitlements delta for '> from : {
356 | }
357 | 2018-01-03 12:27:25 +0000 Entitlements for '>: {
358 | }
359 | 2018-01-03 12:27:25 +0000 Writing entitlements for '> to: /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/entitlementsKwAlbp
360 | 2018-01-03 12:27:25 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '3662617ED2C80C5D8D8882078777641619470285' '--preserve-metadata=identifier,flags' '--entitlements' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/entitlementsKwAlbp' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/App.framework'
361 | 2018-01-03 12:27:25 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/App.framework: replacing existing signature
362 | 2018-01-03 12:27:25 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/App.framework: signed bundle with Mach-O thin (arm64) [io.flutter.flutter.app]
363 | 2018-01-03 12:27:25 +0000
364 | 2018-01-03 12:27:25 +0000
365 | 2018-01-03 12:27:25 +0000
366 | 2018-01-03 12:27:25 +0000
367 | 2018-01-03 12:27:25 +0000
368 | 2018-01-03 12:27:25 +0000
369 | 2018-01-03 12:27:25 +0000
370 | 2018-01-03 12:27:25 +0000
371 | 2018-01-03 12:27:25 +0000
372 | 2018-01-03 12:27:25 +0000
373 | 2018-01-03 12:27:25 +0000
374 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000 /usr/bin/codesign exited with 0
375 |
376 | 2018-01-03 12:27:25 +0000
377 | 2018-01-03 12:27:25 +0000 Applying entitlements delta for '> from : {
378 | }
379 | 2018-01-03 12:27:25 +0000 Entitlements for '>: {
380 | }
381 | 2018-01-03 12:27:25 +0000 Writing entitlements for '> to: /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/entitlementsvpO8Un
382 | 2018-01-03 12:27:25 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '3662617ED2C80C5D8D8882078777641619470285' '--preserve-metadata=identifier,flags' '--entitlements' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/entitlementsvpO8Un' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/Flutter.framework'
383 | 2018-01-03 12:27:25 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/Flutter.framework: replacing existing signature
384 | 2018-01-03 12:27:25 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app/Frameworks/Flutter.framework: signed bundle with Mach-O universal (arm64) [io.flutter.flutter]
385 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000
386 |
387 | 2018-01-03 12:27:25 +0000
388 | 2018-01-03 12:27:25 +0000
389 | 2018-01-03 12:27:25 +0000
390 | 2018-01-03 12:27:25 +0000
391 | 2018-01-03 12:27:25 +0000
392 | 2018-01-03 12:27:25 +0000
393 | 2018-01-03 12:27:25 +0000
394 | 2018-01-03 12:27:25 +0000
395 | 2018-01-03 12:27:25 +0000
396 | 2018-01-03 12:27:25 +0000
397 | 2018-01-03 12:27:25 +0000 /usr/bin/codesign exited with 0
398 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000
399 |
400 | 2018-01-03 12:27:25 +0000 Applying entitlements delta for '> from : {
401 | }
402 | 2018-01-03 12:27:25 +0000 Entitlements for '>: {
403 | "application-identifier" = "6552Q2S52G.pedia.offer";
404 | "beta-reports-active" = 1;
405 | "com.apple.developer.team-identifier" = 6552Q2S52G;
406 | "get-task-allow" = 0;
407 | "keychain-access-groups" = (
408 | "6552Q2S52G.pedia.offer"
409 | );
410 | }
411 | 2018-01-03 12:27:25 +0000 Writing entitlements for '> to: /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/entitlementsFPNGva
412 | 2018-01-03 12:27:25 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '3662617ED2C80C5D8D8882078777641619470285' '--preserve-metadata=identifier,flags' '--entitlements' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/entitlementsFPNGva' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app'
413 | 2018-01-03 12:27:25 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app: replacing existing signature
414 | 2018-01-03 12:27:25 +0000 /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root/Payload/Runner.app: signed app bundle with Mach-O thin (arm64) [pedia.offer]
415 | 2018-01-03 12:27:25 +0000
416 | 2018-01-03 12:27:25 +0000
417 | 2018-01-03 12:27:25 +0000
418 | 2018-01-03 12:27:25 +0000
419 | 2018-01-03 12:27:25 +0000
420 | 2018-01-03 12:27:25 +0000
421 | 2018-01-03 12:27:25 +0000
422 | 2018-01-03 12:27:25 +0000
423 | 2018-01-03 12:27:25 +0000
424 | 2018-01-03 12:27:25 +0000
425 | 2018-01-03 12:27:25 +0000
426 | 2018-01-03 12:27:25 +0000
427 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000 /usr/bin/codesign exited with 0
428 |
429 | 2018-01-03 12:27:25 +0000
430 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000 Processing step: IDEDistributionStreamingZipItemStep
431 |
432 | 2018-01-03 12:27:25 +0000 Skipping step: IDEDistributionStreamingZipItemStep because it said so
433 | 2018-01-03 12:27:25 +0000 Skipping step: IDEDistributionStreamingZipItemStep because it said so
434 | 2018-01-03 12:27:25 +0000 Skipping step: IDEDistributionStreamingZipItemStep because it said so
435 | 2018-01-03 12:27:25 +0000 Processing step: IDEDistributionCreateIPAStep
436 | 2018-01-03 12:27:25 +0000 Running /usr/bin/rsync '-8aPhhE' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Symbols' '--link-dest' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root'
437 | 2018-01-03 12:27:25 +0000 building file list ...
438 | 2018-01-03 12:27:25 +0000 0 files...
2018-01-03 12:27:25 +0000 4 files to consider
439 | 2018-01-03 12:27:25 +0000 Symbols/
440 | 2018-01-03 12:27:25 +0000
441 | sent 244 bytes received 26 bytes 540.00 bytes/sec
442 | 2018-01-03 12:27:25 +0000 total size is 4.38M speedup is 17016.09
443 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000
444 |
445 | 2018-01-03 12:27:25 +0000
446 | 2018-01-03 12:27:25 +0000
447 | 2018-01-03 12:27:25 +0000
448 | 2018-01-03 12:27:25 +0000
449 | 2018-01-03 12:27:25 +0000
450 | 2018-01-03 12:27:25 +0000
451 | 2018-01-03 12:27:25 +0000
452 | 2018-01-03 12:27:25 +0000
453 | 2018-01-03 12:27:25 +0000
454 | 2018-01-03 12:27:25 +0000
455 | 2018-01-03 12:27:25 +0000
456 | 2018-01-03 12:27:25 +0000 2018-01-03 12:27:25 +0000 /usr/bin/rsync exited with 0
457 |
458 | 2018-01-03 12:27:25 +0000
459 | 2018-01-03 12:27:25 +0000 Running /usr/bin/ditto '-V' '-c' '-k' '--norsrc' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root' '/var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Packages/Runner.ipa'
460 | 2018-01-03 12:27:25 +0000 >>> Copying /var/folders/vb/1d3369114yz78xwy_83q3wn80000gn/T/XcodeDistPipeline.6nd/Root
461 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib ...
462 | 2018-01-03 12:27:25 +0000 2153 bytes for ./Payload/Runner.app/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
463 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib ...
464 | 832 bytes for ./Payload/Runner.app/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
465 | copying file ./Payload/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist ...
466 | 2018-01-03 12:27:25 +0000 258 bytes for ./Payload/Runner.app/Base.lproj/LaunchScreen.storyboardc/Info.plist
467 | copying file ./Payload/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib ...
468 | 2018-01-03 12:27:25 +0000 923 bytes for ./Payload/Runner.app/Base.lproj/Main.storyboardc/UIViewController-BYZ-38-t0r.nib
469 | copying file ./Payload/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib ...
470 | 2018-01-03 12:27:25 +0000 1790 bytes for ./Payload/Runner.app/Base.lproj/Main.storyboardc/BYZ-38-t0r-view-8bC-Xf-vdC.nib
471 | copying file ./Payload/Runner.app/Base.lproj/Main.storyboardc/Info.plist ...
472 | 2018-01-03 12:27:25 +0000 258 bytes for ./Payload/Runner.app/Base.lproj/Main.storyboardc/Info.plist
473 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/_CodeSignature/CodeResources ...
474 | 2018-01-03 12:27:25 +0000 16567 bytes for ./Payload/Runner.app/_CodeSignature/CodeResources
475 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/Generated.xcconfig ...
476 | 453 bytes for ./Payload/Runner.app/Generated.xcconfig
477 | copying file ./Payload/Runner.app/app.flx ...
478 | 2018-01-03 12:27:25 +0000 277893 bytes for ./Payload/Runner.app/app.flx
479 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/flutter_assets/AssetManifest.json ...
480 | 2018-01-03 12:27:25 +0000 561 bytes for ./Payload/Runner.app/flutter_assets/AssetManifest.json
481 | copying file ./Payload/Runner.app/flutter_assets/images/woman-teacher.png ...
482 | 2018-01-03 12:27:25 +0000 69076 bytes for ./Payload/Runner.app/flutter_assets/images/woman-teacher.png
483 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/flutter_assets/images/United States of America(USA).png ...
484 | 1101 bytes for ./Payload/Runner.app/flutter_assets/images/United States of America(USA).png
485 | copying file ./Payload/Runner.app/flutter_assets/images/Hong Kong.png ...
486 | 2018-01-03 12:27:25 +0000 1748 bytes for ./Payload/Runner.app/flutter_assets/images/Hong Kong.png
487 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/flutter_assets/images/Australia.png ...
488 | 2018-01-03 12:27:25 +0000 2623 bytes for ./Payload/Runner.app/flutter_assets/images/Australia.png
489 | copying file ./Payload/Runner.app/flutter_assets/images/United Kingdom(Great Britain).png ...
490 | 2018-01-03 12:27:25 +0000 4613 bytes for ./Payload/Runner.app/flutter_assets/images/United Kingdom(Great Britain).png
491 | copying file ./Payload/Runner.app/flutter_assets/images/New Zealand.png ...
492 | 2018-01-03 12:27:25 +0000 2182 bytes for ./Payload/Runner.app/flutter_assets/images/New Zealand.png
493 | copying file ./Payload/Runner.app/flutter_assets/FontManifest.json ...
494 | 2018-01-03 12:27:25 +0000 289 bytes for ./Payload/Runner.app/flutter_assets/FontManifest.json
495 | copying file ./Payload/Runner.app/flutter_assets/LICENSE ...
496 | 2018-01-03 12:27:25 +0000 938029 bytes for ./Payload/Runner.app/flutter_assets/LICENSE
497 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf ...
498 | 2018-01-03 12:27:25 +0000 97680 bytes for ./Payload/Runner.app/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
499 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/flutter_assets/fonts/MaterialIcons-Regular.ttf ...
500 | 2018-01-03 12:27:25 +0000 134640 bytes for ./Payload/Runner.app/flutter_assets/fonts/MaterialIcons-Regular.ttf
501 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/flutter_assets/data/claim.md ...
502 | 2018-01-03 12:27:25 +0000 2167 bytes for ./Payload/Runner.app/flutter_assets/data/claim.md
503 | copying file ./Payload/Runner.app/flutter_assets/data/privacy.md ...
504 | 2018-01-03 12:27:25 +0000 5606 bytes for ./Payload/Runner.app/flutter_assets/data/privacy.md
505 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/archived-expanded-entitlements.xcent ...
506 | 360 bytes for ./Payload/Runner.app/archived-expanded-entitlements.xcent
507 | copying file ./Payload/Runner.app/AppIcon20x20@3x.png ...
508 | 2018-01-03 12:27:25 +0000 1883 bytes for ./Payload/Runner.app/AppIcon20x20@3x.png
509 | 2018-01-03 12:27:25 +0000 copying file ./Payload/Runner.app/Frameworks/Flutter.framework/icudtl.dat ...
510 | 2018-01-03 12:27:26 +0000 6623360 bytes for ./Payload/Runner.app/Frameworks/Flutter.framework/icudtl.dat
511 | 2018-01-03 12:27:26 +0000 copying file ./Payload/Runner.app/Frameworks/Flutter.framework/_CodeSignature/CodeResources ...
512 | 2488 bytes for ./Payload/Runner.app/Frameworks/Flutter.framework/_CodeSignature/CodeResources
513 | copying file ./Payload/Runner.app/Frameworks/Flutter.framework/Flutter ...
514 | 2018-01-03 12:27:26 +0000 12488912 bytes for ./Payload/Runner.app/Frameworks/Flutter.framework/Flutter
515 | 2018-01-03 12:27:26 +0000 copying file ./Payload/Runner.app/Frameworks/Flutter.framework/Info.plist ...
516 | 867 bytes for ./Payload/Runner.app/Frameworks/Flutter.framework/Info.plist
517 | copying file ./Payload/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources ...
518 | 2202 bytes for ./Payload/Runner.app/Frameworks/App.framework/_CodeSignature/CodeResources
519 | copying file ./Payload/Runner.app/Frameworks/App.framework/App ...
520 | 2018-01-03 12:27:27 +0000 13755184 bytes for ./Payload/Runner.app/Frameworks/App.framework/App
521 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/Frameworks/App.framework/Info.plist ...
522 | 863 bytes for ./Payload/Runner.app/Frameworks/App.framework/Info.plist
523 | copying file ./Payload/Runner.app/Info.plist ...
524 | 1507 bytes for ./Payload/Runner.app/Info.plist
525 | copying file ./Payload/Runner.app/Runner ...
526 | 2018-01-03 12:27:27 +0000 960224 bytes for ./Payload/Runner.app/Runner
527 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/AppIcon20x20@2x.png ...
528 | 1304 bytes for ./Payload/Runner.app/AppIcon20x20@2x.png
529 | copying file ./Payload/Runner.app/Debug.xcconfig ...
530 | 2018-01-03 12:27:27 +0000 30 bytes for ./Payload/Runner.app/Debug.xcconfig
531 | copying file ./Payload/Runner.app/AppIcon29x29.png ...
532 | 2018-01-03 12:27:27 +0000 1699 bytes for ./Payload/Runner.app/AppIcon29x29.png
533 | copying file ./Payload/Runner.app/AppIcon60x60@3x.png ...
534 | 2018-01-03 12:27:27 +0000 13006 bytes for ./Payload/Runner.app/AppIcon60x60@3x.png
535 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/AppFrameworkInfo.plist ...
536 | 423 bytes for ./Payload/Runner.app/AppFrameworkInfo.plist
537 | copying file ./Payload/Runner.app/AppIcon29x29@3x.png ...
538 | 2018-01-03 12:27:27 +0000 6179 bytes for ./Payload/Runner.app/AppIcon29x29@3x.png
539 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/PkgInfo ...
540 | 8 bytes for ./Payload/Runner.app/PkgInfo
541 | copying file ./Payload/Runner.app/Assets.car ...
542 | 2018-01-03 12:27:27 +0000 253624 bytes for ./Payload/Runner.app/Assets.car
543 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/embedded.mobileprovision ...
544 | 2018-01-03 12:27:27 +0000 7483 bytes for ./Payload/Runner.app/embedded.mobileprovision
545 | copying file ./Payload/Runner.app/AppIcon40x40@2x.png ...
546 | 2018-01-03 12:27:27 +0000 5712 bytes for ./Payload/Runner.app/AppIcon40x40@2x.png
547 | copying file ./Payload/Runner.app/AppIcon40x40@3x.png ...
548 | 2018-01-03 12:27:27 +0000 8668 bytes for ./Payload/Runner.app/AppIcon40x40@3x.png
549 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/AppIcon57x57.png ...
550 | 3829 bytes for ./Payload/Runner.app/AppIcon57x57.png
551 | 2018-01-03 12:27:27 +0000 copying file ./Payload/Runner.app/AppIcon57x57@2x.png ...
552 | 2018-01-03 12:27:27 +0000 8300 bytes for ./Payload/Runner.app/AppIcon57x57@2x.png
553 | copying file ./Payload/Runner.app/AppIcon29x29@2x.png ...
554 | 2018-01-03 12:27:27 +0000 4005 bytes for ./Payload/Runner.app/AppIcon29x29@2x.png
555 | copying file ./Payload/Runner.app/AppIcon60x60@2x.png ...
556 | 2018-01-03 12:27:27 +0000 8668 bytes for ./Payload/Runner.app/AppIcon60x60@2x.png
557 | 2018-01-03 12:27:27 +0000 copying file ./Symbols/8115F938-4C0A-339A-AC12-ED73CD0C617A.symbols ...
558 | 2018-01-03 12:27:27 +0000 348200 bytes for ./Symbols/8115F938-4C0A-339A-AC12-ED73CD0C617A.symbols
559 | 2018-01-03 12:27:27 +0000 copying file ./Symbols/11542E28-228C-361C-AE56-3EADB45D381B.symbols ...
560 | 2018-01-03 12:27:27 +0000 3534192 bytes for ./Symbols/11542E28-228C-361C-AE56-3EADB45D381B.symbols
561 | 2018-01-03 12:27:27 +0000 copying file ./Symbols/4A4E30C9-1063-373B-AE44-75426EB917C8.symbols ...
562 | 2018-01-03 12:27:27 +0000 711952 bytes for ./Symbols/4A4E30C9-1063-373B-AE44-75426EB917C8.symbols
563 | 2018-01-03 12:27:27 +0000 2018-01-03 12:27:27 +0000
564 |
565 | 2018-01-03 12:27:27 +0000 /usr/bin/ditto exited with 02018-01-03 12:27:27 +0000
566 |
567 | 2018-01-03 12:27:27 +0000
568 | 2018-01-03 12:27:27 +0000 Processing step: IDEDistributionCreateManifestStep
569 | 2018-01-03 12:27:27 +0000 Skipping step: IDEDistributionCreateManifestStep because it said so
570 |
--------------------------------------------------------------------------------
/example/ios/Runner-2/Runner.ipa:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner-2/Runner.ipa
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11 | 2778C9995ADD0EC4F765A087 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C4C5287FF3F21C6EF66F371D /* libPods-Runner.a */; };
12 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
13 | 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
14 | 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
15 | 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
16 | 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
17 | 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
18 | 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB31CF90195004384FC /* Generated.xcconfig */; };
19 | 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
20 | 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
21 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
22 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
23 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
24 | /* End PBXBuildFile section */
25 |
26 | /* Begin PBXCopyFilesBuildPhase section */
27 | 9705A1C41CF9048500538489 /* Embed Frameworks */ = {
28 | isa = PBXCopyFilesBuildPhase;
29 | buildActionMask = 2147483647;
30 | dstPath = "";
31 | dstSubfolderSpec = 10;
32 | files = (
33 | 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
34 | 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
35 | );
36 | name = "Embed Frameworks";
37 | runOnlyForDeploymentPostprocessing = 0;
38 | };
39 | /* End PBXCopyFilesBuildPhase section */
40 |
41 | /* Begin PBXFileReference section */
42 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
43 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
44 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
45 | 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; };
46 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
47 | 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
48 | 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
49 | 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
50 | 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
51 | 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; };
52 | 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
53 | 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
54 | 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
55 | 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
56 | 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
57 | 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
58 | C4C5287FF3F21C6EF66F371D /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
59 | /* End PBXFileReference section */
60 |
61 | /* Begin PBXFrameworksBuildPhase section */
62 | 97C146EB1CF9000F007C117D /* Frameworks */ = {
63 | isa = PBXFrameworksBuildPhase;
64 | buildActionMask = 2147483647;
65 | files = (
66 | 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
67 | 3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
68 | 2778C9995ADD0EC4F765A087 /* libPods-Runner.a in Frameworks */,
69 | );
70 | runOnlyForDeploymentPostprocessing = 0;
71 | };
72 | /* End PBXFrameworksBuildPhase section */
73 |
74 | /* Begin PBXGroup section */
75 | 190C6C778140D6697599E081 /* Pods */ = {
76 | isa = PBXGroup;
77 | children = (
78 | );
79 | name = Pods;
80 | sourceTree = "";
81 | };
82 | 500FC26EB57A03DAA1E5CEC6 /* Frameworks */ = {
83 | isa = PBXGroup;
84 | children = (
85 | C4C5287FF3F21C6EF66F371D /* libPods-Runner.a */,
86 | );
87 | name = Frameworks;
88 | sourceTree = "";
89 | };
90 | 9740EEB11CF90186004384FC /* Flutter */ = {
91 | isa = PBXGroup;
92 | children = (
93 | 3B80C3931E831B6300D905FE /* App.framework */,
94 | 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
95 | 9740EEBA1CF902C7004384FC /* Flutter.framework */,
96 | 9740EEB21CF90195004384FC /* Debug.xcconfig */,
97 | 7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
98 | 9740EEB31CF90195004384FC /* Generated.xcconfig */,
99 | );
100 | name = Flutter;
101 | sourceTree = "";
102 | };
103 | 97C146E51CF9000F007C117D = {
104 | isa = PBXGroup;
105 | children = (
106 | 9740EEB11CF90186004384FC /* Flutter */,
107 | 97C146F01CF9000F007C117D /* Runner */,
108 | 97C146EF1CF9000F007C117D /* Products */,
109 | 190C6C778140D6697599E081 /* Pods */,
110 | 500FC26EB57A03DAA1E5CEC6 /* Frameworks */,
111 | );
112 | sourceTree = "";
113 | };
114 | 97C146EF1CF9000F007C117D /* Products */ = {
115 | isa = PBXGroup;
116 | children = (
117 | 97C146EE1CF9000F007C117D /* Runner.app */,
118 | );
119 | name = Products;
120 | sourceTree = "";
121 | };
122 | 97C146F01CF9000F007C117D /* Runner */ = {
123 | isa = PBXGroup;
124 | children = (
125 | 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */,
126 | 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */,
127 | 97C146FA1CF9000F007C117D /* Main.storyboard */,
128 | 97C146FD1CF9000F007C117D /* Assets.xcassets */,
129 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
130 | 97C147021CF9000F007C117D /* Info.plist */,
131 | 97C146F11CF9000F007C117D /* Supporting Files */,
132 | 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
133 | 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
134 | );
135 | path = Runner;
136 | sourceTree = "";
137 | };
138 | 97C146F11CF9000F007C117D /* Supporting Files */ = {
139 | isa = PBXGroup;
140 | children = (
141 | 97C146F21CF9000F007C117D /* main.m */,
142 | );
143 | name = "Supporting Files";
144 | sourceTree = "";
145 | };
146 | /* End PBXGroup section */
147 |
148 | /* Begin PBXNativeTarget section */
149 | 97C146ED1CF9000F007C117D /* Runner */ = {
150 | isa = PBXNativeTarget;
151 | buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
152 | buildPhases = (
153 | 7D3D3DF6F0BBC2B7127891BC /* [CP] Check Pods Manifest.lock */,
154 | 9740EEB61CF901F6004384FC /* Run Script */,
155 | 97C146EA1CF9000F007C117D /* Sources */,
156 | 97C146EB1CF9000F007C117D /* Frameworks */,
157 | 97C146EC1CF9000F007C117D /* Resources */,
158 | 9705A1C41CF9048500538489 /* Embed Frameworks */,
159 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
160 | 42A7D833D76215CD0A920AED /* [CP] Embed Pods Frameworks */,
161 | );
162 | buildRules = (
163 | );
164 | dependencies = (
165 | );
166 | name = Runner;
167 | productName = Runner;
168 | productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
169 | productType = "com.apple.product-type.application";
170 | };
171 | /* End PBXNativeTarget section */
172 |
173 | /* Begin PBXProject section */
174 | 97C146E61CF9000F007C117D /* Project object */ = {
175 | isa = PBXProject;
176 | attributes = {
177 | LastUpgradeCheck = 0910;
178 | ORGANIZATIONNAME = "The Chromium Authors";
179 | TargetAttributes = {
180 | 97C146ED1CF9000F007C117D = {
181 | CreatedOnToolsVersion = 7.3.1;
182 | };
183 | };
184 | };
185 | buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
186 | compatibilityVersion = "Xcode 3.2";
187 | developmentRegion = English;
188 | hasScannedForEncodings = 0;
189 | knownRegions = (
190 | en,
191 | Base,
192 | );
193 | mainGroup = 97C146E51CF9000F007C117D;
194 | productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
195 | projectDirPath = "";
196 | projectRoot = "";
197 | targets = (
198 | 97C146ED1CF9000F007C117D /* Runner */,
199 | );
200 | };
201 | /* End PBXProject section */
202 |
203 | /* Begin PBXResourcesBuildPhase section */
204 | 97C146EC1CF9000F007C117D /* Resources */ = {
205 | isa = PBXResourcesBuildPhase;
206 | buildActionMask = 2147483647;
207 | files = (
208 | 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
209 | 9740EEB51CF90195004384FC /* Generated.xcconfig in Resources */,
210 | 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
211 | 9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */,
212 | 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
213 | 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
214 | );
215 | runOnlyForDeploymentPostprocessing = 0;
216 | };
217 | /* End PBXResourcesBuildPhase section */
218 |
219 | /* Begin PBXShellScriptBuildPhase section */
220 | 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
221 | isa = PBXShellScriptBuildPhase;
222 | buildActionMask = 2147483647;
223 | files = (
224 | );
225 | inputPaths = (
226 | );
227 | name = "Thin Binary";
228 | outputPaths = (
229 | );
230 | runOnlyForDeploymentPostprocessing = 0;
231 | shellPath = /bin/sh;
232 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
233 | };
234 | 42A7D833D76215CD0A920AED /* [CP] Embed Pods Frameworks */ = {
235 | isa = PBXShellScriptBuildPhase;
236 | buildActionMask = 2147483647;
237 | files = (
238 | );
239 | inputPaths = (
240 | "${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
241 | "${PODS_ROOT}/../../../../../../../flutter/flutter/bin/cache/artifacts/engine/ios/Flutter.framework",
242 | );
243 | name = "[CP] Embed Pods Frameworks";
244 | outputPaths = (
245 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
246 | );
247 | runOnlyForDeploymentPostprocessing = 0;
248 | shellPath = /bin/sh;
249 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
250 | showEnvVarsInLog = 0;
251 | };
252 | 7D3D3DF6F0BBC2B7127891BC /* [CP] Check Pods Manifest.lock */ = {
253 | isa = PBXShellScriptBuildPhase;
254 | buildActionMask = 2147483647;
255 | files = (
256 | );
257 | inputPaths = (
258 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
259 | "${PODS_ROOT}/Manifest.lock",
260 | );
261 | name = "[CP] Check Pods Manifest.lock";
262 | outputPaths = (
263 | "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
264 | );
265 | runOnlyForDeploymentPostprocessing = 0;
266 | shellPath = /bin/sh;
267 | 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";
268 | showEnvVarsInLog = 0;
269 | };
270 | 9740EEB61CF901F6004384FC /* Run Script */ = {
271 | isa = PBXShellScriptBuildPhase;
272 | buildActionMask = 2147483647;
273 | files = (
274 | );
275 | inputPaths = (
276 | );
277 | name = "Run Script";
278 | outputPaths = (
279 | );
280 | runOnlyForDeploymentPostprocessing = 0;
281 | shellPath = /bin/sh;
282 | shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
283 | };
284 | /* End PBXShellScriptBuildPhase section */
285 |
286 | /* Begin PBXSourcesBuildPhase section */
287 | 97C146EA1CF9000F007C117D /* Sources */ = {
288 | isa = PBXSourcesBuildPhase;
289 | buildActionMask = 2147483647;
290 | files = (
291 | 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */,
292 | 97C146F31CF9000F007C117D /* main.m in Sources */,
293 | 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
294 | );
295 | runOnlyForDeploymentPostprocessing = 0;
296 | };
297 | /* End PBXSourcesBuildPhase section */
298 |
299 | /* Begin PBXVariantGroup section */
300 | 97C146FA1CF9000F007C117D /* Main.storyboard */ = {
301 | isa = PBXVariantGroup;
302 | children = (
303 | 97C146FB1CF9000F007C117D /* Base */,
304 | );
305 | name = Main.storyboard;
306 | sourceTree = "";
307 | };
308 | 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
309 | isa = PBXVariantGroup;
310 | children = (
311 | 97C147001CF9000F007C117D /* Base */,
312 | );
313 | name = LaunchScreen.storyboard;
314 | sourceTree = "";
315 | };
316 | /* End PBXVariantGroup section */
317 |
318 | /* Begin XCBuildConfiguration section */
319 | 97C147031CF9000F007C117D /* Debug */ = {
320 | isa = XCBuildConfiguration;
321 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
322 | buildSettings = {
323 | ALWAYS_SEARCH_USER_PATHS = NO;
324 | CLANG_ANALYZER_NONNULL = YES;
325 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
326 | CLANG_CXX_LIBRARY = "libc++";
327 | CLANG_ENABLE_MODULES = YES;
328 | CLANG_ENABLE_OBJC_ARC = YES;
329 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
330 | CLANG_WARN_BOOL_CONVERSION = YES;
331 | CLANG_WARN_COMMA = YES;
332 | CLANG_WARN_CONSTANT_CONVERSION = YES;
333 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
334 | CLANG_WARN_EMPTY_BODY = YES;
335 | CLANG_WARN_ENUM_CONVERSION = YES;
336 | CLANG_WARN_INFINITE_RECURSION = YES;
337 | CLANG_WARN_INT_CONVERSION = YES;
338 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
339 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
340 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
341 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
342 | CLANG_WARN_STRICT_PROTOTYPES = YES;
343 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
344 | CLANG_WARN_UNREACHABLE_CODE = YES;
345 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
346 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
347 | COPY_PHASE_STRIP = NO;
348 | DEBUG_INFORMATION_FORMAT = dwarf;
349 | ENABLE_STRICT_OBJC_MSGSEND = YES;
350 | ENABLE_TESTABILITY = YES;
351 | GCC_C_LANGUAGE_STANDARD = gnu99;
352 | GCC_DYNAMIC_NO_PIC = NO;
353 | GCC_NO_COMMON_BLOCKS = YES;
354 | GCC_OPTIMIZATION_LEVEL = 0;
355 | GCC_PREPROCESSOR_DEFINITIONS = (
356 | "DEBUG=1",
357 | "$(inherited)",
358 | );
359 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
360 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
361 | GCC_WARN_UNDECLARED_SELECTOR = YES;
362 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
363 | GCC_WARN_UNUSED_FUNCTION = YES;
364 | GCC_WARN_UNUSED_VARIABLE = YES;
365 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
366 | MTL_ENABLE_DEBUG_INFO = YES;
367 | ONLY_ACTIVE_ARCH = YES;
368 | SDKROOT = iphoneos;
369 | TARGETED_DEVICE_FAMILY = "1,2";
370 | };
371 | name = Debug;
372 | };
373 | 97C147041CF9000F007C117D /* Release */ = {
374 | isa = XCBuildConfiguration;
375 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
376 | buildSettings = {
377 | ALWAYS_SEARCH_USER_PATHS = NO;
378 | CLANG_ANALYZER_NONNULL = YES;
379 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
380 | CLANG_CXX_LIBRARY = "libc++";
381 | CLANG_ENABLE_MODULES = YES;
382 | CLANG_ENABLE_OBJC_ARC = YES;
383 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
384 | CLANG_WARN_BOOL_CONVERSION = YES;
385 | CLANG_WARN_COMMA = YES;
386 | CLANG_WARN_CONSTANT_CONVERSION = YES;
387 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
388 | CLANG_WARN_EMPTY_BODY = YES;
389 | CLANG_WARN_ENUM_CONVERSION = YES;
390 | CLANG_WARN_INFINITE_RECURSION = YES;
391 | CLANG_WARN_INT_CONVERSION = YES;
392 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
393 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
394 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
395 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
396 | CLANG_WARN_STRICT_PROTOTYPES = YES;
397 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
398 | CLANG_WARN_UNREACHABLE_CODE = YES;
399 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
400 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
401 | COPY_PHASE_STRIP = NO;
402 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
403 | ENABLE_NS_ASSERTIONS = NO;
404 | ENABLE_STRICT_OBJC_MSGSEND = YES;
405 | GCC_C_LANGUAGE_STANDARD = gnu99;
406 | GCC_NO_COMMON_BLOCKS = YES;
407 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
408 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
409 | GCC_WARN_UNDECLARED_SELECTOR = YES;
410 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
411 | GCC_WARN_UNUSED_FUNCTION = YES;
412 | GCC_WARN_UNUSED_VARIABLE = YES;
413 | IPHONEOS_DEPLOYMENT_TARGET = 8.0;
414 | MTL_ENABLE_DEBUG_INFO = NO;
415 | SDKROOT = iphoneos;
416 | TARGETED_DEVICE_FAMILY = "1,2";
417 | VALIDATE_PRODUCT = YES;
418 | };
419 | name = Release;
420 | };
421 | 97C147061CF9000F007C117D /* Debug */ = {
422 | isa = XCBuildConfiguration;
423 | baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
424 | buildSettings = {
425 | ARCHS = arm64;
426 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
427 | ENABLE_BITCODE = NO;
428 | FRAMEWORK_SEARCH_PATHS = (
429 | "$(inherited)",
430 | "$(PROJECT_DIR)/Flutter",
431 | );
432 | INFOPLIST_FILE = Runner/Info.plist;
433 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
434 | LIBRARY_SEARCH_PATHS = (
435 | "$(inherited)",
436 | "$(PROJECT_DIR)/Flutter",
437 | );
438 | PRODUCT_BUNDLE_IDENTIFIER = pedia.flutterUmengAnalyticsExample;
439 | PRODUCT_NAME = "$(TARGET_NAME)";
440 | };
441 | name = Debug;
442 | };
443 | 97C147071CF9000F007C117D /* Release */ = {
444 | isa = XCBuildConfiguration;
445 | baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
446 | buildSettings = {
447 | ARCHS = arm64;
448 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
449 | ENABLE_BITCODE = NO;
450 | FRAMEWORK_SEARCH_PATHS = (
451 | "$(inherited)",
452 | "$(PROJECT_DIR)/Flutter",
453 | );
454 | INFOPLIST_FILE = Runner/Info.plist;
455 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
456 | LIBRARY_SEARCH_PATHS = (
457 | "$(inherited)",
458 | "$(PROJECT_DIR)/Flutter",
459 | );
460 | PRODUCT_BUNDLE_IDENTIFIER = pedia.flutterUmengAnalyticsExample;
461 | PRODUCT_NAME = "$(TARGET_NAME)";
462 | };
463 | name = Release;
464 | };
465 | /* End XCBuildConfiguration section */
466 |
467 | /* Begin XCConfigurationList section */
468 | 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
469 | isa = XCConfigurationList;
470 | buildConfigurations = (
471 | 97C147031CF9000F007C117D /* Debug */,
472 | 97C147041CF9000F007C117D /* Release */,
473 | );
474 | defaultConfigurationIsVisible = 0;
475 | defaultConfigurationName = Release;
476 | };
477 | 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
478 | isa = XCConfigurationList;
479 | buildConfigurations = (
480 | 97C147061CF9000F007C117D /* Debug */,
481 | 97C147071CF9000F007C117D /* Release */,
482 | );
483 | defaultConfigurationIsVisible = 0;
484 | defaultConfigurationName = Release;
485 | };
486 | /* End XCConfigurationList section */
487 | };
488 | rootObject = 97C146E61CF9000F007C117D /* Project object */;
489 | }
490 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
56 |
58 |
64 |
65 |
66 |
67 |
68 |
69 |
75 |
77 |
83 |
84 |
85 |
86 |
88 |
89 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/example/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/example/ios/Runner/AppDelegate.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @interface AppDelegate : FlutterAppDelegate
5 |
6 | @end
7 |
--------------------------------------------------------------------------------
/example/ios/Runner/AppDelegate.m:
--------------------------------------------------------------------------------
1 | #include "AppDelegate.h"
2 | #include "GeneratedPluginRegistrant.h"
3 |
4 | @implementation AppDelegate
5 |
6 | - (BOOL)application:(UIApplication *)application
7 | didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
8 | [GeneratedPluginRegistrant registerWithRegistry:self];
9 | // Override point for customization after application launch.
10 | return [super application:application didFinishLaunchingWithOptions:launchOptions];
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | }
111 | ],
112 | "info" : {
113 | "version" : 1,
114 | "author" : "xcode"
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | 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.
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/example/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/example/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | flutter_umeng_analytics_example
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | arm64
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 | UIViewControllerBasedStatusBarAppearance
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/example/ios/Runner/main.m:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "AppDelegate.h"
4 |
5 | int main(int argc, char* argv[]) {
6 | @autoreleasepool {
7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/example/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:flutter/services.dart';
3 | import 'package:flutter_umeng_analytics/flutter_umeng_analytics.dart';
4 |
5 | void main() => runApp(new MyApp());
6 |
7 | class MyApp extends StatefulWidget {
8 | @override
9 | _MyAppState createState() => new _MyAppState();
10 | }
11 |
12 | class _MyAppState extends State {
13 | static bool _inited;
14 | @override
15 | initState() {
16 | super.initState();
17 |
18 | if (_inited == null) {
19 | _inited = true;
20 | UMengAnalytics.init('5a20cc45f43e48512000015d',
21 | policy: Policy.BATCH, encrypt: true, reportCrash: false);
22 | }
23 | }
24 |
25 | @override
26 | Widget build(BuildContext context) {
27 | return new MaterialApp(
28 | home: new Scaffold(
29 | appBar: new AppBar(
30 | title: new Text('Plugin example app'),
31 | ),
32 | body: new Center(
33 | child: new Column(
34 | mainAxisAlignment: MainAxisAlignment.center,
35 | children: [
36 | new RaisedButton(
37 | onPressed: () {
38 | UMengAnalytics.logEvent("hello");
39 | },
40 | child: new Text('Running on: hello'),
41 | ),
42 | ]),
43 | ),
44 | ),
45 | );
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/example/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: flutter_umeng_analytics_example
2 | description: Demonstrates how to use the flutter_umeng_analytics plugin.
3 |
4 | environment:
5 | sdk: ">=2.1.0 <3.0.0"
6 |
7 | dependencies:
8 | flutter:
9 | sdk: flutter
10 |
11 | # The following adds the Cupertino Icons font to your application.
12 | # Use with the CupertinoIcons class for iOS style icons.
13 | cupertino_icons: ^0.1.0
14 |
15 | dev_dependencies:
16 | flutter_test:
17 | sdk: flutter
18 |
19 | flutter_umeng_analytics:
20 | path: ../
21 |
22 | # For information on the generic Dart part of this file, see the
23 | # following page: https://www.dartlang.org/tools/pub/pubspec
24 |
25 | # The following section is specific to Flutter.
26 | flutter:
27 |
28 | # The following line ensures that the Material Icons font is
29 | # included with your application, so that you can use the icons in
30 | # the material Icons class.
31 | uses-material-design: true
32 |
33 | # To add assets to your application, add an assets section, like this:
34 | # assets:
35 | # - images/a_dot_burr.jpeg
36 | # - images/a_dot_ham.jpeg
37 |
38 | # An image asset can refer to one or more resolution-specific "variants", see
39 | # https://flutter.io/assets-and-images/#resolution-aware.
40 |
41 | # For details regarding adding assets from package dependencies, see
42 | # https://flutter.io/assets-and-images/#from-packages
43 |
44 | # To add custom fonts to your application, add a fonts section here,
45 | # in this "flutter" section. Each entry in this list should have a
46 | # "family" key with the font family name, and a "fonts" key with a
47 | # list giving the asset and other descriptors for the font. For
48 | # example:
49 | # fonts:
50 | # - family: Schyler
51 | # fonts:
52 | # - asset: fonts/Schyler-Regular.ttf
53 | # - asset: fonts/Schyler-Italic.ttf
54 | # style: italic
55 | # - family: Trajan Pro
56 | # fonts:
57 | # - asset: fonts/TrajanPro.ttf
58 | # - asset: fonts/TrajanPro_Bold.ttf
59 | # weight: 700
60 | #
61 | # For details regarding fonts from package dependencies,
62 | # see https://flutter.io/custom-fonts/#from-packages
63 |
--------------------------------------------------------------------------------
/flutter_umeng_analytics.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/flutter_umeng_analytics_android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | .vagrant/
3 | .sconsign.dblite
4 | .svn/
5 |
6 | .DS_Store
7 | *.swp
8 | profile
9 |
10 | DerivedData/
11 | build/
12 |
13 | *.pbxuser
14 | *.mode1v3
15 | *.mode2v3
16 | *.perspectivev3
17 |
18 | !default.pbxuser
19 | !default.mode1v3
20 | !default.mode2v3
21 | !default.perspectivev3
22 |
23 | xcuserdata
24 |
25 | *.moved-aside
26 |
27 | *.pyc
28 | *sync/
29 | Icon?
30 | .tags*
31 |
32 |
--------------------------------------------------------------------------------
/ios/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pedia/flutter_umeng_analytics/02d66ddc7d9ac1bf2219ea9a2e0d99ec7c6e2cfc/ios/Assets/.gitkeep
--------------------------------------------------------------------------------
/ios/Classes/FlutterUmengAnalyticsPlugin.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface FlutterUmengAnalyticsPlugin : NSObject
4 | @end
5 |
--------------------------------------------------------------------------------
/ios/Classes/FlutterUmengAnalyticsPlugin.m:
--------------------------------------------------------------------------------
1 | #import "FlutterUmengAnalyticsPlugin.h"
2 |
3 | #import "UMMobClick/MobClick.h"
4 |
5 | @implementation FlutterUmengAnalyticsPlugin
6 | + (void)registerWithRegistrar:(NSObject*)registrar {
7 | FlutterMethodChannel* channel =
8 | [FlutterMethodChannel methodChannelWithName:@"flutter_umeng_analytics"
9 | binaryMessenger:[registrar messenger]];
10 | FlutterUmengAnalyticsPlugin* instance = [[FlutterUmengAnalyticsPlugin alloc] init];
11 | [registrar addMethodCallDelegate:instance channel:channel];
12 | }
13 |
14 | - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result {
15 | if ([@"getPlatformVersion" isEqualToString:call.method]) {
16 | result([@"iOS " stringByAppendingString:[[UIDevice currentDevice] systemVersion]]);
17 | } else if ([@"init" isEqualToString:call.method]) {
18 | [self init:call result:result];
19 | } else if ([@"logPageView" isEqualToString:call.method]) {
20 | [MobClick logPageView:call.arguments[@"name"] seconds:[call.arguments[@"seconds"] intValue]];
21 | result(nil);
22 | } else if ([@"beginPageView" isEqualToString:call.method]) {
23 | [MobClick beginLogPageView:call.arguments[@"name"]];
24 | result(nil);
25 | } else if ([@"endPageView" isEqualToString:call.method]) {
26 | [MobClick endLogPageView:call.arguments[@"name"]];
27 | result(nil);
28 | } else if ([@"logEvent" isEqualToString:call.method]) {
29 | if (call.arguments[@"label"] != [NSNull null])
30 | [MobClick event:call.arguments[@"name"] label:call.arguments[@"label"]];
31 | else
32 | [MobClick event:call.arguments[@"name"]];
33 | result(nil);
34 | } else {
35 | result(FlutterMethodNotImplemented);
36 | }
37 | }
38 |
39 | - (void)init:(FlutterMethodCall*)call result:(FlutterResult)result {
40 | UMConfigInstance.appKey = call.arguments[@"key"];
41 | // UMConfigInstance.secret = call.arguments[@"secret"];
42 |
43 | NSString* channel = call.arguments[@"channel"];
44 | if (channel) UMConfigInstance.channelId = channel;
45 |
46 | NSNumber* policy = call.arguments[@"policy"];
47 | if (policy) UMConfigInstance.eSType = [policy intValue];
48 |
49 | NSNumber* reportCrash = call.arguments[@"reportCrash"];
50 | if (reportCrash) UMConfigInstance.bCrashReportEnabled = [reportCrash boolValue];
51 |
52 | [MobClick startWithConfigure:UMConfigInstance];
53 |
54 | NSNumber* logEnable = call.arguments[@"logEnable"];
55 | if (logEnable) [MobClick setLogEnabled:[logEnable boolValue]];
56 |
57 | NSNumber* encrypt = call.arguments[@"encrypt"];
58 | if (encrypt) [MobClick setEncryptEnabled:[encrypt boolValue]];
59 |
60 | NSNumber* interval = call.arguments[@"interval"];
61 | if (interval) [MobClick setLogSendInterval:[interval doubleValue]];
62 | }
63 |
64 | @end
65 |
--------------------------------------------------------------------------------
/ios/flutter_umeng_analytics.podspec:
--------------------------------------------------------------------------------
1 | #
2 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
3 | #
4 | Pod::Spec.new do |s|
5 | s.name = 'flutter_umeng_analytics'
6 | s.version = '0.0.1'
7 | s.summary = 'Flutter plugin for umeng:analytics'
8 | s.description = <<-DESC
9 | Flutter plugin for umeng:analytics
10 | DESC
11 | s.homepage = 'http://example.com'
12 | s.license = { :file => '../LICENSE' }
13 | s.author = { 'Your Company' => 'email@example.com' }
14 | s.source = { :path => '.' }
15 | s.source_files = 'Classes/**/*'
16 | s.public_header_files = 'Classes/**/*.h'
17 | s.dependency 'Flutter'
18 | s.dependency 'UMengAnalytics-NO-IDFA'
19 | s.static_framework = true
20 |
21 | s.ios.deployment_target = '8.0'
22 | end
23 |
24 |
--------------------------------------------------------------------------------
/lib/flutter_umeng_analytics.dart:
--------------------------------------------------------------------------------
1 | import 'dart:async';
2 |
3 | import 'package:flutter/services.dart';
4 |
5 | /// 友盟统计Flutter插件类
6 | class UMengAnalytics {
7 | static const MethodChannel _channel =
8 | const MethodChannel('umeng_analytics_flutter');
9 |
10 | /// [key] 【友盟+】Appkey名称
11 | /// [mode] 页面采集的两种模式:0表示Android 4.0及以上版本,1表示4.0以下版本,默认为0
12 | /// [reportCrash] 错误统计,默认为打开
13 | /// [encrypt] 日志加密 默认为false
14 | /// [interval] Session间隔时长,单位是毫秒,默认Session间隔时间是30秒,一般情况下不用修改此值
15 | /// [logEnable] 设置组件化的Log开关,参数默认为false,如需查看LOG设置为true
16 | static Future init(String key,
17 | {int mode = 0,
18 | bool reportCrash = true,
19 | bool encrypt = false,
20 | double interval = 30000,
21 | bool logEnable = false}) {
22 | Map args = {"key": key};
23 |
24 | if (mode != null) {
25 | args["mode"] = mode;
26 | }
27 | if (reportCrash != null) {
28 | args["reportCrash"] = reportCrash;
29 | }
30 | if (encrypt != null) {
31 | args["encrypt"] = encrypt;
32 | }
33 | if (interval != null) {
34 | args["interval"] = interval;
35 | }
36 | if (logEnable != null) {
37 | args["logEnable"] = logEnable;
38 | }
39 | _channel.invokeMethod("init", args);
40 | return new Future.value(true);
41 | }
42 |
43 | /// 打开页面时进行统计
44 | /// [name]
45 | static Future beginPageView(String name) async {
46 | _channel.invokeMethod("beginPageView", {"name": name});
47 | }
48 |
49 | /// 关闭页面时结束统计
50 | /// [name]
51 | static Future endPageView(String name) async {
52 | _channel.invokeMethod("endPageView", {"id": name});
53 | }
54 |
55 | /// 登陆统计
56 | /// [id]
57 | /// [interval]
58 | static Future loginPageView(String id, {double interval}) async {
59 | _channel.invokeMethod("loginPageView", {"id": id, interval: interval});
60 | }
61 |
62 | /// 计数事件统计
63 | /// [eventId] 当前统计的事件ID
64 | /// [label] 事件的标签属性
65 | static Future eventCounts(String eventId, {String label}) async {
66 | _channel.invokeMethod("eventCounts", {"label": label});
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: flutter_umeng_analytics
2 | description: Flutter Plugin for umeng:analytics (友盟统计)
3 | version: 0.0.2
4 | author: Ken
5 | homepage: https://github.com/pedia/flutter_umeng_analytics
6 |
7 | environment:
8 | sdk: ">=2.1.0 <3.0.0"
9 |
10 | dependencies:
11 | flutter:
12 | sdk: flutter
13 |
14 | flutter:
15 | plugin:
16 | androidPackage: pedia.flutterumenganalytics
17 | pluginClass: FlutterUmengAnalyticsPlugin
18 |
--------------------------------------------------------------------------------