├── ..Podfile.patch
├── .Podfile.patch
├── .Podfile.patch.sample
├── .gitignore
├── .swiftlint.yml
├── .travis.yml
├── 1.Podfile.patch
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── Podfile
├── Podfile.backup
├── Podfile.lock
├── Podfile.txt
├── PushService
├── Info.plist
├── NotificationService.swift
└── PushService-Bridging-Header.h
├── R.generated.swift
├── README.md
├── Vite.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── xcshareddata
│ └── xcschemes
│ ├── PushService.xcscheme
│ ├── Vite.xcscheme
│ ├── ViteDapp.xcscheme
│ ├── ViteOfficial.xcscheme
│ └── ViteTest.xcscheme
├── Vite.xcworkspace
├── contents.xcworkspacedata
└── xcshareddata
│ ├── IDEWorkspaceChecks.plist
│ └── WorkspaceSettings.xcsettings
├── Vite
├── AppDelegate.swift
├── Assets.xcassets
│ ├── AppIcon-dapp.appiconset
│ │ ├── 20pt@1x.png
│ │ ├── 20pt@2x-1.png
│ │ ├── 20pt@2x.png
│ │ ├── 20pt@3x.png
│ │ ├── 29pt@1x-1.png
│ │ ├── 29pt@1x.png
│ │ ├── 29pt@2x-1.png
│ │ ├── 29pt@2x.png
│ │ ├── 29pt@3x.png
│ │ ├── 40pt@1x.png
│ │ ├── 40pt@2x-1.png
│ │ ├── 40pt@2x.png
│ │ ├── 40pt@3x.png
│ │ ├── 50@1x.png
│ │ ├── 50@2x.png
│ │ ├── 57@1x.png
│ │ ├── 57@2x.png
│ │ ├── 60pt@2x.png
│ │ ├── 60pt@3x.png
│ │ ├── 72@1x.png
│ │ ├── 72@2x.png
│ │ ├── 76pt@1x.png
│ │ ├── 76pt@2x.png
│ │ ├── Contents.json
│ │ ├── Icon Template.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ ├── 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-57x57@1x.png
│ │ ├── Icon-App-57x57@2x.png
│ │ ├── Icon-App-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-72x72@1x.png
│ │ ├── Icon-App-72x72@2x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ ├── Icon-App-83.5x83.5@2x.png
│ │ ├── Icon-Small-50x50@1x.png
│ │ ├── Icon-Small-50x50@2x.png
│ │ └── iTunesArtwork@2x.png
│ ├── Contents.json
│ ├── icon_tabbar_discover.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_discover@2x.png
│ │ └── icon_tabbar_discover@3x.png
│ ├── icon_tabbar_discover_select.imageset
│ │ ├── Contents.json
│ │ ├── icon_tabbar_discover_select@2x.png
│ │ └── icon_tabbar_discover_select@3x.png
│ └── launch_logo.imageset
│ │ ├── Contents.json
│ │ └── launch_logo.pdf
├── DenyPtrace.c
├── Info.plist
├── LaunchScreen.storyboard
├── Resource
│ ├── Firebase
│ │ ├── enterprise
│ │ │ └── GoogleService-Info.plist
│ │ └── official
│ │ │ └── GoogleService-Info.plist
│ └── Localization
│ │ ├── Localizable.strings
│ │ ├── en.lproj
│ │ └── Localizable.strings
│ │ └── zh-Hans.lproj
│ │ └── Localizable.strings
├── Vite-Bridging-Header.h
├── Vite.entitlements
├── en.lproj
│ └── InfoPlist.strings
├── main.swift
└── zh-Hans.lproj
│ └── InfoPlist.strings
├── ViteDapp
└── Info.plist
├── ViteOfficial
└── Info.plist
├── ViteTest
└── Info.plist
├── ViteTests
├── Info.plist
├── ViteCryptoTest.swift
├── ViteInputValidTest.swift
├── ViteNetworkTests.swift
├── ViteTests.swift
└── ViteURITest.swift
├── ViteUITests
└── Info.plist
├── bootstrap
├── bootstrap_dapp
├── bootstrap_official
├── bootstrap_test
├── certs
└── distribution
│ ├── 86NNRW9D36.cer
│ └── 86NNRW9D36.p12
├── fastlane
├── Appfile
├── Fastfile
├── Matchfile
├── Pluginfile
├── README.md
└── Scanfile
├── profiles
└── appstore
│ └── AppStore_net.vite.wallet.mobileprovision
└── vite_pod.rb
/..Podfile.patch:
--------------------------------------------------------------------------------
1 | # Podfile 非入侵式修改的自定义配置
2 | # 执行pod install 非侵入式修改
3 |
4 | ### cp .Podfile.patch.sample .Podfile.patch
5 |
6 | pod 'ViteBusiness', :path =>'/Users/haoshenyang/vitelabs/vite-business-ios'
7 | #pod 'ViteUtils', :path =>'/Users/haoshenyang/vitelabs/vite-utils-ios'
8 | #pod 'ViteCommunity', :path =>'/Users/haoshenyang/vitelabs/vite-community-ios'
9 |
--------------------------------------------------------------------------------
/.Podfile.patch:
--------------------------------------------------------------------------------
1 | ### cp .Podfile.patch.sample .Podfile.patch
2 |
3 | #pod 'ViteCommunity', :path =>'../vite-community-ios/ViteCommunity.podspec'
4 | #pod 'ViteBusiness', :path =>'../vite-business-ios/ViteBusiness.podspec'
5 | #pod 'ViteWallet', :path =>'../vite-swift-kit/ViteWallet.podspec'
6 |
7 | #pod 'Vite_HDWalletKit', :path =>'../vite-hd-wallet-kit-ios/Vite_HDWalletKit.podspec'
8 | #pod 'BinanceChain', :path =>'../SwiftBinanceChain/BinanceChain.podspec'
9 | #pod 'HDWalletKit', :path =>'../HDWallet/HDWalletKit.podspec'
10 | #pod 'web3swift', :path =>'../web3swift/web3swift.podspec'
--------------------------------------------------------------------------------
/.Podfile.patch.sample:
--------------------------------------------------------------------------------
1 | # Podfile 非入侵式修改的自定义配置
2 | # 执行pod install 非侵入式修改
3 |
4 | ### cp .Podfile.patch.sample .Podfile.patch
5 |
6 | pod 'Vite_HDWalletKit', :path =>'../Vite_HDWalletKit/Vite_HDWalletKit.podspec'
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | .DS_Store
6 |
7 | ## Build generated
8 | build/
9 | DerivedData/
10 |
11 | ## Various settings
12 | *.pbxuser
13 | !default.pbxuser
14 | *.mode1v3
15 | !default.mode1v3
16 | *.mode2v3
17 | !default.mode2v3
18 | *.perspectivev3
19 | !default.perspectivev3
20 | xcuserdata/
21 |
22 | ## Other
23 | *.moved-aside
24 | *.xccheckout
25 | *.xcscmblueprint
26 |
27 | ## Obj-C/Swift specific
28 | *.hmap
29 | *.ipa
30 | *.dSYM.zip
31 | *.dSYM
32 |
33 | ## Playgrounds
34 | timeline.xctimeline
35 | playground.xcworkspace
36 |
37 | # Swift Package Manager
38 | #
39 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
40 | # Packages/
41 | # Package.pins
42 | # Package.resolved
43 | .build/
44 |
45 | # CocoaPods
46 | #
47 | # We recommend against adding the Pods directory to your .gitignore. However
48 | # you should judge for yourself, the pros and cons are mentioned at:
49 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
50 | #
51 | Pods/
52 |
53 | # Carthage
54 | #
55 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
56 | # Carthage/Checkouts
57 |
58 | Carthage/Build
59 |
60 | # fastlane
61 | #
62 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
63 | # screenshots whenever they are needed.
64 | # For more information about the recommended setup visit:
65 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
66 |
67 | fastlane/report.xml
68 | fastlane/Preview.html
69 | fastlane/screenshots/**/*.png
70 | fastlane/test_output
71 | fastlane/.env
72 | match_version.txt
73 |
74 | #R.swift xcode10 Compile Sources build
75 | #*.generated.swift
76 |
77 | #Travis
78 | .bundle/
79 | vendor/
80 | .idea/
81 |
--------------------------------------------------------------------------------
/.swiftlint.yml:
--------------------------------------------------------------------------------
1 | swiftlint_version: 0.31.0
2 | disabled_rules:
3 | - cyclomatic_complexity
4 | - force_cast
5 | - force_try
6 | - identifier_name
7 | - nesting
8 | - redundant_discardable_let
9 | - todo
10 | - type_name
11 | - unused_optional_binding
12 | - xctfail_message
13 | - fallthrough
14 | - line_length
15 | - redundant_string_enum_value
16 | - trailing_comma
17 | - trailing_whitespace
18 | opt_in_rules:
19 | - closure_end_indentation
20 | - closure_spacing
21 | - empty_count
22 | - multiline_parameters
23 | - vertical_parameter_alignment_on_call
24 | included:
25 | - Vite
26 | excluded:
27 | - Vite/Vendors
28 | - Vite/R.generated.swift
29 | function_parameter_count:
30 | warning: 20
31 | error: 25
32 | line_length:
33 | warning: 250
34 | error: 450
35 | large_tuple:
36 | warning: 4
37 | type_body_length:
38 | warning: 450
39 | error: 650
40 | function_body_length: 80
41 | file_length:
42 | warning: 600
43 | error: 1200
44 | trailing_comma:
45 | mandatory_comma: true
46 | superfluous_disable_command: warning
47 | reporter: "xcode"
48 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: swift
2 | osx_image: xcode10.1
3 | before_install:
4 | - echo -e "machine github.com\n login $CI_USER_TOKEN" > ~/.netrc
5 | - brew update
6 | - brew install imagemagick
7 | - bundle install
8 | - pod cache list --verbose
9 | script:
10 | - fastlane vite_test
11 | env:
12 | global:
13 | - secure: xeQ1yNSgE6T3PVK2KwDE6S4ELwcA8LOUElo9kzpEMURetlw4JkYaBIP3L3gSHy5T1EBH3CTSFjb+1Kd9O2wzFCKLCVuKJHJHS12G12iOdGQO6zeE0UBGgb5hfSsX8jx2aVJTO9q6AJASb/R/fud52DmyCBps4bWHWFdhFue5piWDL2Dq0l0VgXfiX/OKoPZahRp36/CE7hkqncIrFGH4/0zcEeL2DeCG+/EDF1ym9b3KcZtFGXIifD+4yjpTmwME5tyrTSXsv0fW0gTzeMd74eNGzgBoD6VrFsYK3jnuboWBSfAp0QdsnmkK2SKQIX/zLqEr9rCWTRS5Cb5mhReYzpIL344cW12G1AAlzbG7J56ItTUPQER45KIwWh54JWZZ5iSGPrFW8bndnGKXT/Oagt/zb5HaSBG4yvJkPi14i+ETsvunF3pjzKB9vYfJt3tL738MiIvsSMa+kdAP5xJ7beKr+fVrtmHWTrZWncquRGkTlM0yRieuY8y97oWcniZEYhHK4Cb+fwLS00aE3S7vwWngNoayDggkdBrbg5R3MOVH2BbSsFquGgg/CbzTJ4AKsItHNCGsPrqQYM61BLdjjhhNN1vImJbNY42VtxV66bHj4e08xK03W0dZggkb1FI1TqTum09Gz03FoPnaJu50Yw7F4Vgij7J0Zdas2UaRlgA=
14 | - secure: FsOAiHxTQXUyjhJEP/Ngz5LTDUjZnYFuCiQhU7yZkm9JmmulXSttc1aL7XZm66IZhltwEw89Hg+gBf9jpgl8l+vrSH+WZEIwF/VlTeYKE3HcIsZFpr1Cf6xtbbFWJ5t5LxN0M30SASUIujlIcuLsmdPsTmZ0gRSS7JSJTWZpbM16rChqE4oJzHZAuEz93fJjtM8YlTD150dy9PZylms9Btimeo7HVmv/6pJdWSt1qRKgMsrM8/rAkZ6pVmf4o9DlrRmj2P4Y6scJeaBNQu2Lk9gMZKZntSfruYnq4wivDAGWHAYn1u9PIGgI2a1tXh9f6HgQ92KBgxEpGJc8nKdSGBjsw6uRmwlna40DURWDXhdvd849Zs8rHL0xFwzqY2lv9IRw3lGVM5O4ECYySo+VmkpCtMmItFgR4lLZF7HaPQUGn/fzyLCcaMw/fQBS/PXWVono8mxPdB7/fQuqFwe5R0CRDWOwT8VUnKq2Xldyz41YlZ+qEWcOlqbgcSLLTENyG0RGruPJjFQLmj0kM24xi4PrVl8K8i6w8FThO4DILVjTiP9tm70I2w7SeFwkBCEv7D8IFxOjem0F31Syyer4QBEFQuGsA1/+Ju9dRC2FJh31Gr3xcW9imTm60y+zSfuFiNX4cTrvKOj+eSPMSuePGMW0mhSIbZh9AW4aQ/WNm38=
15 | - secure: y4lDeq3dVsHNTommtnCroWuUKwWCnMY7+Ca0FaK5feAnnH3c0KfsJSvEe5J44VTVqytQApxeEMduEOWd/XOBdJVh1hRnVzkNay9bBGZVi61n7V6cxv83AOQ5grhQNA29zrYqA+xYzbjxQeNooM9V5wprJ3a+h+wkIQYnGsZArnpZtJwYk1JwxQJ/4+GUK0/tptojvxjFpaws22HbKVeblwqemW2D5JreD4zVel4qwbP1eajyMk7gzewL2nJprD/P4l7FtgngPk/0BDawQwW3gUucoTzdJtArLEn0rXeEhQO8v3/R3kV9pWQ3pebt3O5YuBZcS2FUWqRs0hI5QzIzTrRsqVFzqsR3gej18+flgWLY87FSa3P6gYCvsUaFLdehHIFr3UBD8Uuwj7CA2Q6lmowXOyM18Ykxwaj7G9VHrFFuxSa11QTqfVjoGVeXO3GpFGKoOmRAh4rHGE4RqeFHMRdV/isTK9JJIPhXomtSbvjYtP2O6jrM7F8jPKqeD9qzZVy81WV7KcOVZWuGOAaPU6P3iZHhVH/D90xRZITUO19yinwTkbAExSfl6CEb5DKaYUmzht6lUpAWfVDlcLwXja9kF4Fwa3ZQLqgjIMklQdQApPWFLHnvQ/OtP+skvlYWSErNj8xuzWKCWWHi1fy7nGzXgMI0mhRB7aUfVvLk8Po=
16 | cache:
17 | - bundler
18 | addons:
19 | ssh_known_hosts:
20 | - github.com
21 |
22 | branches:
23 | only:
24 | - develop
25 | - pre-mainnet
26 | - grin
27 | - travis
28 |
--------------------------------------------------------------------------------
/1.Podfile.patch:
--------------------------------------------------------------------------------
1 | # Podfile 非入侵式修改的自定义配置
2 | # 执行pod install 非侵入式修改
3 |
4 | ### cp .Podfile.patch.sample .Podfile.patch
5 |
6 | pod 'ViteBusiness', :path =>'/Users/haoshenyang/vitelabs/vite-business-ios'
7 | #pod 'ViteUtils', :path =>'/Users/haoshenyang/vitelabs/vite-utils-ios'
8 | #pod 'ViteCommunity', :path =>'/Users/haoshenyang/vitelabs/vite-community-ios'
9 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | # Autogenerated by fastlane
2 | #
3 | # Ensure this file is checked in to source control!
4 |
5 | source "https://rubygems.org"
6 |
7 | gem 'fastlane'
8 | gem 'cocoapods'
9 | gem 'danger'
10 | gem 'danger-swiftlint'
11 |
12 | plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
13 | eval_gemfile(plugins_path) if File.exist?(plugins_path)
14 |
--------------------------------------------------------------------------------
/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | CFPropertyList (3.0.2)
5 | activesupport (4.2.11.1)
6 | i18n (~> 0.7)
7 | minitest (~> 5.1)
8 | thread_safe (~> 0.3, >= 0.3.4)
9 | tzinfo (~> 1.1)
10 | addressable (2.7.0)
11 | public_suffix (>= 2.0.2, < 5.0)
12 | atomos (0.1.3)
13 | babosa (1.0.3)
14 | badge (0.11.0)
15 | curb (~> 0.9)
16 | fastimage (>= 1.6)
17 | fastlane (>= 2.0)
18 | mini_magick (~> 4.9.5)
19 | claide (1.0.3)
20 | claide-plugins (0.9.2)
21 | cork
22 | nap
23 | open4 (~> 1.3)
24 | cocoapods (1.7.5)
25 | activesupport (>= 4.0.2, < 5)
26 | claide (>= 1.0.2, < 2.0)
27 | cocoapods-core (= 1.7.5)
28 | cocoapods-deintegrate (>= 1.0.3, < 2.0)
29 | cocoapods-downloader (>= 1.2.2, < 2.0)
30 | cocoapods-plugins (>= 1.0.0, < 2.0)
31 | cocoapods-search (>= 1.0.0, < 2.0)
32 | cocoapods-stats (>= 1.0.0, < 2.0)
33 | cocoapods-trunk (>= 1.3.1, < 2.0)
34 | cocoapods-try (>= 1.1.0, < 2.0)
35 | colored2 (~> 3.1)
36 | escape (~> 0.0.4)
37 | fourflusher (>= 2.3.0, < 3.0)
38 | gh_inspector (~> 1.0)
39 | molinillo (~> 0.6.6)
40 | nap (~> 1.0)
41 | ruby-macho (~> 1.4)
42 | xcodeproj (>= 1.10.0, < 2.0)
43 | cocoapods-core (1.7.5)
44 | activesupport (>= 4.0.2, < 6)
45 | fuzzy_match (~> 2.0.4)
46 | nap (~> 1.0)
47 | cocoapods-deintegrate (1.0.4)
48 | cocoapods-downloader (1.2.2)
49 | cocoapods-plugins (1.0.0)
50 | nap
51 | cocoapods-search (1.0.0)
52 | cocoapods-stats (1.1.0)
53 | cocoapods-trunk (1.3.1)
54 | nap (>= 0.8, < 2.0)
55 | netrc (~> 0.11)
56 | cocoapods-try (1.1.0)
57 | colored (1.2)
58 | colored2 (3.1.2)
59 | commander-fastlane (4.4.6)
60 | highline (~> 1.7.2)
61 | concurrent-ruby (1.1.5)
62 | cork (0.3.0)
63 | colored2 (~> 3.1)
64 | curb (0.9.10)
65 | danger (6.0.9)
66 | claide (~> 1.0)
67 | claide-plugins (>= 0.9.2)
68 | colored2 (~> 3.1)
69 | cork (~> 0.1)
70 | faraday (~> 0.9)
71 | faraday-http-cache (~> 2.0)
72 | git (~> 1.5)
73 | kramdown (~> 2.0)
74 | kramdown-parser-gfm (~> 1.0)
75 | no_proxy_fix
76 | octokit (~> 4.7)
77 | terminal-table (~> 1)
78 | danger-swiftlint (0.23.0)
79 | danger
80 | rake (> 10)
81 | thor (~> 0.19)
82 | declarative (0.0.10)
83 | declarative-option (0.1.0)
84 | digest-crc (0.4.1)
85 | domain_name (0.5.20190701)
86 | unf (>= 0.0.5, < 1.0.0)
87 | dotenv (2.7.5)
88 | emoji_regex (1.0.1)
89 | escape (0.0.4)
90 | excon (0.72.0)
91 | faraday (0.17.3)
92 | multipart-post (>= 1.2, < 3)
93 | faraday-cookie_jar (0.0.6)
94 | faraday (>= 0.7.4)
95 | http-cookie (~> 1.0.0)
96 | faraday-http-cache (2.0.0)
97 | faraday (~> 0.8)
98 | faraday_middleware (0.13.1)
99 | faraday (>= 0.7.4, < 1.0)
100 | fastimage (2.1.7)
101 | fastlane (2.141.0)
102 | CFPropertyList (>= 2.3, < 4.0.0)
103 | addressable (>= 2.3, < 3.0.0)
104 | babosa (>= 1.0.2, < 2.0.0)
105 | bundler (>= 1.12.0, < 3.0.0)
106 | colored
107 | commander-fastlane (>= 4.4.6, < 5.0.0)
108 | dotenv (>= 2.1.1, < 3.0.0)
109 | emoji_regex (>= 0.1, < 2.0)
110 | excon (>= 0.71.0, < 1.0.0)
111 | faraday (~> 0.17)
112 | faraday-cookie_jar (~> 0.0.6)
113 | faraday_middleware (~> 0.13.1)
114 | fastimage (>= 2.1.0, < 3.0.0)
115 | gh_inspector (>= 1.1.2, < 2.0.0)
116 | google-api-client (>= 0.29.2, < 0.37.0)
117 | google-cloud-storage (>= 1.15.0, < 2.0.0)
118 | highline (>= 1.7.2, < 2.0.0)
119 | json (< 3.0.0)
120 | jwt (~> 2.1.0)
121 | mini_magick (>= 4.9.4, < 5.0.0)
122 | multi_xml (~> 0.5)
123 | multipart-post (~> 2.0.0)
124 | plist (>= 3.1.0, < 4.0.0)
125 | public_suffix (~> 2.0.0)
126 | rubyzip (>= 1.3.0, < 2.0.0)
127 | security (= 0.1.3)
128 | simctl (~> 1.6.3)
129 | slack-notifier (>= 2.0.0, < 3.0.0)
130 | terminal-notifier (>= 2.0.0, < 3.0.0)
131 | terminal-table (>= 1.4.5, < 2.0.0)
132 | tty-screen (>= 0.6.3, < 1.0.0)
133 | tty-spinner (>= 0.8.0, < 1.0.0)
134 | word_wrap (~> 1.0.0)
135 | xcodeproj (>= 1.13.0, < 2.0.0)
136 | xcpretty (~> 0.3.0)
137 | xcpretty-travis-formatter (>= 0.0.3)
138 | fastlane-plugin-badge (1.3.0)
139 | badge (~> 0.11.0)
140 | fourflusher (2.3.1)
141 | fuzzy_match (2.0.4)
142 | gh_inspector (1.1.3)
143 | git (1.5.0)
144 | google-api-client (0.36.4)
145 | addressable (~> 2.5, >= 2.5.1)
146 | googleauth (~> 0.9)
147 | httpclient (>= 2.8.1, < 3.0)
148 | mini_mime (~> 1.0)
149 | representable (~> 3.0)
150 | retriable (>= 2.0, < 4.0)
151 | signet (~> 0.12)
152 | google-cloud-core (1.5.0)
153 | google-cloud-env (~> 1.0)
154 | google-cloud-errors (~> 1.0)
155 | google-cloud-env (1.3.0)
156 | faraday (~> 0.11)
157 | google-cloud-errors (1.0.0)
158 | google-cloud-storage (1.25.1)
159 | addressable (~> 2.5)
160 | digest-crc (~> 0.4)
161 | google-api-client (~> 0.33)
162 | google-cloud-core (~> 1.2)
163 | googleauth (~> 0.9)
164 | mini_mime (~> 1.0)
165 | googleauth (0.10.0)
166 | faraday (~> 0.12)
167 | jwt (>= 1.4, < 3.0)
168 | memoist (~> 0.16)
169 | multi_json (~> 1.11)
170 | os (>= 0.9, < 2.0)
171 | signet (~> 0.12)
172 | highline (1.7.10)
173 | http-cookie (1.0.3)
174 | domain_name (~> 0.5)
175 | httpclient (2.8.3)
176 | i18n (0.9.5)
177 | concurrent-ruby (~> 1.0)
178 | json (2.3.0)
179 | jwt (2.1.0)
180 | kramdown (2.1.0)
181 | kramdown-parser-gfm (1.1.0)
182 | kramdown (~> 2.0)
183 | memoist (0.16.2)
184 | mini_magick (4.9.5)
185 | mini_mime (1.0.2)
186 | minitest (5.11.3)
187 | molinillo (0.6.6)
188 | multi_json (1.14.1)
189 | multi_xml (0.6.0)
190 | multipart-post (2.0.0)
191 | nanaimo (0.2.6)
192 | nap (1.1.0)
193 | naturally (2.2.0)
194 | netrc (0.11.0)
195 | no_proxy_fix (0.1.2)
196 | octokit (4.14.0)
197 | sawyer (~> 0.8.0, >= 0.5.3)
198 | open4 (1.3.4)
199 | os (1.0.1)
200 | plist (3.5.0)
201 | public_suffix (2.0.5)
202 | rake (12.3.3)
203 | representable (3.0.4)
204 | declarative (< 0.1.0)
205 | declarative-option (< 0.2.0)
206 | uber (< 0.2.0)
207 | retriable (3.1.2)
208 | rouge (2.0.7)
209 | ruby-macho (1.4.0)
210 | rubyzip (1.3.0)
211 | sawyer (0.8.2)
212 | addressable (>= 2.3.5)
213 | faraday (> 0.8, < 2.0)
214 | security (0.1.3)
215 | signet (0.12.0)
216 | addressable (~> 2.3)
217 | faraday (~> 0.9)
218 | jwt (>= 1.5, < 3.0)
219 | multi_json (~> 1.10)
220 | simctl (1.6.8)
221 | CFPropertyList
222 | naturally
223 | slack-notifier (2.3.2)
224 | terminal-notifier (2.0.0)
225 | terminal-table (1.8.0)
226 | unicode-display_width (~> 1.1, >= 1.1.1)
227 | thor (0.20.3)
228 | thread_safe (0.3.6)
229 | tty-cursor (0.7.1)
230 | tty-screen (0.7.1)
231 | tty-spinner (0.9.3)
232 | tty-cursor (~> 0.7)
233 | tzinfo (1.2.5)
234 | thread_safe (~> 0.1)
235 | uber (0.1.0)
236 | unf (0.1.4)
237 | unf_ext
238 | unf_ext (0.0.7.6)
239 | unicode-display_width (1.6.1)
240 | word_wrap (1.0.0)
241 | xcodeproj (1.15.0)
242 | CFPropertyList (>= 2.3.3, < 4.0)
243 | atomos (~> 0.1.3)
244 | claide (>= 1.0.2, < 2.0)
245 | colored2 (~> 3.1)
246 | nanaimo (~> 0.2.6)
247 | xcpretty (0.3.0)
248 | rouge (~> 2.0.7)
249 | xcpretty-travis-formatter (1.0.0)
250 | xcpretty (~> 0.2, >= 0.0.7)
251 |
252 | PLATFORMS
253 | ruby
254 |
255 | DEPENDENCIES
256 | cocoapods
257 | danger
258 | danger-swiftlint
259 | fastlane
260 | fastlane-plugin-badge
261 |
262 | BUNDLED WITH
263 | 2.1.4
264 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Vite Labs
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '12.0'
2 | inhibit_all_warnings!
3 | source 'https://github.com/CocoaPods/Specs.git'
4 | require './vite_pod'
5 |
6 | # Vite ViteOfficial ViteTest ViteDapp
7 | target_name = 'ViteOfficial'
8 |
9 |
10 | def vite_config(config, name)
11 | if name == 'Vite'
12 | if config.name.include?("Debug")
13 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','DEBUG=1']
14 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = ['DEBUG']
15 | config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -Xfrontend -debug-time-function-bodies'
16 | elsif config.name.include?("Release")
17 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
18 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = []
19 | end
20 | elsif name == 'ViteOfficial'
21 | if config.name.include?("Debug")
22 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','DEBUG=1','OFFICIAL=1']
23 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = ['DEBUG','OFFICIAL']
24 | config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -Xfrontend -debug-time-function-bodies'
25 | elsif config.name.include?("Release")
26 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','OFFICIAL=1']
27 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = 'OFFICIAL'
28 | end
29 | elsif name == 'ViteTest'
30 | if config.name.include?("Debug")
31 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','DEBUG=1','OFFICIAL=1','TEST=1']
32 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = ['DEBUG','OFFICIAL', 'TEST']
33 | config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -Xfrontend -debug-time-function-bodies'
34 | elsif config.name.include?("Release")
35 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','OFFICIAL=1','TEST=1']
36 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = ['OFFICIAL', 'TEST']
37 | end
38 | elsif name == 'ViteDapp'
39 | if config.name.include?("Debug")
40 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','DEBUG=1','DAPP=1']
41 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = ['DEBUG','DAPP']
42 | config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -Xfrontend -debug-time-function-bodies'
43 | elsif config.name.include?("Release")
44 | config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)','DAPP=1']
45 | config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = 'DAPP'
46 | end
47 | end
48 | end
49 |
50 | #app_project = Xcodeproj::Project.open(Dir.glob("*.xcodeproj")[0])
51 | #app_project.native_targets.each do |target|
52 | # if target.name == 'Vite'
53 | # target.build_configurations.each do |config|
54 | # vite_config config, isOfficial
55 | # end
56 | # end
57 | #end
58 | #app_project.save
59 |
60 |
61 |
62 | target target_name do
63 | use_frameworks!
64 |
65 | #vite kit
66 |
67 | vite_community_git = 'git@github.com:vitelabs/vite-community-ios.git'
68 | vite_business_git = 'https://github.com/vitelabs/vite-business-ios.git'
69 | vite_wallet_git = 'https://github.com/vitelabs/vite-swift-kit.git'
70 | vite_hd_git = 'https://github.com/vitelabs/vite-hd-wallet-kit-ios.git'
71 | HDWalletKit_git = 'https://github.com/vitelabs/HDWallet.git'
72 | web3_git = 'https://github.com/vitelabs/web3swift.git'
73 |
74 | vite_community_commit = 'ab006971c2b605c60c83424fe5b96846cbdf4216'
75 | vite_business_commit = 'bc934e2e2b9f3b42139fa1351cbc8c5f277a6673'
76 | vite_wallet_commit = '981a92d5012a0dcae0324b29e8657e78bced55ed'
77 | vite_hd_commit = 'db67644220ab1582459d08d47119ed26dcba8d47'
78 | HDWalletKit_commit = '26df860a4ce7cb26e299aa4f3e0338e8e7041b26'
79 | web3_commit = 'd2507cce4faa17916efa14fd84922a3e6b411634'
80 |
81 | if target_name == 'ViteOfficial' || target_name == 'ViteTest'
82 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit
83 | end
84 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit
85 | vite_pod 'ViteWallet', :git => vite_wallet_git, :commit => vite_wallet_commit
86 |
87 | # pod_branch = 'pre-mainnet'
88 | # if isOfficial
89 | # vite_pod 'ViteCommunity', :git => vite_community_git, :branch => pod_branch
90 | # end
91 | # vite_pod 'ViteBusiness', :git => vite_business_git, :branch => pod_branch
92 | # vite_pod 'ViteWallet', :git => vite_wallet_git, :branch => pod_branch
93 |
94 |
95 | vite_pod 'Vite_HDWalletKit', :git => vite_hd_git, :commit => vite_hd_commit
96 | vite_pod 'HDWalletKit', :git => HDWalletKit_git, :commit => HDWalletKit_commit
97 | vite_pod 'web3swift', :git => web3_git, :commit => web3_commit
98 |
99 | pod 'Charts', :git => 'https://github.com/danielgindi/Charts.git', :tag => 'v4.1.0'
100 |
101 | # pod 'HDWalletKit', '0.3.6'
102 | pod 'SnapKit', '~> 4.0.0'
103 | pod 'BigInt', '~> 5.0'
104 | pod 'R.swift', '5.0.0.alpha.3'
105 | pod 'JSONRPCKit', '~> 3.0.0'
106 | pod 'PromiseKit', '~> 6.8.4'
107 | pod 'APIKit'
108 | pod 'ObjectMapper'
109 | pod 'MBProgressHUD'
110 | pod 'KeychainSwift', '13.0.0'
111 | pod 'Moya'
112 | pod 'MJRefresh', '3.1.15.7'
113 | pod 'KMNavigationBarTransition'
114 | pod 'XCGLogger', '~> 7.0'
115 | pod 'pop', '~> 1.0'
116 | pod 'DACircularProgress', '2.3.1'
117 | pod 'Kingfisher', '~> 4.0'
118 | pod 'NYXImagesKit', '2.3'
119 | pod 'SwiftProtobuf', '1.17.0'
120 |
121 | #request
122 | pod 'SwiftyJSON'
123 |
124 | #UI Control
125 | pod 'ActionSheetPicker-3.0'
126 | pod 'MBProgressHUD'
127 | pod 'Toast-Swift', '~> 4.0.1'
128 | pod 'RazzleDazzle', :git => 'https://github.com/mazhigbee-pb/RazzleDazzle.git', :branch => 'xcode-13-beta-fixes'
129 | pod 'CHIPageControl'
130 |
131 | #table static form
132 | pod 'Eureka', '~> 5.3.0'
133 | # pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka.git', :branch => 'xcode12'
134 |
135 | #RX
136 | pod 'RxSwift', '~> 4.0'
137 | pod 'RxCocoa'
138 | pod 'RxDataSources', '~> 3.0'
139 | pod 'NSObject+Rx'
140 | pod 'RxOptional'
141 | pod 'RxGesture'
142 | pod 'Then'
143 | pod 'Action'
144 | pod 'ReusableKit', '~> 2.1.0'
145 | pod 'ReactorKit'
146 |
147 | #code review
148 | pod 'SwiftLint', '0.31.0'
149 |
150 | #crash
151 | # pod 'Firebase/Core'
152 | # pod 'Firebase/Analytics'
153 | # pod 'Firebase/Performance'
154 | # pod 'Firebase/RemoteConfig'
155 |
156 | # pod 'MLeaksFinder', :configurations => ['Debug']
157 | # pod 'LookinServer', :configurations => ['Debug']
158 |
159 | if target_name == 'ViteTest'
160 | pod 'Bagel', '~> 1.3.2'
161 | else
162 | pod 'Bagel', '~> 1.3.2', :configurations => ['Debug']
163 | end
164 |
165 | pod 'FSPagerView'
166 |
167 | target 'ViteTests' do
168 | inherit! :search_paths
169 | end
170 | end
171 |
172 | post_install do |installer|
173 |
174 | installer.pods_project.targets.each do |target|
175 |
176 | target.build_configurations.each do |config|
177 | config.build_settings['ENABLE_BITCODE'] = 'NO'
178 | if config.name.include?("Debug")
179 | config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'
180 | else
181 | config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
182 | end
183 | vite_config config, target_name
184 | end
185 |
186 | if ['RazzleDazzle', 'JSONRPCKit', 'APIKit'].include? target.name
187 | target.build_configurations.each do |config|
188 | config.build_settings['SWIFT_VERSION'] = '4.0'
189 | end
190 | elsif ['web3.swift.pod', 'Charts'].include? target.name
191 | target.build_configurations.each do |config|
192 | config.build_settings['SWIFT_VERSION'] = '5.0'
193 | end
194 | else
195 | target.build_configurations.each do |config|
196 | config.build_settings['SWIFT_VERSION'] = '4.2'
197 | end
198 | end
199 |
200 | end
201 |
202 |
203 | end
204 |
--------------------------------------------------------------------------------
/Podfile.backup:
--------------------------------------------------------------------------------
1 | platform :ios, '10.0'
2 | inhibit_all_warnings!
3 | source 'https://github.com/CocoaPods/Specs.git'
4 | require './vite_pod'
5 |
6 | targetArray = ['Vite', 'Vite-official', 'Vite-test', 'Vite-enterprise']
7 |
8 | targetArray.each do |t|
9 | target t do
10 | use_frameworks!
11 |
12 | #vite kit
13 |
14 | vite_community_git = 'https://github.com/vitelabs/vite-community-ios.git'
15 | vite_community_commit = '5b84a9fcb0825d174ea5e21c2d515f6b28e6fed4'
16 |
17 | vite_business_git = 'https://github.com/vitelabs/vite-business-ios.git'
18 | vite_business_commit = '05307d9c50a8f31ac1fde1f118e4c7896973995a'
19 |
20 | if t == 'Vite-official'
21 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit, :subspecs => ['Official']
22 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit, :subspecs => ['Official']
23 | elsif t == 'Vite-test'
24 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit, :subspecs => ['Test']
25 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit, :subspecs => ['Test']
26 | elsif t == 'Vite-enterprise'
27 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit, :subspecs => ['Enterprise']
28 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit, :subspecs => ['Enterprise']
29 | else
30 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit
31 | end
32 |
33 | vite_pod 'ViteUtils', :git => 'https://github.com/vitelabs/vite-utils-ios.git', :commit => '68ccb4840e8b4eab141306e27ffa555352b1b190'
34 | vite_pod 'ViteWallet', :git => 'https://github.com/vitelabs/vite-wallet-ios.git', :commit => 'fbb842cdf99e101fd9659016825739f63ccecc03'
35 | vite_pod 'Vite_HDWalletKit', '1.2.0'
36 |
37 | pod 'SnapKit', '~> 4.0.0'
38 | pod 'BigInt', '~> 3.0'
39 | pod 'R.swift', '5.0.0.alpha.3'
40 | pod 'JSONRPCKit', '~> 3.0.0'
41 | pod 'PromiseKit', '~> 6.0'
42 | pod 'APIKit'
43 | pod 'ObjectMapper'
44 | pod 'MBProgressHUD'
45 | pod 'KeychainSwift'
46 | pod 'Moya'
47 | pod 'MJRefresh'
48 | pod 'KMNavigationBarTransition'
49 | pod 'XCGLogger', '~> 6.1.0'
50 | pod 'pop', '~> 1.0'
51 | pod 'DACircularProgress', '2.3.1'
52 | pod 'Kingfisher', '~> 4.0'
53 | pod 'NYXImagesKit', '2.3'
54 |
55 | #request
56 | pod 'SwiftyJSON'
57 |
58 | #statistics
59 | pod 'BaiduMobStat'
60 |
61 | #UI Control
62 | pod 'ActionSheetPicker-3.0'
63 | pod 'MBProgressHUD'
64 | pod 'Toast-Swift', '~> 4.0.1'
65 | pod 'RazzleDazzle'
66 | pod 'CHIPageControl'
67 |
68 | #table static form
69 | pod 'Eureka', '~> 4.3.0'
70 |
71 | #RX
72 | pod 'RxSwift', '~> 4.0'
73 | pod 'RxCocoa'
74 | pod 'RxDataSources', '~> 3.0'
75 | pod 'NSObject+Rx'
76 | pod 'RxOptional'
77 | pod 'RxGesture'
78 | pod 'Then'
79 | pod 'Action'
80 | pod 'ReusableKit', '~> 2.1.0'
81 | pod 'ReactorKit'
82 |
83 | #code review
84 | pod 'SwiftLint'
85 |
86 | #crash
87 | pod 'Fabric'
88 | pod 'Crashlytics'
89 |
90 | pod 'MLeaksFinder', :configurations => ['Debug']
91 |
92 | pod 'FSPagerView'
93 | pod 'DNSPageView'
94 |
95 | if t == 'Vite'
96 | target 'ViteTests' do
97 | inherit! :search_paths
98 | end
99 | end
100 |
101 | end
102 | end
103 |
104 | post_install do |installer|
105 | installer.pods_project.targets.each do |target|
106 | if ['RazzleDazzle', 'JSONRPCKit', 'APIKit'].include? target.name
107 | target.build_configurations.each do |config|
108 | config.build_settings['SWIFT_VERSION'] = '4.0'
109 | end
110 | end
111 | end
112 | end
113 |
--------------------------------------------------------------------------------
/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - Action (3.11.0):
3 | - RxCocoa (~> 4.0)
4 | - RxSwift (~> 4.0)
5 | - ActionSheetPicker-3.0 (2.3.0)
6 | - ActiveLabel (1.1.0)
7 | - Alamofire (4.9.1)
8 | - APIKit (5.0.0)
9 | - Bagel (1.3.2):
10 | - CocoaAsyncSocket
11 | - BigInt (5.2.0)
12 | - Charts (4.1.0):
13 | - Charts/Core (= 4.1.0)
14 | - Charts/Core (4.1.0):
15 | - SwiftAlgorithms (~> 1.0)
16 | - CHIPageControl (0.2):
17 | - CHIPageControl/Aji (= 0.2)
18 | - CHIPageControl/Aleppo (= 0.2)
19 | - CHIPageControl/Chimayo (= 0.2)
20 | - CHIPageControl/Fresno (= 0.2)
21 | - CHIPageControl/Jalapeno (= 0.2)
22 | - CHIPageControl/Jaloro (= 0.2)
23 | - CHIPageControl/Paprika (= 0.2)
24 | - CHIPageControl/Puya (= 0.2)
25 | - CHIPageControl/Aji (0.2)
26 | - CHIPageControl/Aleppo (0.2)
27 | - CHIPageControl/Chimayo (0.2)
28 | - CHIPageControl/Fresno (0.2)
29 | - CHIPageControl/Jalapeno (0.2)
30 | - CHIPageControl/Jaloro (0.2)
31 | - CHIPageControl/Paprika (0.2)
32 | - CHIPageControl/Puya (0.2)
33 | - CocoaAsyncSocket (7.6.3)
34 | - CryptoSwift (1.4.0)
35 | - DACircularProgress (2.3.1)
36 | - Differentiator (3.1.0)
37 | - Eureka (5.3.2)
38 | - FSPagerView (0.8.3)
39 | - HDWalletKit (0.3.6):
40 | - CryptoSwift (~> 1.4.0)
41 | - secp256k1.c (~> 0.1)
42 | - JSONRPCKit (3.0.0):
43 | - Result (~> 3.2.0)
44 | - KeychainSwift (13.0.0)
45 | - Kingfisher (4.10.1)
46 | - KMNavigationBarTransition (1.1.8)
47 | - MBProgressHUD (1.1.0)
48 | - MJRefresh (3.1.15.7)
49 | - Moya (11.0.2):
50 | - Moya/Core (= 11.0.2)
51 | - Moya/Core (11.0.2):
52 | - Alamofire (~> 4.1)
53 | - Result (~> 3.0)
54 | - "NSObject+Rx (4.4.1)":
55 | - RxSwift (~> 4.3)
56 | - NYXImagesKit (2.3)
57 | - ObjcExceptionBridging (1.0.1):
58 | - ObjcExceptionBridging/ObjcExceptionBridging (= 1.0.1)
59 | - ObjcExceptionBridging/ObjcExceptionBridging (1.0.1)
60 | - ObjectMapper (3.5.1)
61 | - pop (1.0.12)
62 | - PPBadgeViewSwift (3.1.0)
63 | - PromiseKit (6.8.5):
64 | - PromiseKit/CorePromise (= 6.8.5)
65 | - PromiseKit/Foundation (= 6.8.5)
66 | - PromiseKit/UIKit (= 6.8.5)
67 | - PromiseKit/Alamofire (6.8.5):
68 | - Alamofire (~> 4.0)
69 | - PromiseKit/CorePromise
70 | - PromiseKit/CorePromise (6.8.5)
71 | - PromiseKit/Foundation (6.8.5):
72 | - PromiseKit/CorePromise
73 | - PromiseKit/UIKit (6.8.5):
74 | - PromiseKit/CorePromise
75 | - R.swift (5.0.0.alpha.3):
76 | - R.swift.Library (~> 5.0.0.alpha.2)
77 | - R.swift.Library (5.0.1)
78 | - RazzleDazzle (0.1.5)
79 | - ReactorKit (1.2.1):
80 | - RxSwift (>= 4.0.0)
81 | - Result (3.2.4)
82 | - ReusableKit (2.1.0):
83 | - ReusableKit/Core (= 2.1.0)
84 | - ReusableKit/Core (2.1.0)
85 | - RxCocoa (4.5.0):
86 | - RxSwift (>= 4.4.2, ~> 4.4)
87 | - RxDataSources (3.1.0):
88 | - Differentiator (~> 3.0)
89 | - RxCocoa (~> 4.0)
90 | - RxSwift (~> 4.0)
91 | - RxGesture (2.2.0):
92 | - RxCocoa (~> 4.5)
93 | - RxSwift (~> 4.5)
94 | - RxOptional (3.6.2):
95 | - RxCocoa (~> 4.0)
96 | - RxSwift (~> 4.0)
97 | - RxSwift (4.5.0)
98 | - secp256k1.c (0.1.2)
99 | - SnapKit (4.0.1)
100 | - Starscream (3.1.1)
101 | - SwiftAlgorithms (1.0.0)
102 | - SwiftLint (0.31.0)
103 | - SwiftProtobuf (1.17.0)
104 | - SwiftyJSON (4.3.0)
105 | - Then (2.6.0)
106 | - Toast-Swift (4.0.1)
107 | - TrezorCryptoEd25519WithBlake2b (0.0.1)
108 | - URLNavigator (2.4.1)
109 | - Vite_HDWalletKit (1.4.0):
110 | - BigInt
111 | - CryptoSwift (= 1.4.0)
112 | - TrezorCryptoEd25519WithBlake2b (~> 0.0.1)
113 | - ViteBusiness (0.0.1):
114 | - Action
115 | - ActionSheetPicker-3.0
116 | - ActiveLabel (= 1.1.0)
117 | - Alamofire
118 | - APIKit
119 | - BigInt
120 | - Charts (= 4.1.0)
121 | - CHIPageControl
122 | - CryptoSwift
123 | - DACircularProgress (= 2.3.1)
124 | - Eureka (~> 5.3.0)
125 | - FSPagerView
126 | - JSONRPCKit (~> 3.0.0)
127 | - KeychainSwift
128 | - Kingfisher (~> 4.0)
129 | - KMNavigationBarTransition (= 1.1.8)
130 | - MBProgressHUD
131 | - MJRefresh
132 | - Moya
133 | - "NSObject+Rx"
134 | - NYXImagesKit (= 2.3)
135 | - ObjectMapper (= 3.5.1)
136 | - pop (~> 1.0)
137 | - PPBadgeViewSwift (= 3.1.0)
138 | - PromiseKit (~> 6.0)
139 | - PromiseKit/Alamofire
140 | - R.swift (= 5.0.0.alpha.3)
141 | - RazzleDazzle
142 | - ReactorKit
143 | - ReusableKit (~> 2.1.0)
144 | - RxCocoa
145 | - RxDataSources (~> 3.0)
146 | - RxGesture
147 | - RxOptional
148 | - RxSwift (~> 4.0)
149 | - SnapKit (~> 4.0.0)
150 | - Starscream
151 | - SwiftLint
152 | - SwiftProtobuf
153 | - SwiftyJSON
154 | - Then
155 | - Toast-Swift (~> 4.0.1)
156 | - URLNavigator
157 | - Vite_HDWalletKit
158 | - ViteWallet
159 | - web3swift
160 | - XCGLogger (~> 7.0)
161 | - ViteCommunity (0.1.0):
162 | - FSPagerView
163 | - Moya
164 | - R.swift
165 | - URLNavigator
166 | - ViteBusiness
167 | - ViteWallet (0.1.0):
168 | - APIKit
169 | - BigInt
170 | - CryptoSwift
171 | - JSONRPCKit
172 | - ObjectMapper
173 | - PromiseKit
174 | - SwiftyJSON
175 | - Vite_HDWalletKit
176 | - web3swift (2.3.0):
177 | - BigInt (~> 5.0)
178 | - CryptoSwift (~> 1.4.0)
179 | - PromiseKit (~> 6.8.4)
180 | - secp256k1.c (~> 0.1)
181 | - Starscream (~> 3.1.0)
182 | - XCGLogger (7.0.0):
183 | - XCGLogger/Core (= 7.0.0)
184 | - XCGLogger/Core (7.0.0):
185 | - ObjcExceptionBridging
186 |
187 | DEPENDENCIES:
188 | - Action
189 | - ActionSheetPicker-3.0
190 | - APIKit
191 | - Bagel (~> 1.3.2)
192 | - BigInt (~> 5.0)
193 | - Charts (from `https://github.com/danielgindi/Charts.git`, tag `v4.1.0`)
194 | - CHIPageControl
195 | - DACircularProgress (= 2.3.1)
196 | - Eureka (~> 5.3.0)
197 | - FSPagerView
198 | - HDWalletKit (from `https://github.com/vitelabs/HDWallet.git`, commit `26df860a4ce7cb26e299aa4f3e0338e8e7041b26`)
199 | - JSONRPCKit (~> 3.0.0)
200 | - KeychainSwift (= 13.0.0)
201 | - Kingfisher (~> 4.0)
202 | - KMNavigationBarTransition
203 | - MBProgressHUD
204 | - MJRefresh (= 3.1.15.7)
205 | - Moya
206 | - "NSObject+Rx"
207 | - NYXImagesKit (= 2.3)
208 | - ObjectMapper
209 | - pop (~> 1.0)
210 | - PromiseKit (~> 6.8.4)
211 | - R.swift (= 5.0.0.alpha.3)
212 | - RazzleDazzle (from `https://github.com/mazhigbee-pb/RazzleDazzle.git`, branch `xcode-13-beta-fixes`)
213 | - ReactorKit
214 | - ReusableKit (~> 2.1.0)
215 | - RxCocoa
216 | - RxDataSources (~> 3.0)
217 | - RxGesture
218 | - RxOptional
219 | - RxSwift (~> 4.0)
220 | - SnapKit (~> 4.0.0)
221 | - SwiftLint (= 0.31.0)
222 | - SwiftProtobuf (= 1.17.0)
223 | - SwiftyJSON
224 | - Then
225 | - Toast-Swift (~> 4.0.1)
226 | - Vite_HDWalletKit (from `https://github.com/vitelabs/vite-hd-wallet-kit-ios.git`, commit `db67644220ab1582459d08d47119ed26dcba8d47`)
227 | - ViteBusiness (from `https://github.com/vitelabs/vite-business-ios.git`, commit `bc934e2e2b9f3b42139fa1351cbc8c5f277a6673`)
228 | - "ViteCommunity (from `git@github.com:vitelabs/vite-community-ios.git`, commit `ab006971c2b605c60c83424fe5b96846cbdf4216`)"
229 | - ViteWallet (from `https://github.com/vitelabs/vite-swift-kit.git`, commit `981a92d5012a0dcae0324b29e8657e78bced55ed`)
230 | - web3swift (from `https://github.com/vitelabs/web3swift.git`, commit `d2507cce4faa17916efa14fd84922a3e6b411634`)
231 | - XCGLogger (~> 7.0)
232 |
233 | SPEC REPOS:
234 | https://github.com/CocoaPods/Specs.git:
235 | - Action
236 | - ActionSheetPicker-3.0
237 | - ActiveLabel
238 | - Alamofire
239 | - APIKit
240 | - Bagel
241 | - BigInt
242 | - CHIPageControl
243 | - CocoaAsyncSocket
244 | - CryptoSwift
245 | - DACircularProgress
246 | - Differentiator
247 | - Eureka
248 | - FSPagerView
249 | - JSONRPCKit
250 | - KeychainSwift
251 | - Kingfisher
252 | - KMNavigationBarTransition
253 | - MBProgressHUD
254 | - MJRefresh
255 | - Moya
256 | - "NSObject+Rx"
257 | - NYXImagesKit
258 | - ObjcExceptionBridging
259 | - ObjectMapper
260 | - pop
261 | - PPBadgeViewSwift
262 | - PromiseKit
263 | - R.swift
264 | - R.swift.Library
265 | - ReactorKit
266 | - Result
267 | - ReusableKit
268 | - RxCocoa
269 | - RxDataSources
270 | - RxGesture
271 | - RxOptional
272 | - RxSwift
273 | - secp256k1.c
274 | - SnapKit
275 | - Starscream
276 | - SwiftAlgorithms
277 | - SwiftLint
278 | - SwiftProtobuf
279 | - SwiftyJSON
280 | - Then
281 | - Toast-Swift
282 | - TrezorCryptoEd25519WithBlake2b
283 | - URLNavigator
284 | - XCGLogger
285 |
286 | EXTERNAL SOURCES:
287 | Charts:
288 | :git: https://github.com/danielgindi/Charts.git
289 | :tag: v4.1.0
290 | HDWalletKit:
291 | :commit: 26df860a4ce7cb26e299aa4f3e0338e8e7041b26
292 | :git: https://github.com/vitelabs/HDWallet.git
293 | RazzleDazzle:
294 | :branch: xcode-13-beta-fixes
295 | :git: https://github.com/mazhigbee-pb/RazzleDazzle.git
296 | Vite_HDWalletKit:
297 | :commit: db67644220ab1582459d08d47119ed26dcba8d47
298 | :git: https://github.com/vitelabs/vite-hd-wallet-kit-ios.git
299 | ViteBusiness:
300 | :commit: bc934e2e2b9f3b42139fa1351cbc8c5f277a6673
301 | :git: https://github.com/vitelabs/vite-business-ios.git
302 | ViteCommunity:
303 | :commit: ab006971c2b605c60c83424fe5b96846cbdf4216
304 | :git: "git@github.com:vitelabs/vite-community-ios.git"
305 | ViteWallet:
306 | :commit: 981a92d5012a0dcae0324b29e8657e78bced55ed
307 | :git: https://github.com/vitelabs/vite-swift-kit.git
308 | web3swift:
309 | :commit: d2507cce4faa17916efa14fd84922a3e6b411634
310 | :git: https://github.com/vitelabs/web3swift.git
311 |
312 | CHECKOUT OPTIONS:
313 | Charts:
314 | :git: https://github.com/danielgindi/Charts.git
315 | :tag: v4.1.0
316 | HDWalletKit:
317 | :commit: 26df860a4ce7cb26e299aa4f3e0338e8e7041b26
318 | :git: https://github.com/vitelabs/HDWallet.git
319 | RazzleDazzle:
320 | :commit: 5d07292537f20a0b97dcd0d0ff5206fc94a6cbbc
321 | :git: https://github.com/mazhigbee-pb/RazzleDazzle.git
322 | Vite_HDWalletKit:
323 | :commit: db67644220ab1582459d08d47119ed26dcba8d47
324 | :git: https://github.com/vitelabs/vite-hd-wallet-kit-ios.git
325 | ViteBusiness:
326 | :commit: bc934e2e2b9f3b42139fa1351cbc8c5f277a6673
327 | :git: https://github.com/vitelabs/vite-business-ios.git
328 | ViteCommunity:
329 | :commit: ab006971c2b605c60c83424fe5b96846cbdf4216
330 | :git: "git@github.com:vitelabs/vite-community-ios.git"
331 | ViteWallet:
332 | :commit: 981a92d5012a0dcae0324b29e8657e78bced55ed
333 | :git: https://github.com/vitelabs/vite-swift-kit.git
334 | web3swift:
335 | :commit: d2507cce4faa17916efa14fd84922a3e6b411634
336 | :git: https://github.com/vitelabs/web3swift.git
337 |
338 | SPEC CHECKSUMS:
339 | Action: 689181e4c3f6566844178d8a7da6fef39a9597fc
340 | ActionSheetPicker-3.0: eef157d75e151f255c5333d26656c7fbfe905a51
341 | ActiveLabel: 5e3f4de79a1952d4604b845a0610d4776e4b82b3
342 | Alamofire: 85e8a02c69d6020a0d734f6054870d7ecb75cf18
343 | APIKit: b27d79b022733b2f50e7a092e67c4cb9ea30f968
344 | Bagel: 199e0105ac694d6eee9db54dd006c940da6ce81b
345 | BigInt: f668a80089607f521586bbe29513d708491ef2f7
346 | Charts: 354f86803d11d9c35de280587fef50d1af063978
347 | CHIPageControl: a787bf7205c9b7e7fbfc412be36c5e8636b68f86
348 | CocoaAsyncSocket: eafaa68a7e0ec99ead0a7b35015e0bf25d2c8987
349 | CryptoSwift: 7cc902df1784de3b389a387756c7d710f197730c
350 | DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71
351 | Differentiator: be49ca3408f0ecfc761e4c7763d20c62be01b9ad
352 | Eureka: 1c2b8b5892bfb0e972d0fe05f8c09fd89f8625ec
353 | FSPagerView: 670405b2f18e2a87fa37f20b00de783e562c25a8
354 | HDWalletKit: d55aa7a373cb3e2c1ad66d05d7b60f4d62a5a04c
355 | JSONRPCKit: 50e0dc5e7f873e87f81562feb8836b7d1974da6d
356 | KeychainSwift: 23d6c16cbc33f20fafa30c3d783241b4b87d998c
357 | Kingfisher: c148cd7b47ebde9989f6bc7c27dcaa79d81279a0
358 | KMNavigationBarTransition: 7ee1a05ff758bce9258845a803f7a8b00585bd58
359 | MBProgressHUD: e7baa36a220447d8aeb12769bf0585582f3866d9
360 | MJRefresh: 697f8ec75ebdbe9207767bb682cf0f51b0d8a41f
361 | Moya: a725035953bc1c0eb1be505ab903984501d82440
362 | "NSObject+Rx": 9884a92f19b610795c431e10b4e601913b59c9e9
363 | NYXImagesKit: 8163e3335a40eaa173ca5bbbf81fafb57d3947eb
364 | ObjcExceptionBridging: c30e00eb3700467e695faeea30e26e18bd445001
365 | ObjectMapper: 70187b8941977c62ccfb423caf6b50be405cabf0
366 | pop: d582054913807fd11fd50bfe6a539d91c7e1a55a
367 | PPBadgeViewSwift: 18a219a9897f418342c22dd1a54f7b18ac56546b
368 | PromiseKit: 9616b0afef31eae56ab9ce044c8ec2b8612a15cd
369 | R.swift: ca4207ecc94545a1611ca0b2ae1197458b6ba30a
370 | R.swift.Library: cfe85d569d9bae6cb262922db130e7c3a7a5fad1
371 | RazzleDazzle: 6689b7ffb2e6b115ef2249828473e854e004b67c
372 | ReactorKit: 8be57f0527ad1ac2963cd5c338274a46a01e57a3
373 | Result: d2d07204ce72856f1fd9130bbe42c35a7b0fea10
374 | ReusableKit: d0b040de03b293288b0ca27a78602691d3346d9b
375 | RxCocoa: cbf70265dc65a981d4ac982e513c10cf23df24a0
376 | RxDataSources: a843bad90c29817f5923ec8163f4af2de084ceb3
377 | RxGesture: c1b7bf17166b0ef9d642a9510f8bac5785f18990
378 | RxOptional: 80426a0ddbd092573e4c482d8cc13302078c4d5e
379 | RxSwift: f172070dfd1a93d70a9ab97a5a01166206e1c575
380 | secp256k1.c: db47b726585d80f027423682eb369729e61b3b20
381 | SnapKit: 0de968a9fec17499afa29683b05d0c775b6d1c29
382 | Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0
383 | SwiftAlgorithms: 38dda4731d19027fdeee1125f973111bf3386b53
384 | SwiftLint: 7a0227733d786395817373b2d0ca799fd0093ff3
385 | SwiftProtobuf: 9c85136c6ba74b0a1b84279dbf0f6db8efb714e0
386 | SwiftyJSON: 6faa0040f8b59dead0ee07436cbf76b73c08fd08
387 | Then: 90cd104fd951cec1980a03f57704ad8f784d4d79
388 | Toast-Swift: e42a638589a2f95036b4bb7626cfbdde7daf0393
389 | TrezorCryptoEd25519WithBlake2b: e70fc022094a2f2aa8b86117ab1085d7a7b62098
390 | URLNavigator: 9e277a422a5c131a3e37970c2558e0e866cc22bd
391 | Vite_HDWalletKit: 4745b9c3a8ddff3fc00623057dcd194e08fea909
392 | ViteBusiness: f28e37d98328ca03bc28eafb604da0035c69b70c
393 | ViteCommunity: 53ba654a4dfaf02a0c5513f76a817df86177f993
394 | ViteWallet: 3e4470f11ad780bfecbecf5f720ee75a0259d7ad
395 | web3swift: 22ac889fe28306c5d79704711f20b5ed4b21ba5e
396 | XCGLogger: 0434f15e3909cdc450bb63faf638b8792ab782ab
397 |
398 | PODFILE CHECKSUM: c7899baff07d2adb9c5d4b68f3ed1e4e8970be52
399 |
400 | COCOAPODS: 1.11.3
401 |
--------------------------------------------------------------------------------
/Podfile.txt:
--------------------------------------------------------------------------------
1 | platform :ios, '10.0'
2 | inhibit_all_warnings!
3 | source 'https://github.com/CocoaPods/Specs.git'
4 | require './vite_pod'
5 |
6 | targetArray = ['Vite']
7 |
8 | targetArray.each do |t|
9 | target t do
10 | use_frameworks!
11 |
12 | #vite kit
13 |
14 | vite_community_git = 'https://github.com/vitelabs/vite-community-ios.git'
15 | vite_community_commit = '5b84a9fcb0825d174ea5e21c2d515f6b28e6fed4'
16 |
17 | vite_business_git = 'https://github.com/vitelabs/vite-business-ios.git'
18 | vite_business_commit = '05307d9c50a8f31ac1fde1f118e4c7896973995a'
19 |
20 | if t == 'Vite-official'
21 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit, :subspecs => ['Official']
22 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit, :subspecs => ['Official']
23 | elsif t == 'Vite-test'
24 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit, :subspecs => ['Test']
25 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit, :subspecs => ['Test']
26 | elsif t == 'Vite-enterprise'
27 | vite_pod 'ViteCommunity', :git => vite_community_git, :commit => vite_community_commit, :subspecs => ['Enterprise']
28 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit, :subspecs => ['Enterprise']
29 | else
30 | vite_pod 'ViteBusiness', :git => vite_business_git, :commit => vite_business_commit
31 | end
32 |
33 | vite_pod 'ViteUtils', :git => 'https://github.com/vitelabs/vite-utils-ios.git', :commit => '68ccb4840e8b4eab141306e27ffa555352b1b190'
34 | vite_pod 'ViteWallet', :git => 'https://github.com/vitelabs/vite-wallet-ios.git', :commit => 'fbb842cdf99e101fd9659016825739f63ccecc03'
35 | vite_pod 'Vite_HDWalletKit', '1.2.0'
36 |
37 | pod 'SnapKit', '~> 4.0.0'
38 | pod 'BigInt', '~> 3.0'
39 | pod 'R.swift', '5.0.0.alpha.3'
40 | pod 'JSONRPCKit', '~> 3.0.0'
41 | pod 'PromiseKit', '~> 6.0'
42 | pod 'APIKit'
43 | pod 'ObjectMapper'
44 | pod 'MBProgressHUD'
45 | pod 'KeychainSwift'
46 | pod 'Moya'
47 | pod 'MJRefresh'
48 | pod 'KMNavigationBarTransition'
49 | pod 'XCGLogger', '~> 6.1.0'
50 | pod 'pop', '~> 1.0'
51 | pod 'DACircularProgress', '2.3.1'
52 | pod 'Kingfisher', '~> 4.0'
53 | pod 'NYXImagesKit', '2.3'
54 |
55 | #request
56 | pod 'SwiftyJSON'
57 |
58 | #statistics
59 | pod 'BaiduMobStat'
60 |
61 | #UI Control
62 | pod 'ActionSheetPicker-3.0'
63 | pod 'MBProgressHUD'
64 | pod 'Toast-Swift', '~> 4.0.1'
65 | pod 'RazzleDazzle'
66 | pod 'CHIPageControl'
67 |
68 | #table static form
69 | pod 'Eureka', '~> 4.3.0'
70 |
71 | #RX
72 | pod 'RxSwift', '~> 4.0'
73 | pod 'RxCocoa'
74 | pod 'RxDataSources', '~> 3.0'
75 | pod 'NSObject+Rx'
76 | pod 'RxOptional'
77 | pod 'RxGesture'
78 | pod 'Then'
79 | pod 'Action'
80 | pod 'ReusableKit', '~> 2.1.0'
81 | pod 'ReactorKit'
82 |
83 | #code review
84 | pod 'SwiftLint'
85 |
86 | #crash
87 | pod 'Fabric'
88 | pod 'Crashlytics'
89 |
90 | pod 'MLeaksFinder', :configurations => ['Debug']
91 |
92 | pod 'FSPagerView'
93 | pod 'DNSPageView'
94 |
95 | if t == 'Vite'
96 | target 'ViteTests' do
97 | inherit! :search_paths
98 | end
99 | end
100 |
101 | end
102 | end
103 |
104 | post_install do |installer|
105 | installer.pods_project.targets.each do |target|
106 | if ['RazzleDazzle', 'JSONRPCKit', 'APIKit'].include? target.name
107 | target.build_configurations.each do |config|
108 | config.build_settings['SWIFT_VERSION'] = '4.0'
109 | end
110 | end
111 | end
112 | end
113 |
--------------------------------------------------------------------------------
/PushService/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleDisplayName
8 | PushService
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | XPC!
19 | CFBundleShortVersionString
20 | $(MARKETING_VERSION)
21 | CFBundleVersion
22 | $(CURRENT_PROJECT_VERSION)
23 | NSExtension
24 |
25 | NSExtensionPointIdentifier
26 | com.apple.usernotifications.service
27 | NSExtensionPrincipalClass
28 | $(PRODUCT_MODULE_NAME).NotificationService
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/PushService/NotificationService.swift:
--------------------------------------------------------------------------------
1 | //
2 | // NotificationService.swift
3 | // PushService
4 | //
5 | // Created by haoshenyang on 2018/12/17.
6 | // Copyright © 2018 vite labs. All rights reserved.
7 | //
8 |
9 | import UserNotifications
10 |
11 | class NotificationService: UNNotificationServiceExtension {
12 |
13 | var contentHandler: ((UNNotificationContent) -> Void)?
14 | var bestAttemptContent: UNMutableNotificationContent?
15 |
16 | override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
17 |
18 | self.contentHandler = contentHandler
19 | bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
20 |
21 | if let bestAttemptContent = bestAttemptContent {
22 | contentHandler(bestAttemptContent)
23 | }
24 | }
25 |
26 | override func serviceExtensionTimeWillExpire() {
27 | // Called just before the extension will be terminated by the system.
28 | // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
29 | if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
30 | contentHandler(bestAttemptContent)
31 | }
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/PushService/PushService-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 |
--------------------------------------------------------------------------------
/R.generated.swift:
--------------------------------------------------------------------------------
1 | //
2 | // This is a generated file, do not edit!
3 | // Generated by R.swift, see https://github.com/mac-cain13/R.swift
4 | //
5 |
6 | import Foundation
7 | import Rswift
8 | import UIKit
9 |
10 | /// This `R` struct is generated and contains references to static resources.
11 | struct R: Rswift.Validatable {
12 | fileprivate static let applicationLocale = hostingBundle.preferredLocalizations.first.flatMap(Locale.init) ?? Locale.current
13 | fileprivate static let hostingBundle = Bundle(for: R.Class.self)
14 |
15 | static func validate() throws {
16 | try intern.validate()
17 | }
18 |
19 | /// This `R.file` struct is generated, and contains static references to 1 files.
20 | struct file {
21 | /// Resource file `GoogleService-Info.plist`.
22 | static let googleServiceInfoPlist = Rswift.FileResource(bundle: R.hostingBundle, name: "GoogleService-Info", pathExtension: "plist")
23 |
24 | /// `bundle.url(forResource: "GoogleService-Info", withExtension: "plist")`
25 | static func googleServiceInfoPlist(_: Void = ()) -> Foundation.URL? {
26 | let fileResource = R.file.googleServiceInfoPlist
27 | return fileResource.bundle.url(forResource: fileResource)
28 | }
29 |
30 | fileprivate init() {}
31 | }
32 |
33 | /// This `R.image` struct is generated, and contains static references to 3 images.
34 | struct image {
35 | /// Image `icon_tabbar_discover_select`.
36 | static let icon_tabbar_discover_select = Rswift.ImageResource(bundle: R.hostingBundle, name: "icon_tabbar_discover_select")
37 | /// Image `icon_tabbar_discover`.
38 | static let icon_tabbar_discover = Rswift.ImageResource(bundle: R.hostingBundle, name: "icon_tabbar_discover")
39 | /// Image `launch_logo`.
40 | static let launch_logo = Rswift.ImageResource(bundle: R.hostingBundle, name: "launch_logo")
41 |
42 | /// `UIImage(named: "icon_tabbar_discover", bundle: ..., traitCollection: ...)`
43 | static func icon_tabbar_discover(compatibleWith traitCollection: UIKit.UITraitCollection? = nil) -> UIKit.UIImage? {
44 | return UIKit.UIImage(resource: R.image.icon_tabbar_discover, compatibleWith: traitCollection)
45 | }
46 |
47 | /// `UIImage(named: "icon_tabbar_discover_select", bundle: ..., traitCollection: ...)`
48 | static func icon_tabbar_discover_select(compatibleWith traitCollection: UIKit.UITraitCollection? = nil) -> UIKit.UIImage? {
49 | return UIKit.UIImage(resource: R.image.icon_tabbar_discover_select, compatibleWith: traitCollection)
50 | }
51 |
52 | /// `UIImage(named: "launch_logo", bundle: ..., traitCollection: ...)`
53 | static func launch_logo(compatibleWith traitCollection: UIKit.UITraitCollection? = nil) -> UIKit.UIImage? {
54 | return UIKit.UIImage(resource: R.image.launch_logo, compatibleWith: traitCollection)
55 | }
56 |
57 | fileprivate init() {}
58 | }
59 |
60 | /// This `R.storyboard` struct is generated, and contains static references to 1 storyboards.
61 | struct storyboard {
62 | /// Storyboard `LaunchScreen`.
63 | static let launchScreen = _R.storyboard.launchScreen()
64 |
65 | /// `UIStoryboard(name: "LaunchScreen", bundle: ...)`
66 | static func launchScreen(_: Void = ()) -> UIKit.UIStoryboard {
67 | return UIKit.UIStoryboard(resource: R.storyboard.launchScreen)
68 | }
69 |
70 | fileprivate init() {}
71 | }
72 |
73 | fileprivate struct intern: Rswift.Validatable {
74 | fileprivate static func validate() throws {
75 | try _R.validate()
76 | }
77 |
78 | fileprivate init() {}
79 | }
80 |
81 | fileprivate class Class {}
82 |
83 | fileprivate init() {}
84 | }
85 |
86 | struct _R: Rswift.Validatable {
87 | static func validate() throws {
88 | try storyboard.validate()
89 | }
90 |
91 | struct storyboard: Rswift.Validatable {
92 | static func validate() throws {
93 | try launchScreen.validate()
94 | }
95 |
96 | struct launchScreen: Rswift.StoryboardResourceWithInitialControllerType, Rswift.Validatable {
97 | typealias InitialController = UIKit.UIViewController
98 |
99 | let bundle = R.hostingBundle
100 | let name = "LaunchScreen"
101 |
102 | static func validate() throws {
103 | if UIKit.UIImage(named: "launch_logo", in: R.hostingBundle, compatibleWith: nil) == nil { throw Rswift.ValidationError(description: "[R.swift] Image named 'launch_logo' is used in storyboard 'LaunchScreen', but couldn't be loaded.") }
104 | if #available(iOS 11.0, *) {
105 | }
106 | }
107 |
108 | fileprivate init() {}
109 | }
110 |
111 | fileprivate init() {}
112 | }
113 |
114 | fileprivate init() {}
115 | }
116 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Vite App for iOS
2 |
3 |
4 |
5 |

6 |
7 |
8 |
9 | [](https://travis-ci.org/vitelabs/vite-app-ios)
10 |
11 | ## What is Vite?
12 |
13 | ---
14 |
15 | Vite is a next-generation Reactive Blockchain that adopts a _message-driven, asynchronous architecture and a DAG-based ledger_. The goal for Vite’s design is to _provide a reliable public platform for industrial dApps_, with features of ultra-high throughput and scalability.
16 |
17 |
18 | ---
19 |
20 | ## Guides & Documentation
21 | * [White Paper](https://www.vite.org/whitepaper/vite_en.pdf)
22 | * [Documentation](https://vite.wiki/)
23 | * [Techblog](https://vite.blog/)
24 |
25 | ## Product
26 | * [Desktop Wallet](https://github.com/vitelabs/vite-wallet)
27 | * [Testnet Explorer](https://testnet.vite.net/)
28 | * [Vite.net](https://vite.net/)
29 |
30 | ## Links & Resources
31 | * [Website](https://www.vite.org/)
32 | * [Twitter](https://twitter.com/vitelabs)
33 | * [Telegram](https://t.me/vite_en)
34 | * [Telegram Announcement](https://t.me/vite_ann)
35 | * [Reddit](https://www.reddit.com/r/vitelabs)
36 | * [Discord](https://discordapp.com/invite/CsVY76q)
37 | * [Youtube](https://www.youtube.com/channel/UC8qft2rEzBnP9yJOGdsJBVg)
38 |
39 | ## Build
40 | 1. [Download](https://developer.apple.com/xcode/download/) the Xcode
41 | 2. Clone this repository.
42 | 3. Enter vite-app-ios folder
43 | 4. bundle install
44 | 5. sh bootstrap
45 | 6. Open Vite.xcworkspace
46 | 7. Run
47 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/xcshareddata/xcschemes/PushService.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
10 |
16 |
22 |
23 |
24 |
30 |
36 |
37 |
38 |
44 |
50 |
51 |
52 |
53 |
54 |
59 |
60 |
61 |
62 |
68 |
69 |
70 |
71 |
72 |
73 |
84 |
85 |
91 |
92 |
93 |
94 |
95 |
96 |
103 |
104 |
110 |
111 |
112 |
113 |
115 |
116 |
119 |
120 |
121 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/xcshareddata/xcschemes/Vite.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
55 |
57 |
63 |
64 |
65 |
66 |
67 |
68 |
74 |
76 |
82 |
83 |
84 |
85 |
87 |
88 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/xcshareddata/xcschemes/ViteDapp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/xcshareddata/xcschemes/ViteOfficial.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
52 |
54 |
60 |
61 |
62 |
63 |
69 |
71 |
77 |
78 |
79 |
80 |
82 |
83 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Vite.xcodeproj/xcshareddata/xcschemes/ViteTest.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
42 |
52 |
54 |
60 |
61 |
62 |
63 |
69 |
71 |
77 |
78 |
79 |
80 |
82 |
83 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Vite.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Vite.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Vite.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded
6 |
7 | PreviewsEnabled
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Vite/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // Vite
4 | //
5 | // Created by Water on 2018/8/15.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 | import UIKit
10 | import RxSwift
11 | import NSObject_Rx
12 | import Vite_HDWalletKit
13 | import ViteBusiness
14 | //import Firebase
15 | import UserNotifications
16 |
17 | #if OFFICIAL
18 | import ViteCommunity
19 | #endif
20 |
21 | #if TEST
22 | import Bagel
23 | #endif
24 |
25 | class AppDelegate: UIResponder, UIApplicationDelegate {
26 |
27 | let window = UIWindow(frame: UIScreen.main.bounds)
28 |
29 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
30 |
31 | plog(level: .info, log: "DidFinishLaunching", tag: .life)
32 |
33 | #if TEST
34 | Bagel.start()
35 | #endif
36 |
37 | #if OFFICIAL
38 | // FirebaseApp.configure()
39 | VitePushManager.instance.start()
40 | ViteCommunity.register()
41 | ViteBusinessLanucher.instance.add(homePageSubTabViewController: DiscoverViewController.createNavVC(), atIndex: 1)
42 | #endif
43 |
44 | ViteBusinessLanucher.instance.start(with: window)
45 | return true
46 | }
47 |
48 | func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
49 | return ViteBusinessLanucher.instance.application(app, open: url)
50 | }
51 |
52 | func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
53 | if userActivity.activityType == NSUserActivityTypeBrowsingWeb, let url = userActivity.webpageURL {
54 | _ = ViteBusinessLanucher.instance.application(application, open: url)
55 | }
56 | return true
57 | }
58 |
59 | func applicationWillResignActive(_ application: UIApplication) {
60 | plog(level: .info, log: "WillResignActive", tag: .life)
61 | }
62 |
63 | func applicationDidEnterBackground(_ application: UIApplication) {
64 | application.applicationIconBadgeNumber = 0
65 | plog(level: .info, log: "DidEnterBackground", tag: .life)
66 | }
67 |
68 | func applicationWillEnterForeground(_ application: UIApplication) {
69 | plog(level: .info, log: "WillEnterForeground", tag: .life)
70 | }
71 |
72 | func applicationDidBecomeActive(_ application: UIApplication) {
73 | plog(level: .info, log: "DidBecomeActive", tag: .life)
74 | }
75 |
76 | func applicationWillTerminate(_ application: UIApplication) {
77 | plog(level: .info, log: "WillTerminate", tag: .life)
78 | }
79 | #if OFFICIAL
80 | func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
81 | VitePushManager.instance.model.deviceToken = deviceToken.toHexString()
82 | }
83 | #endif
84 | }
85 |
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@2x-1.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/20pt@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@1x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@1x-1.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@2x-1.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/29pt@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@2x-1.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/40pt@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/50@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/50@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/50@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/57@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/57@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/57@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/60pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/60pt@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/60pt@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/60pt@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/72@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/72@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/72@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/76pt@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/76pt@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/76pt@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/76pt@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "20pt@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "20pt@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "29pt@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "29pt@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "29pt@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "40pt@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "40pt@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "57x57",
47 | "idiom" : "iphone",
48 | "filename" : "57@1x.png",
49 | "scale" : "1x"
50 | },
51 | {
52 | "size" : "57x57",
53 | "idiom" : "iphone",
54 | "filename" : "57@2x.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "size" : "60x60",
59 | "idiom" : "iphone",
60 | "filename" : "60pt@2x.png",
61 | "scale" : "2x"
62 | },
63 | {
64 | "size" : "60x60",
65 | "idiom" : "iphone",
66 | "filename" : "60pt@3x.png",
67 | "scale" : "3x"
68 | },
69 | {
70 | "size" : "20x20",
71 | "idiom" : "ipad",
72 | "filename" : "20pt@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "20x20",
77 | "idiom" : "ipad",
78 | "filename" : "20pt@2x-1.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "29x29",
83 | "idiom" : "ipad",
84 | "filename" : "29pt@1x-1.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "29x29",
89 | "idiom" : "ipad",
90 | "filename" : "29pt@2x-1.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "40x40",
95 | "idiom" : "ipad",
96 | "filename" : "40pt@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "40x40",
101 | "idiom" : "ipad",
102 | "filename" : "40pt@2x-1.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "50x50",
107 | "idiom" : "ipad",
108 | "filename" : "50@1x.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "50x50",
113 | "idiom" : "ipad",
114 | "filename" : "50@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "72x72",
119 | "idiom" : "ipad",
120 | "filename" : "72@1x.png",
121 | "scale" : "1x"
122 | },
123 | {
124 | "size" : "72x72",
125 | "idiom" : "ipad",
126 | "filename" : "72@2x.png",
127 | "scale" : "2x"
128 | },
129 | {
130 | "size" : "76x76",
131 | "idiom" : "ipad",
132 | "filename" : "76pt@1x.png",
133 | "scale" : "1x"
134 | },
135 | {
136 | "size" : "76x76",
137 | "idiom" : "ipad",
138 | "filename" : "76pt@2x.png",
139 | "scale" : "2x"
140 | },
141 | {
142 | "size" : "83.5x83.5",
143 | "idiom" : "ipad",
144 | "filename" : "Icon-App-83.5x83.5@2x.png",
145 | "scale" : "2x"
146 | },
147 | {
148 | "size" : "1024x1024",
149 | "idiom" : "ios-marketing",
150 | "filename" : "Icon Template.png",
151 | "scale" : "1x"
152 | }
153 | ],
154 | "info" : {
155 | "version" : 1,
156 | "author" : "xcode"
157 | }
158 | }
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/Icon Template.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/Icon Template.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon-dapp.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon-dapp.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/Vite/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" : "57x57",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-57x57@1x.png",
49 | "scale" : "1x"
50 | },
51 | {
52 | "size" : "57x57",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-57x57@2x.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "size" : "60x60",
59 | "idiom" : "iphone",
60 | "filename" : "Icon-App-60x60@2x.png",
61 | "scale" : "2x"
62 | },
63 | {
64 | "size" : "60x60",
65 | "idiom" : "iphone",
66 | "filename" : "Icon-App-60x60@3x.png",
67 | "scale" : "3x"
68 | },
69 | {
70 | "size" : "20x20",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-20x20@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "20x20",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-20x20@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "29x29",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-29x29@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "29x29",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-29x29@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "40x40",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-40x40@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "40x40",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-40x40@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "50x50",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-Small-50x50@1x.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "50x50",
113 | "idiom" : "ipad",
114 | "filename" : "Icon-Small-50x50@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "72x72",
119 | "idiom" : "ipad",
120 | "filename" : "Icon-App-72x72@1x.png",
121 | "scale" : "1x"
122 | },
123 | {
124 | "size" : "72x72",
125 | "idiom" : "ipad",
126 | "filename" : "Icon-App-72x72@2x.png",
127 | "scale" : "2x"
128 | },
129 | {
130 | "size" : "76x76",
131 | "idiom" : "ipad",
132 | "filename" : "Icon-App-76x76@1x.png",
133 | "scale" : "1x"
134 | },
135 | {
136 | "size" : "76x76",
137 | "idiom" : "ipad",
138 | "filename" : "Icon-App-76x76@2x.png",
139 | "scale" : "2x"
140 | },
141 | {
142 | "size" : "83.5x83.5",
143 | "idiom" : "ipad",
144 | "filename" : "Icon-App-83.5x83.5@2x.png",
145 | "scale" : "2x"
146 | },
147 | {
148 | "size" : "1024x1024",
149 | "idiom" : "ios-marketing",
150 | "filename" : "iTunesArtwork@2x.png",
151 | "scale" : "1x"
152 | }
153 | ],
154 | "info" : {
155 | "version" : 1,
156 | "author" : "xcode"
157 | }
158 | }
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@1x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/Icon-Small-50x50@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/AppIcon.appiconset/iTunesArtwork@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/icon_tabbar_discover.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_discover@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_discover@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/icon_tabbar_discover.imageset/icon_tabbar_discover@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/icon_tabbar_discover.imageset/icon_tabbar_discover@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/icon_tabbar_discover.imageset/icon_tabbar_discover@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/icon_tabbar_discover.imageset/icon_tabbar_discover@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/icon_tabbar_discover_select.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "icon_tabbar_discover_select@2x.png",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "icon_tabbar_discover_select@3x.png",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/icon_tabbar_discover_select.imageset/icon_tabbar_discover_select@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/icon_tabbar_discover_select.imageset/icon_tabbar_discover_select@2x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/icon_tabbar_discover_select.imageset/icon_tabbar_discover_select@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/icon_tabbar_discover_select.imageset/icon_tabbar_discover_select@3x.png
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/launch_logo.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "launch_logo.pdf",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "scale" : "3x"
15 | }
16 | ],
17 | "info" : {
18 | "version" : 1,
19 | "author" : "xcode"
20 | }
21 | }
--------------------------------------------------------------------------------
/Vite/Assets.xcassets/launch_logo.imageset/launch_logo.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Assets.xcassets/launch_logo.imageset/launch_logo.pdf
--------------------------------------------------------------------------------
/Vite/DenyPtrace.c:
--------------------------------------------------------------------------------
1 | //
2 | // main.swift
3 | // Vite
4 | //
5 | // Created by Water on 2019/1/24.
6 | // Copyright © 2019 vite labs. All rights reserved.
7 | //
8 |
9 | #include
10 | #import
11 | #import
12 | #import
13 | #define A(c) (c) - 0x19
14 | #define UNHIDE_STR(str) do { char *p = str; while (*p) *p++ += 0x19; } while (0)
15 | #define HIDE_STR(str) do { char *p = str; while (*p) *p++ -= 0x19; } while (0)
16 | typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);
17 | #if !defined(PT_DENY_ATTACH)
18 | #define PT_DENY_ATTACH 31
19 | #endif
20 |
21 | void disable_gdb() {
22 | void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
23 | char str[ ] = {
24 | A('p'), A('t'), A('r'), A('a'), A('c'),
25 | A('e'), 0
26 | };
27 | UNHIDE_STR(str);
28 | char string[6];
29 | int i;
30 | for(i=0;i<6;i++){
31 | string[i]=str[i];
32 | }
33 | string[i]='\0';
34 | ptrace_ptr_t ptrace_ptr = dlsym(handle, string);
35 | ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);
36 | dlclose(handle);
37 | }
38 |
--------------------------------------------------------------------------------
/Vite/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleAllowMixedLocalizations
6 |
7 | CFBundleDevelopmentRegion
8 | $(DEVELOPMENT_LANGUAGE)
9 | CFBundleDisplayName
10 | $(PRODUCT_NAME)
11 | CFBundleDocumentTypes
12 |
13 |
14 | CFBundleTypeIconFiles
15 |
16 | CFBundleTypeName
17 | Grin Slate Initial File
18 | CFBundleTypeRole
19 | Editor
20 | LSHandlerRank
21 | Owner
22 | LSItemContentTypes
23 |
24 | com.vite.grinwallet.grinslateinitial
25 |
26 |
27 |
28 | CFBundleTypeIconFiles
29 |
30 | CFBundleTypeName
31 | Grin Slate Response File
32 | CFBundleTypeRole
33 | Editor
34 | LSHandlerRank
35 | Owner
36 | LSItemContentTypes
37 |
38 | com.vite.grinwallet.grinslateresponse
39 |
40 |
41 |
42 | CFBundleTypeIconFiles
43 |
44 | CFBundleTypeName
45 | Grin Slate File
46 | CFBundleTypeRole
47 | Viewer
48 | LSHandlerRank
49 | Default
50 | LSItemContentTypes
51 |
52 | public.data
53 | public.content
54 |
55 |
56 |
57 | CFBundleExecutable
58 | $(EXECUTABLE_NAME)
59 | CFBundleIdentifier
60 | $(PRODUCT_BUNDLE_IDENTIFIER)
61 | CFBundleInfoDictionaryVersion
62 | 6.0
63 | CFBundleName
64 | $(PRODUCT_NAME)
65 | CFBundlePackageType
66 | APPL
67 | CFBundleShortVersionString
68 | $(MARKETING_VERSION)
69 | CFBundleURLTypes
70 |
71 |
72 | CFBundleTypeRole
73 | Editor
74 | CFBundleURLName
75 | net.vite.wallet
76 | CFBundleURLSchemes
77 |
78 | viteapp
79 |
80 |
81 |
82 | CFBundleVersion
83 | $(CURRENT_PROJECT_VERSION)
84 | ITSAppUsesNonExemptEncryption
85 |
86 | LSRequiresIPhoneOS
87 |
88 | LSSupportsOpeningDocumentsInPlace
89 |
90 | NSAppTransportSecurity
91 |
92 | NSAllowsArbitraryLoads
93 |
94 |
95 | NSCameraUsageDescription
96 | This app uses the camera to read QR codes
97 | NSFaceIDUsageDescription
98 | This app can unlock with Face ID
99 | NSPhotoLibraryAddUsageDescription
100 | This app uses the album to import QR codes
101 | NSPhotoLibraryUsageDescription
102 | This app uses the album to import QR codes
103 | UIBackgroundModes
104 |
105 | remote-notification
106 |
107 | UILaunchStoryboardName
108 | LaunchScreen
109 | UIRequiredDeviceCapabilities
110 |
111 | armv7
112 |
113 | UISupportedInterfaceOrientations
114 |
115 | UIInterfaceOrientationPortrait
116 |
117 | UISupportedInterfaceOrientations~ipad
118 |
119 | UIInterfaceOrientationPortrait
120 | UIInterfaceOrientationPortraitUpsideDown
121 | UIInterfaceOrientationLandscapeLeft
122 | UIInterfaceOrientationLandscapeRight
123 |
124 | UIViewControllerBasedStatusBarAppearance
125 |
126 | UTExportedTypeDeclarations
127 |
128 |
129 | UTTypeConformsTo
130 |
131 | public.data
132 | public.content
133 |
134 | UTTypeDescription
135 | Grin Slate Initial File
136 | UTTypeIconFiles
137 |
138 | UTTypeIdentifier
139 | com.vite.grinwallet.grinslateinitial
140 | UTTypeTagSpecification
141 |
142 | public.filename-extension
143 |
144 | grinslate
145 |
146 |
147 |
148 |
149 | UTTypeConformsTo
150 |
151 | public.data
152 | public.content
153 |
154 | UTTypeDescription
155 | Grin Slate Response File
156 | UTTypeIconFiles
157 |
158 | UTTypeIdentifier
159 | com.vite.grinwallet.grinslateresponse
160 | UTTypeTagSpecification
161 |
162 | public.filename-extension
163 |
164 | response
165 |
166 |
167 |
168 |
169 | UTTypeConformsTo
170 |
171 | public.data
172 | public.content
173 |
174 | UTTypeDescription
175 | Grin Slate File
176 | UTTypeIconFiles
177 |
178 | UTTypeIdentifier
179 | com.vite.grinwallet.grinslatejson
180 | UTTypeTagSpecification
181 |
182 | public.filename-extension
183 |
184 | json
185 | tx
186 | txt
187 |
188 |
189 |
190 |
191 |
192 |
193 |
--------------------------------------------------------------------------------
/Vite/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/Vite/Resource/Firebase/enterprise/GoogleService-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | AD_UNIT_ID_FOR_BANNER_TEST
6 | ca-app-pub-3940256099942544/2934735716
7 | AD_UNIT_ID_FOR_INTERSTITIAL_TEST
8 | ca-app-pub-3940256099942544/4411468910
9 | CLIENT_ID
10 | 249575909042-fl4265e88c0vp5n2vbcdt8l87is08fuu.apps.googleusercontent.com
11 | REVERSED_CLIENT_ID
12 | com.googleusercontent.apps.249575909042-fl4265e88c0vp5n2vbcdt8l87is08fuu
13 | API_KEY
14 | AIzaSyDn0AleV96MCXGn0Wd47tYYwubboDx2lLs
15 | GCM_SENDER_ID
16 | 249575909042
17 | PLIST_VERSION
18 | 1
19 | BUNDLE_ID
20 | net.vite.wallet.ep
21 | PROJECT_ID
22 | vitelabs-212608
23 | STORAGE_BUCKET
24 | vitelabs-212608.appspot.com
25 | IS_ADS_ENABLED
26 |
27 | IS_ANALYTICS_ENABLED
28 |
29 | IS_APPINVITE_ENABLED
30 |
31 | IS_GCM_ENABLED
32 |
33 | IS_SIGNIN_ENABLED
34 |
35 | GOOGLE_APP_ID
36 | 1:249575909042:ios:b76164cbd4bc00ab
37 | DATABASE_URL
38 | https://vitelabs-212608.firebaseio.com
39 |
40 |
--------------------------------------------------------------------------------
/Vite/Resource/Firebase/official/GoogleService-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CLIENT_ID
6 | 386323295256-27hipt1g950jj6fsv6qctm6vdr4mi3h7.apps.googleusercontent.com
7 | REVERSED_CLIENT_ID
8 | com.googleusercontent.apps.386323295256-27hipt1g950jj6fsv6qctm6vdr4mi3h7
9 | API_KEY
10 | AIzaSyDQC9J3TPJqgTa2mkadwquh8gQd7UncSt0
11 | GCM_SENDER_ID
12 | 386323295256
13 | PLIST_VERSION
14 | 1
15 | BUNDLE_ID
16 | net.vite.wallet
17 | PROJECT_ID
18 | vite-wallet-ios-app
19 | STORAGE_BUCKET
20 | vite-wallet-ios-app.appspot.com
21 | IS_ADS_ENABLED
22 |
23 | IS_ANALYTICS_ENABLED
24 |
25 | IS_APPINVITE_ENABLED
26 |
27 | IS_GCM_ENABLED
28 |
29 | IS_SIGNIN_ENABLED
30 |
31 | GOOGLE_APP_ID
32 | 1:386323295256:ios:8535365715c3a766ec276d
33 |
34 |
--------------------------------------------------------------------------------
/Vite/Resource/Localization/Localizable.strings:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/vitelabs/vite-app-ios/59d9b627c0b5997dd47f7ff99fd43ac3018a9a75/Vite/Resource/Localization/Localizable.strings
--------------------------------------------------------------------------------
/Vite/Resource/Localization/en.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | Vite
4 |
5 | Created by Water on 2018/8/20.
6 | Copyright © 2018 vite labs. All rights reserved.
7 | */
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Vite/Resource/Localization/zh-Hans.lproj/Localizable.strings:
--------------------------------------------------------------------------------
1 | /*
2 | Localizable.strings
3 | Vite
4 |
5 | Created by Water on 2018/8/20.
6 | Copyright © 2018年 vite labs. All rights reserved.
7 | */
8 |
9 |
--------------------------------------------------------------------------------
/Vite/Vite-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Vite-Bridging-Header.h
3 | // Vite
4 | //
5 | // Created by Water on 2018/9/17.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 |
10 | void disable_gdb();
11 |
--------------------------------------------------------------------------------
/Vite/Vite.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | aps-environment
6 | development
7 | com.apple.developer.associated-domains
8 |
9 | applinks:app.vite.net
10 | applinks:vite-wallet-test2.netlify.com
11 |
12 | keychain-access-groups
13 |
14 | $(AppIdentifierPrefix)com.vite.org.Vite
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Vite/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | Vite
4 |
5 | Created by Stone on 2018/10/18.
6 | Copyright © 2018年 vite labs. All rights reserved.
7 | */
8 |
9 | NSCameraUsageDescription = "This app uses the camera to read QR codes";
10 | NSFaceIDUsageDescription = "This app can unlock with Face ID";
11 | NSPhotoLibraryAddUsageDescription = "This app uses the album to import QR codes";
12 | NSPhotoLibraryUsageDescription = "This app uses the album to import QR codes";
13 |
--------------------------------------------------------------------------------
/Vite/main.swift:
--------------------------------------------------------------------------------
1 | //
2 | // main.swift
3 | // Vite
4 | //
5 | // Created by Water on 2019/1/24.
6 | // Copyright © 2019 vite labs. All rights reserved.
7 | //
8 | import Foundation
9 | import UIKit
10 |
11 | autoreleasepool {
12 | #if !(DEBUG)
13 | disable_gdb()
14 | #endif
15 | UIApplicationMain(
16 | CommandLine.argc, CommandLine.unsafeArgv,
17 | nil, NSStringFromClass(AppDelegate.self)
18 | )
19 | }
20 |
--------------------------------------------------------------------------------
/Vite/zh-Hans.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /*
2 | InfoPlist.strings
3 | Vite
4 |
5 | Created by Stone on 2018/10/18.
6 | Copyright © 2018年 vite labs. All rights reserved.
7 | */
8 |
9 | NSCameraUsageDescription = "App 可以通过相机扫描二维码地址";
10 | NSFaceIDUsageDescription = "App 可以通过 Face ID 进行解锁";
11 | NSPhotoLibraryAddUsageDescription = "App 可以通过相册识别二维码地址";
12 | NSPhotoLibraryUsageDescription = "App 可以通过相册识别二维码地址";
13 |
--------------------------------------------------------------------------------
/ViteDapp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleAllowMixedLocalizations
6 |
7 | CFBundleDevelopmentRegion
8 | $(DEVELOPMENT_LANGUAGE)
9 | CFBundleDisplayName
10 | Dapp Master
11 | CFBundleDocumentTypes
12 |
13 |
14 | CFBundleTypeIconFiles
15 |
16 | CFBundleTypeName
17 | Grin Slate Initial File
18 | CFBundleTypeRole
19 | Editor
20 | LSHandlerRank
21 | Owner
22 | LSItemContentTypes
23 |
24 | com.vite.grinwallet.grinslateinitial
25 |
26 |
27 |
28 | CFBundleTypeIconFiles
29 |
30 | CFBundleTypeName
31 | Grin Slate Response File
32 | CFBundleTypeRole
33 | Editor
34 | LSHandlerRank
35 | Owner
36 | LSItemContentTypes
37 |
38 | com.vite.grinwallet.grinslateresponse
39 |
40 |
41 |
42 | CFBundleTypeIconFiles
43 |
44 | CFBundleTypeName
45 | Grin Slate File
46 | CFBundleTypeRole
47 | Editor
48 | LSHandlerRank
49 | Owner
50 | LSItemContentTypes
51 |
52 | com.vite.grinwallet.grinslatejson
53 |
54 |
55 |
56 | CFBundleExecutable
57 | $(EXECUTABLE_NAME)
58 | CFBundleIdentifier
59 | $(PRODUCT_BUNDLE_IDENTIFIER)
60 | CFBundleInfoDictionaryVersion
61 | 6.0
62 | CFBundleName
63 | $(PRODUCT_NAME)
64 | CFBundlePackageType
65 | APPL
66 | CFBundleShortVersionString
67 | $(MARKETING_VERSION)
68 | CFBundleVersion
69 | $(CURRENT_PROJECT_VERSION)
70 | ITSAppUsesNonExemptEncryption
71 |
72 | LSRequiresIPhoneOS
73 |
74 | LSSupportsOpeningDocumentsInPlace
75 |
76 | NSAppTransportSecurity
77 |
78 | NSAllowsArbitraryLoads
79 |
80 |
81 | NSCameraUsageDescription
82 | This app uses the camera to read QR codes
83 | NSFaceIDUsageDescription
84 | This app can unlock with Face ID
85 | NSPhotoLibraryAddUsageDescription
86 | This app uses the album to import QR codes
87 | NSPhotoLibraryUsageDescription
88 | This app uses the album to import QR codes
89 | UIBackgroundModes
90 |
91 | remote-notification
92 |
93 | UILaunchStoryboardName
94 | LaunchScreen
95 | UIRequiredDeviceCapabilities
96 |
97 | armv7
98 |
99 | UISupportedInterfaceOrientations
100 |
101 | UIInterfaceOrientationPortrait
102 |
103 | UISupportedInterfaceOrientations~ipad
104 |
105 | UIInterfaceOrientationPortrait
106 | UIInterfaceOrientationPortraitUpsideDown
107 | UIInterfaceOrientationLandscapeLeft
108 | UIInterfaceOrientationLandscapeRight
109 |
110 | UIViewControllerBasedStatusBarAppearance
111 |
112 | UTExportedTypeDeclarations
113 |
114 |
115 | UTTypeConformsTo
116 |
117 | public.data
118 |
119 | UTTypeDescription
120 | Grin Slate Initial File
121 | UTTypeIconFiles
122 |
123 | UTTypeIdentifier
124 | com.vite.grinwallet.grinslateinitial
125 | UTTypeTagSpecification
126 |
127 | public.filename-extension
128 |
129 | grinslate
130 |
131 |
132 |
133 |
134 | UTTypeDescription
135 | Grin Slate Response File
136 | UTTypeIconFiles
137 |
138 | UTTypeIdentifier
139 | com.vite.grinwallet.grinslateresponse
140 | UTTypeTagSpecification
141 |
142 | public.filename-extension
143 |
144 | response
145 |
146 |
147 |
148 |
149 | UTTypeDescription
150 | Grin Slate File
151 | UTTypeIconFiles
152 |
153 | UTTypeIdentifier
154 | com.vite.grinwallet.grinslatejson
155 | UTTypeTagSpecification
156 |
157 | public.filename-extension
158 |
159 | json
160 |
161 |
162 |
163 |
164 |
165 |
166 |
--------------------------------------------------------------------------------
/ViteOfficial/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleAllowMixedLocalizations
6 |
7 | CFBundleDevelopmentRegion
8 | $(DEVELOPMENT_LANGUAGE)
9 | CFBundleDisplayName
10 | $(PRODUCT_NAME)
11 | CFBundleDocumentTypes
12 |
13 |
14 | CFBundleTypeIconFiles
15 |
16 | CFBundleTypeName
17 | Grin Slate Initial File
18 | CFBundleTypeRole
19 | Editor
20 | LSHandlerRank
21 | Owner
22 | LSItemContentTypes
23 |
24 | com.vite.grinwallet.grinslateinitial
25 |
26 |
27 |
28 | CFBundleTypeIconFiles
29 |
30 | CFBundleTypeName
31 | Grin Slate Response File
32 | CFBundleTypeRole
33 | Editor
34 | LSHandlerRank
35 | Owner
36 | LSItemContentTypes
37 |
38 | com.vite.grinwallet.grinslateresponse
39 |
40 |
41 |
42 | CFBundleTypeIconFiles
43 |
44 | CFBundleTypeName
45 | Grin Slate File
46 | CFBundleTypeRole
47 | Editor
48 | LSHandlerRank
49 | Owner
50 | LSItemContentTypes
51 |
52 | com.vite.grinwallet.grinslatejson
53 |
54 |
55 |
56 | CFBundleExecutable
57 | $(EXECUTABLE_NAME)
58 | CFBundleIdentifier
59 | $(PRODUCT_BUNDLE_IDENTIFIER)
60 | CFBundleInfoDictionaryVersion
61 | 6.0
62 | CFBundleName
63 | $(PRODUCT_NAME)
64 | CFBundlePackageType
65 | APPL
66 | CFBundleShortVersionString
67 | $(MARKETING_VERSION)
68 | CFBundleURLTypes
69 |
70 |
71 | CFBundleTypeRole
72 | Editor
73 | CFBundleURLName
74 | net.vite.wallet
75 | CFBundleURLSchemes
76 |
77 | viteapp
78 |
79 |
80 |
81 | CFBundleVersion
82 | $(CURRENT_PROJECT_VERSION)
83 | ITSAppUsesNonExemptEncryption
84 |
85 | LSRequiresIPhoneOS
86 |
87 | LSSupportsOpeningDocumentsInPlace
88 |
89 | NSAppTransportSecurity
90 |
91 | NSAllowsArbitraryLoads
92 |
93 |
94 | NSCameraUsageDescription
95 | This app uses the camera to read QR codes
96 | NSFaceIDUsageDescription
97 | This app can unlock with Face ID
98 | NSPhotoLibraryAddUsageDescription
99 | This app uses the album to import QR codes
100 | NSPhotoLibraryUsageDescription
101 | This app uses the album to import QR codes
102 | UIBackgroundModes
103 |
104 | remote-notification
105 |
106 | UILaunchStoryboardName
107 | LaunchScreen
108 | UIRequiredDeviceCapabilities
109 |
110 | armv7
111 |
112 | UISupportedInterfaceOrientations
113 |
114 | UIInterfaceOrientationPortrait
115 |
116 | UISupportedInterfaceOrientations~ipad
117 |
118 | UIInterfaceOrientationPortrait
119 | UIInterfaceOrientationPortraitUpsideDown
120 | UIInterfaceOrientationLandscapeLeft
121 | UIInterfaceOrientationLandscapeRight
122 |
123 | UIViewControllerBasedStatusBarAppearance
124 |
125 | UTExportedTypeDeclarations
126 |
127 |
128 | UTTypeConformsTo
129 |
130 | public.data
131 | public.content
132 |
133 | UTTypeDescription
134 | Grin Slate Initial File
135 | UTTypeIconFiles
136 |
137 | UTTypeIdentifier
138 | com.vite.grinwallet.grinslateinitial
139 | UTTypeTagSpecification
140 |
141 | public.filename-extension
142 |
143 | grinslate
144 |
145 |
146 |
147 |
148 | UTTypeConformsTo
149 |
150 | public.data
151 | public.content
152 |
153 | UTTypeDescription
154 | Grin Slate Response File
155 | UTTypeIconFiles
156 |
157 | UTTypeIdentifier
158 | com.vite.grinwallet.grinslateresponse
159 | UTTypeTagSpecification
160 |
161 | public.filename-extension
162 |
163 | response
164 |
165 |
166 |
167 |
168 | UTTypeConformsTo
169 |
170 | public.data
171 | public.content
172 |
173 | UTTypeDescription
174 | Grin Slate File
175 | UTTypeIconFiles
176 |
177 | UTTypeIdentifier
178 | com.vite.grinwallet.grinslatejson
179 | UTTypeTagSpecification
180 |
181 | public.filename-extension
182 |
183 | json
184 | tx
185 | txt
186 |
187 |
188 |
189 |
190 |
191 |
192 |
--------------------------------------------------------------------------------
/ViteTest/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleAllowMixedLocalizations
6 |
7 | CFBundleDevelopmentRegion
8 | $(DEVELOPMENT_LANGUAGE)
9 | CFBundleDisplayName
10 | $(PRODUCT_NAME)
11 | CFBundleDocumentTypes
12 |
13 |
14 | CFBundleTypeIconFiles
15 |
16 | CFBundleTypeName
17 | Grin Slate Initial File
18 | CFBundleTypeRole
19 | Editor
20 | LSHandlerRank
21 | Owner
22 | LSItemContentTypes
23 |
24 | com.vite.grinwallet.grinslateinitial
25 |
26 |
27 |
28 | CFBundleTypeIconFiles
29 |
30 | CFBundleTypeName
31 | Grin Slate Response File
32 | CFBundleTypeRole
33 | Editor
34 | LSHandlerRank
35 | Owner
36 | LSItemContentTypes
37 |
38 | com.vite.grinwallet.grinslateresponse
39 |
40 |
41 |
42 | CFBundleTypeIconFiles
43 |
44 | CFBundleTypeName
45 | Grin Slate File
46 | CFBundleTypeRole
47 | Viewer
48 | LSHandlerRank
49 | Default
50 | LSItemContentTypes
51 |
52 | public.data
53 | public.content
54 |
55 |
56 |
57 | CFBundleExecutable
58 | $(EXECUTABLE_NAME)
59 | CFBundleIdentifier
60 | $(PRODUCT_BUNDLE_IDENTIFIER)
61 | CFBundleInfoDictionaryVersion
62 | 6.0
63 | CFBundleName
64 | $(PRODUCT_NAME)
65 | CFBundlePackageType
66 | APPL
67 | CFBundleShortVersionString
68 | $(MARKETING_VERSION)
69 | CFBundleURLTypes
70 |
71 |
72 | CFBundleTypeRole
73 | Editor
74 | CFBundleURLName
75 | net.vite.wallet
76 | CFBundleURLSchemes
77 |
78 | viteapp
79 |
80 |
81 |
82 | CFBundleVersion
83 | $(CURRENT_PROJECT_VERSION)
84 | ITSAppUsesNonExemptEncryption
85 |
86 | LSRequiresIPhoneOS
87 |
88 | LSSupportsOpeningDocumentsInPlace
89 |
90 | NSAppTransportSecurity
91 |
92 | NSAllowsArbitraryLoads
93 |
94 |
95 | NSBonjourServices
96 |
97 | _Bagel._tcp
98 |
99 | NSCameraUsageDescription
100 | This app uses the camera to read QR codes
101 | NSFaceIDUsageDescription
102 | This app can unlock with Face ID
103 | NSLocalNetworkUsageDescription
104 | Network access required
105 | NSPhotoLibraryAddUsageDescription
106 | This app uses the album to import QR codes
107 | NSPhotoLibraryUsageDescription
108 | This app uses the album to import QR codes
109 | UIBackgroundModes
110 |
111 | remote-notification
112 |
113 | UILaunchStoryboardName
114 | LaunchScreen
115 | UIRequiredDeviceCapabilities
116 |
117 | armv7
118 |
119 | UISupportedInterfaceOrientations
120 |
121 | UIInterfaceOrientationPortrait
122 |
123 | UISupportedInterfaceOrientations~ipad
124 |
125 | UIInterfaceOrientationPortrait
126 | UIInterfaceOrientationPortraitUpsideDown
127 | UIInterfaceOrientationLandscapeLeft
128 | UIInterfaceOrientationLandscapeRight
129 |
130 | UIViewControllerBasedStatusBarAppearance
131 |
132 | UTExportedTypeDeclarations
133 |
134 |
135 | UTTypeConformsTo
136 |
137 | public.data
138 | public.content
139 |
140 | UTTypeDescription
141 | Grin Slate Initial File
142 | UTTypeIconFiles
143 |
144 | UTTypeIdentifier
145 | com.vite.grinwallet.grinslateinitial
146 | UTTypeTagSpecification
147 |
148 | public.filename-extension
149 |
150 | grinslate
151 |
152 |
153 |
154 |
155 | UTTypeConformsTo
156 |
157 | public.data
158 | public.content
159 |
160 | UTTypeDescription
161 | Grin Slate Response File
162 | UTTypeIconFiles
163 |
164 | UTTypeIdentifier
165 | com.vite.grinwallet.grinslateresponse
166 | UTTypeTagSpecification
167 |
168 | public.filename-extension
169 |
170 | response
171 |
172 |
173 |
174 |
175 | UTTypeConformsTo
176 |
177 | public.data
178 | public.content
179 |
180 | UTTypeDescription
181 | Grin Slate File
182 | UTTypeIconFiles
183 |
184 | UTTypeIdentifier
185 | com.vite.grinwallet.grinslatejson
186 | UTTypeTagSpecification
187 |
188 | public.filename-extension
189 |
190 | json
191 | tx
192 | txt
193 |
194 |
195 |
196 |
197 |
198 |
199 |
--------------------------------------------------------------------------------
/ViteTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | $(CURRENT_PROJECT_VERSION)
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ViteTests/ViteCryptoTest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViteCryptoTest.swift
3 | // ViteTests
4 | //
5 | // Created by Stone on 2018/10/8.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | import Vite_HDWalletKit
11 | @testable import Vite
12 |
13 | class ViteCryptoTest: XCTestCase {
14 |
15 | func testMnemonicCrypto() {
16 |
17 | let mnemonic = Mnemonic.randomGenerator(strength: .strong, language: .english)
18 | let ciphertext = HDWalletStorage.Wallet.encrypt(plaintext: mnemonic, encryptKey: "123456")!
19 | let ret = HDWalletStorage.Wallet.decrypt(ciphertext: ciphertext, encryptKey: "123456")!
20 | XCTAssertEqual(mnemonic, ret)
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ViteTests/ViteInputValidTest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViteInputValidTest.swift
3 | // ViteTests
4 | //
5 | // Created by Water on 2018/9/14.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | import Vite_HDWalletKit
11 | @testable import Vite
12 |
13 | class ViteInputValidTest: XCTestCase {
14 | override func setUp() {
15 | super.setUp()
16 | }
17 |
18 | override func tearDown() {
19 | super.tearDown()
20 | }
21 |
22 | func testWalletName() {
23 | let name1 = "fsdfsdf_12121####"
24 | XCTAssertEqual(ViteInputValidator.isValidWalletName(str: name1), false)
25 |
26 |
27 | let name2 = "fsdfsdf_12121你好"
28 | XCTAssertEqual(ViteInputValidator.isValidWalletName(str: name2), true)
29 |
30 | let name3 = "fsdfsdf_12121#11@"
31 | XCTAssertEqual(ViteInputValidator.isValidWalletName(str: name3), false)
32 |
33 | let name4 = "fsdfdf___asdf您好您好您好您好您好asdfs您好df_12121#11@"
34 | XCTAssertEqual(ViteInputValidator.isValidWalletName(str: name4), false)
35 |
36 | let pw1 = "12122&"
37 | XCTAssertEqual(ViteInputValidator.isValidWalletPassword(str: pw1), false)
38 |
39 | let pw2 = "121225"
40 | XCTAssertEqual(ViteInputValidator.isValidWalletPassword(str: pw2), true)
41 |
42 | let pw3 = "12122a"
43 | XCTAssertEqual(ViteInputValidator.isValidWalletPassword(str: pw3), false)
44 |
45 | let pw4 = "121"
46 | XCTAssertEqual(ViteInputValidator.isValidWalletPassword(str: pw4), false)
47 |
48 | }
49 |
50 | func testImportMnemonicStr() {
51 | var str = "lake clean pause frost snack step gym response demand rent retreat topple upset teach daring wrist team destroy give afford noise fire dice female"
52 | str = ViteInputValidator.handleMnemonicStrSpacing(str)
53 | let result = Mnemonic.mnemonic_check(str)
54 | XCTAssertEqual(result, true)
55 |
56 | var str1 = "lake clean pause frost snack step gym response demand rent retreat topple upset teach daring wrist team destroy give afford noise fire dice female"
57 | str1 = ViteInputValidator.handleMnemonicStrSpacing(str1)
58 | let result1 = Mnemonic.mnemonic_check(str1)
59 | XCTAssertEqual(result1, true)
60 |
61 | var str2 = "lake clean pause frost snack step gym response demand rent retreat topple upset teach daring \nwrist team destroy give afford noise fire dice female\n"
62 | str2 = ViteInputValidator.handleMnemonicStrSpacing(str2)
63 | let result2 = Mnemonic.mnemonic_check(str2)
64 | XCTAssertEqual(result2, true)
65 | }
66 |
67 | }
68 |
69 |
--------------------------------------------------------------------------------
/ViteTests/ViteNetworkTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViteNetworkTests.swift
3 | // ViteTests
4 | //
5 | // Created by Stone on 2018/9/7.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | import PromiseKit
11 | import BigInt
12 | import ObjectMapper
13 | import Alamofire
14 | import Moya
15 | import SwiftyJSON
16 | @testable import Vite
17 |
18 | class ViteNetworkTests: XCTestCase {
19 |
20 | override func setUp() {
21 | super.setUp()
22 | // Put setup code here. This method is called before the invocation of each test method in the class.
23 | }
24 |
25 | override func tearDown() {
26 | // Put teardown code here. This method is called after the invocation of each test method in the class.
27 | super.tearDown()
28 | }
29 |
30 | func testExample() {
31 | // This is an example of a functional test case.
32 | // Use XCTAssert and related functions to verify your tests produce the correct results.
33 | }
34 |
35 | func testPerformanceExample() {
36 | // This is an example of a performance test case.
37 | self.measure {
38 | // Put the code you want to measure the time of here.
39 | }
40 | }
41 |
42 | func async(_ block: ( @escaping () -> () ) -> ()) {
43 |
44 | let expect = expectation(description: "method")
45 | block {
46 | expect.fulfill()
47 | }
48 | waitForExpectations(timeout: 60, handler: nil)
49 | print("🍺🍺🍺🍺🍺🍺")
50 |
51 | }
52 |
53 | func testSnapshotChainProvider() {
54 |
55 | async { (completion) in
56 | Provider.instance.getSnapshotChainHeight(completion: { result in
57 | switch result {
58 | case .success(let height):
59 | print("🏆snapschot china height: \(height)")
60 | case .failure(let error):
61 | print("🤯🤯🤯🤯🤯🤯\(error)")
62 | }
63 | completion()
64 | })
65 | }
66 |
67 | }
68 |
69 | func testAccountProvider_GetTransactionsRequest() {
70 | async { (completion) in
71 | Provider.instance.getTransactions(address: Address(string: "vite_7945df07bbf55f5afc76360a263b0870795ce5d1ecea36b786"), hash: nil, count: 5, completion: { result in
72 | switch result {
73 | case .success(let transactions):
74 | print("🏆\(transactions)")
75 | case .failure(let error):
76 | print("🤯🤯🤯🤯🤯🤯\(error)")
77 | }
78 | completion()
79 | })
80 | }
81 |
82 | }
83 |
84 | func testAccountProvider_GetBalanceInfosRequest() {
85 | async { (completion) in
86 | Provider.instance.getBalanceInfos(address: Address(string: "vite_7945df07bbf55f5afc76360a263b0870795ce5d1ecea36b786"), completion: { result in
87 | switch result {
88 | case .success(let balanceInfos):
89 | print("🏆\(balanceInfos)")
90 | case .failure(let error):
91 | print("🤯🤯🤯🤯🤯🤯\(error)")
92 | }
93 | completion()
94 | })
95 | }
96 | }
97 |
98 | func testAddress() {
99 | let correct = "vite_4827fbc6827797ac4d9e814affb34b4c5fa85d39bf96d105e7"
100 | let error = "vite_4827fbc6827797ac4d9e814affb34b4c5fa85d39bf96d105e6"
101 | XCTAssert(Address.isValid(string: correct))
102 | XCTAssert(!Address.isValid(string: error))
103 | }
104 |
105 | func testGetTokenInfo() {
106 | async { (completion) in
107 | Provider.instance.getTokenForId("tti_000000000000000000004cfd", completion: { result in
108 | switch result {
109 | case .success(let token):
110 | if let token = token {
111 | print("🏆\(token)")
112 | } else {
113 | print("🏆 token not found")
114 | }
115 | case .failure(let error):
116 | print("🤯🤯🤯🤯🤯🤯\(error)")
117 | }
118 | completion()
119 | })
120 | }
121 | }
122 | }
123 |
124 | extension ViteNetworkTests {
125 | func testGetAppUpdate() {
126 | async { (completion) in
127 | ServerProvider.instance.getAppUpdate(completion: { (result) in
128 | switch result {
129 | case .success(let info):
130 | print("🏆\(info)")
131 | case .failure(let error):
132 | print("🤯🤯🤯🤯🤯🤯\(error)")
133 | }
134 | completion()
135 | })
136 | }
137 | }
138 |
139 | func testGetAppSettingsConfig() {
140 | async { (completion) in
141 | ServerProvider.instance.getAppSettingsConfig(completion: { (result) in
142 | switch result {
143 | case .success(let config):
144 | print("🏆\(String(describing: config))")
145 | case .failure(let error):
146 | print("🤯🤯🤯🤯🤯🤯\(error)")
147 | }
148 | completion()
149 | })
150 | }
151 | }
152 |
153 | func testGetDefaultTokens() {
154 | async { (completion) in
155 | ServerProvider.instance.getAppDefaultTokens(completion: { (result) in
156 | switch result {
157 | case .success(let string):
158 | print("🏆\(string)")
159 | case .failure(let error):
160 | print("🤯🤯🤯🤯🤯🤯\(error)")
161 | }
162 | completion()
163 | })
164 | }
165 | }
166 | }
167 |
168 | extension ViteNetworkTests {
169 | func testGetPledgest() {
170 | async { (completion) in
171 | Provider.instance.getPledges(address: Address(string: "vite_847e1672c9a775ca0f3c3a2d3bf389ca466e5501cbecdb7107"), index: 0, count: 50, completion: { (result) in
172 | switch result {
173 | case .success(let pledges):
174 | print("🏆\(pledges)")
175 | case .failure(let error):
176 | print("🤯🤯🤯🤯🤯🤯\(error)")
177 | }
178 | completion()
179 | })
180 | }
181 | }
182 | }
183 |
--------------------------------------------------------------------------------
/ViteTests/ViteTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViteTests.swift
3 | // ViteTests
4 | //
5 | // Created by Water on 2018/8/15.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import Vite
11 |
12 | class ViteTests: XCTestCase {
13 |
14 | override func setUp() {
15 | super.setUp()
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | override func tearDown() {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | super.tearDown()
22 | }
23 |
24 | func testExample() {
25 | // This is an example of a functional test case.
26 | // Use XCTAssert and related functions to verify your tests produce the correct results.
27 | }
28 |
29 | func testPerformanceExample() {
30 | // This is an example of a performance test case.
31 | self.measure {
32 | // Put the code you want to measure the time of here.
33 | }
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/ViteTests/ViteURITest.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViteURITest.swift
3 | // ViteTests
4 | //
5 | // Created by Stone on 2018/9/19.
6 | // Copyright © 2018年 vite labs. All rights reserved.
7 | //
8 |
9 | import XCTest
10 | @testable import Vite
11 |
12 | class ViteURITest: XCTestCase {
13 |
14 | func testExample() {
15 |
16 | let successCases = [
17 | ("vite:vite_fa1d81d93bcc36f234f7bccf1403924a0834609f4b2e9856ad?tti=tti_000000000000000000004cfd&amount=10.12345678e8&decimals=0", "1012345678"),
18 | ("vite:vite_fa1d81d93bcc36f234f7bccf1403924a0834609f4b2e9856ad?tti=tti_000000000000000000004cfd&amount=10.12345678&decimals=18", "10123456780000000000"),
19 | ("vite:vite_fa1d81d93bcc36f234f7bccf1403924a0834609f4b2e9856ad?tti=tti_000000000000000000004cfd&amount=10.12345678E7&decimals=3", "101234567800"),
20 | ]
21 |
22 |
23 | for c in successCases {
24 | let string = c.0
25 | let ans = c.1
26 |
27 | let uri = ViteURI.parser(string: string)
28 | let uriString = uri?.string()
29 | let amountString = uri?.amountToBigInt()?.description
30 | XCTAssertEqual(string, uriString)
31 | XCTAssertEqual(amountString, ans)
32 | }
33 | }
34 |
35 | func testScientificNotation() {
36 | let successCases = [
37 | ("12.34E3", "12340"),
38 | ("+12.34E3", "12340"),
39 | ("-12.34E3", "-12340"),
40 | ("-12.34E6", "-12340000"),
41 | ]
42 |
43 |
44 | for c in successCases {
45 | let string = c.0
46 | let ans = c.1
47 |
48 | guard let ret = ViteURI.scientificNotationStringToBigInt(string, decimals: 0) else {
49 | XCTAssert(false)
50 | return
51 | }
52 | XCTAssertEqual(ret.description, ans)
53 | }
54 |
55 | }
56 |
57 | func testtoBigInt() {
58 |
59 | let successCases = [
60 | ("00120.3400", "12034"),
61 | ("001.00", "100"),
62 | ("00101.", "10100"),
63 | ("0.12", "12"),
64 | ("0.0", "0"),
65 | ("0", "0"),
66 | ("10", "1000"),
67 | ]
68 |
69 | for c in successCases {
70 | let string = c.0
71 | let ans = c.1
72 |
73 | guard let ret = string.toBigInt(decimals: 2) else {
74 | XCTAssert(false)
75 | return
76 | }
77 | XCTAssertEqual(ret.description, ans)
78 | }
79 | }
80 |
81 |
82 | }
83 |
--------------------------------------------------------------------------------
/ViteUITests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/bootstrap:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | CMD_PATH=`dirname $0`
3 | cd $CMD_PATH
4 | sed -i "" 's/^target_name = '\''.*'\''$/target_name = '\''Vite'\''/' Podfile
5 | pod install
--------------------------------------------------------------------------------
/bootstrap_dapp:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | CMD_PATH=`dirname $0`
3 | cd $CMD_PATH
4 | sed -i "" 's/^target_name = '\''.*'\''$/target_name = '\''ViteDapp'\''/' Podfile
5 | pod install
--------------------------------------------------------------------------------
/bootstrap_official:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | CMD_PATH=`dirname $0`
3 | cd $CMD_PATH
4 | sed -i "" 's/^target_name = '\''.*'\''$/target_name = '\''ViteOfficial'\''/' Podfile
5 | pod install
--------------------------------------------------------------------------------
/bootstrap_test:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | CMD_PATH=`dirname $0`
3 | cd $CMD_PATH
4 | sed -i "" 's/^target_name = '\''.*'\''$/target_name = '\''ViteTest'\''/' Podfile
5 | pod install
--------------------------------------------------------------------------------
/certs/distribution/86NNRW9D36.cer:
--------------------------------------------------------------------------------
1 | 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
34 |
--------------------------------------------------------------------------------
/certs/distribution/86NNRW9D36.p12:
--------------------------------------------------------------------------------
1 | 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
39 |
--------------------------------------------------------------------------------
/fastlane/Appfile:
--------------------------------------------------------------------------------
1 | app_identifier("net.vite.wallet") # The bundle identifier of your app
2 | apple_id("caoliang@vite.org") # Your Apple email address
3 |
4 | itc_team_id("119297226") # App Store Connect Team ID
5 | team_id("5SR42372L5") # Developer Portal Team ID
6 |
7 | # For more information about the Appfile, see:
8 | # https://docs.fastlane.tools/advanced/#appfile
9 |
--------------------------------------------------------------------------------
/fastlane/Fastfile:
--------------------------------------------------------------------------------
1 | # Uncomment the line if you want fastlane to automatically update itself
2 | # update_fastlane
3 |
4 | setup_travis
5 |
6 | default_platform(:ios)
7 |
8 | platform :ios do
9 | desc "Push a new beta build to TestFlight"
10 |
11 | lane :vite_appstore do
12 | increment_build_number_and_push_git
13 | exec '../bootstrap_official'
14 | match_profile
15 | build_app(workspace: "Vite.xcworkspace", scheme: "ViteOfficial", clean: true, configuration: "Release")
16 | upload_to_testflight(skip_waiting_for_build_processing: true)
17 | upload_dysm()
18 | end
19 |
20 | lane :vite_test do
21 | #increment_build_number_and_push_git
22 | #match_profile
23 | version_number = get_version_number(xcodeproj: "Vite.xcodeproj", target: "ViteTest")
24 | build_number = get_build_number(xcodeproj: "Vite.xcodeproj")
25 | add_badge(shield: version_number + "-" + build_number + "-" + "orange", no_badge: true)
26 | #build_app(workspace: "Vite.xcworkspace", scheme: "ViteTest", clean: true, configuration: "Release")
27 | #upload_to_testflight(skip_waiting_for_build_processing: true)
28 | #upload_dysm()
29 | exec '../bootstrap_test'
30 | end
31 |
32 | lane :vite_dapp do
33 | increment_build_number_and_push_git
34 | exec '../bootstrap_dapp'
35 | #match_profile
36 | #build_app(workspace: "Vite.xcworkspace", scheme: "ViteDapp", clean: true, configuration: "Release")
37 | #upload_to_testflight(skip_waiting_for_build_processing: true)
38 | #upload_dysm()
39 | end
40 |
41 | lane :match_profile do
42 | match(type: "appstore", app_identifier: ["net.vite.wallet","net.vite.wallet.PushService"], clone_branch_directly: true, readonly:false)
43 | end
44 |
45 | lane :inc do
46 | increment_build_number
47 | push_git
48 | end
49 |
50 | desc "push git local code"
51 | lane :push_git do
52 | git_add(path: ".")
53 | build_number = get_build_number
54 | git_commit(path: ".", message: "Jenkins Version Bump "+ build_number)
55 | branch = ENV["TRAVIS_BRANCH"]
56 | push_to_git_remote(remote_branch: branch, force: false)
57 | end
58 |
59 | desc "create new pr in github argument base is base branch"
60 | lane :pr do |options|
61 | create_pull_request(
62 | api_token: nil,
63 | repo: "vitelabs/vite-app-ios",
64 | title: "[pr] merge new feature",
65 | head: nil,
66 | base: options[:base],
67 | body: "Please pull this in! and find some bugs",
68 | api_url: nil
69 | )
70 | end
71 |
72 | desc "upload to Beta by Crashlytics"
73 | lane :upload_dysm do |options|
74 | if options[:type] == 'enterprise'
75 | puts "enterprise"
76 | exec '../Pods/Fabric/upload-symbols -gsp ../Vite/Resource/Firebase/enterprise/GoogleService-Info.plist -p ios ../Vite-test.app.dSYM.zip'
77 | else
78 | puts "appstore"
79 | exec '../Pods/Fabric/upload-symbols -gsp ../Vite/Resource/Firebase/official/GoogleService-Info.plist -p ios ../Vite-test.app.dSYM.zip'
80 | end
81 | end
82 |
83 | end
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/fastlane/Matchfile:
--------------------------------------------------------------------------------
1 | git_url("https://github.com/vitelabs/vite-app-ios.git")
2 | git_branch("develop")
3 | type("appstore") # The default type, can be: appstore, adhoc, enterprise or development
4 | username("caoliang@vite.org") # Your Apple Developer Portal username
5 |
6 | # For all available options run `fastlane match --help`
7 | # Remove the # in the beginning of the line to enable the other options
8 |
--------------------------------------------------------------------------------
/fastlane/Pluginfile:
--------------------------------------------------------------------------------
1 | # Autogenerated by fastlane
2 | #
3 | # Ensure this file is checked in to source control!
4 |
5 | gem 'fastlane-plugin-badge'
6 |
--------------------------------------------------------------------------------
/fastlane/README.md:
--------------------------------------------------------------------------------
1 | fastlane documentation
2 | ================
3 | # Installation
4 |
5 | Make sure you have the latest version of the Xcode command line tools installed:
6 |
7 | ```
8 | xcode-select --install
9 | ```
10 |
11 | Install _fastlane_ using
12 | ```
13 | [sudo] gem install fastlane -NV
14 | ```
15 | or alternatively using `brew install fastlane`
16 |
17 | # Available Actions
18 | ## iOS
19 | ### ios vite_appstore
20 | ```
21 | fastlane ios vite_appstore
22 | ```
23 | Push a new beta build to TestFlight
24 | ### ios vite_test
25 | ```
26 | fastlane ios vite_test
27 | ```
28 |
29 | ### ios vite_dapp
30 | ```
31 | fastlane ios vite_dapp
32 | ```
33 |
34 | ### ios match_profile
35 | ```
36 | fastlane ios match_profile
37 | ```
38 |
39 | ### ios inc
40 | ```
41 | fastlane ios inc
42 | ```
43 |
44 | ### ios push_git
45 | ```
46 | fastlane ios push_git
47 | ```
48 | push git local code
49 | ### ios pr
50 | ```
51 | fastlane ios pr
52 | ```
53 | create new pr in github argument base is base branch
54 | ### ios upload_dysm
55 | ```
56 | fastlane ios upload_dysm
57 | ```
58 | upload to Beta by Crashlytics
59 |
60 | ----
61 |
62 | This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
63 | More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
64 | The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
65 |
--------------------------------------------------------------------------------
/fastlane/Scanfile:
--------------------------------------------------------------------------------
1 | # For more information about this configuration visit
2 | # https://docs.fastlane.tools/actions/scan/#scanfile
3 |
4 | # In general, you can use the options available
5 | # fastlane scan --help
6 |
7 | # Remove the # in front of the line to enable the option
8 |
9 | scheme("Vite")
10 | open_report(true)
11 | clean(true)
12 | skip_build(false)
13 | output_types("html")
14 | output_directory("../")
15 | configuration("Debug")
16 | device("iPhone X (12.0)")
17 | skip_build(false)
18 |
--------------------------------------------------------------------------------
/profiles/appstore/AppStore_net.vite.wallet.mobileprovision:
--------------------------------------------------------------------------------
1 | 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
169 |
--------------------------------------------------------------------------------
/vite_pod.rb:
--------------------------------------------------------------------------------
1 | require 'singleton'
2 |
3 | class PodfilePatch
4 | include Singleton
5 | attr_reader :source_pods
6 | attr_reader :disable_pods
7 | attr_reader :original_pods
8 |
9 | def initialize
10 | patch_paths = [
11 | ENV['PODFILE_PATCH'], './.Podfile.patch', '~/.Podfile.patch'
12 | ].compact
13 | patch_content = nil
14 | patch_paths.each do |p|
15 | abs_p = File.expand_path(p)
16 | next unless File.exist? abs_p
17 | puts "Using #{abs_p} as patch for Podfile"
18 | patch_content = File.read(abs_p)
19 | break
20 | end
21 |
22 | @source_pods = []
23 | @disable_pods = []
24 | @original_pods = {}
25 | return unless patch_content
26 | patch_content.lines.each do |line|
27 | line.strip!
28 | next if line.length < 3
29 | next if line[0] == '#' # 注释
30 | func = line.split.first
31 | pod_name = line.split[1].delete('"').delete("'").delete(',')
32 | pod_name_base = pod_name.split('/').first
33 | case func
34 | when 'source_pod'
35 | # 源码
36 | @source_pods << pod_name_base
37 | when 'disable_pod'
38 | # 禁用
39 | @disable_pods << pod_name
40 | when 'pod'
41 | # 原生
42 | @original_pods[pod_name_base] = line
43 | else
44 | raise "Unknown syntax: #{line}"
45 | end
46 | end
47 | self.report
48 | end
49 |
50 | def report
51 | if @disable_pods.length > 0
52 | puts "[.Podfile.patch] Pod(s) disabled:"
53 | puts @disable_pods.join(', ')
54 | puts ""
55 | end
56 | if @source_pods.length > 0
57 | puts "[.Podfile.patch] Pod(s) coming with source code:"
58 | puts @source_pods.join(', ')
59 | puts ""
60 | end
61 | if @original_pods.length > 0
62 | puts "[.Podfile.patch] Pod(s) coming with original pod declaration:"
63 | puts @original_pods.keys.join(', ')
64 | puts ""
65 | end
66 | end
67 | end
68 |
69 | def vite_pod(pod_name, info)
70 | pod_name_base = pod_name.split('/').first
71 |
72 | # 被 patch 禁用的 pod,直接返回
73 | return if PodfilePatch.instance.disable_pods.include?(pod_name)
74 |
75 | original_pod_line = PodfilePatch.instance.original_pods[pod_name_base]
76 | if original_pod_line
77 | # 使用原生 pod 命令引入的,直接用 eval 引入,默认 original_pod_line 合法
78 | eval original_pod_line
79 | else
80 | pod pod_name, info
81 | end
82 | end
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------