O3(OzoneWalletIOS)项目
卡哇伊嘉人
发表于 2022-12-18 19:47:49
430
0
0
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS2 O, y& e% @" h j% I8 G( x
neo-swift:https://github.com/CityOfZion/neo-swift
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go+ l d' e* A9 u. a
下载 OzoneWalletIOS 项目1 U8 L. U5 I) [+ z, C" |) m y7 M
下载 OzoneWalletIOS 项目到本地:
# I6 Z# V f9 z# }
下载 OzoneWalletIOS 项目- b. j: c4 l6 |2 H
用 Xcode 打开项目并运行:1 T* Q3 p1 S6 q1 t9 ]1 U6 [( G
$ \7 x9 X2 T: x) B3 Y! l2 j
运行出错* \1 z Y/ k( B9 Y# |- c r
! @# A/ M+ `, o; }6 O1 y6 ~
缺少文件) h: d% _! ] { Q. F
运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:4 F4 J/ U% E o- u9 C% d
" f w ?( w3 g5 x
Cartfile 文件
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
打开终端,cd 到该项目目录,运行如下命令:
$ carthage update --platform iOS+ i9 o. w# G; K' a I U$ x0 B# E) w
% _& }" @, B. q, u: C( o3 P- F6 h/ K
$ carthage update –platform iOS 命令
缺少的文件已下载完成
命令运行成功之后,再次运行项目:2 H- h' ]7 g7 m" Z- t$ S. O- m
info.plist 文件错误
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
Reason image not found 错误
在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :# I6 A' t5 c; |6 q4 _
再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
% P' y: ?( y$ V' A3 @- r
添加库文件 1
添加库文件 2
添加好后再次运行:
/ B V& N6 {; Z
“networkKey” 出错5 w' G1 h# @& R, `3 C2 R
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:
. m6 p# s$ ]( w$ D
修改 Main Interface
再一次运行:+ ~' ]: n. b) b" P0 g- j1 n# D
2 F% d9 y! o$ f4 E) [ _. V
Info.plist 文件缺少 Fabric 字段 13 Q, \! K: A3 P' ~: S) J+ Y
Info.plist 文件缺少 Fabric 字段 2/ r+ P3 m( m4 m5 I
开启 Background Modes:
( |2 m8 [* H- U( X9 r0 R
开启 Background Modes
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:: M c( H% p6 @: N" u& a5 f' z
QQ20180131-144207@2x.png
好了,再次运行:
模拟器运行界面
终于运行成功了!!!/(ㄒoㄒ)/~~
AppDelegate.swift
Channel.framework 大概是跟推送通知有关的库:, E2 A9 v+ M* v6 L9 \) l
func setupChannel() {
//O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY
Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")
}1 D% K0 y: b* ^7 }2 c/ ~: _
设置应用的外观样式:. H2 L) Y3 P' j) v# S/ r7 ^
func setupApperances() {: X9 u- l% ?' B
UIBarButtonItem.appearance().setTitleTextAttributes([# f, ~0 i8 o" s( `3 N
NSAttributedStringKey.font: ThemeManager.barButtonItemFont,) b1 X& a) @' X! a- |+ v
NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
UINavigationBar.appearance().largeTitleTextAttributes = [3 v! \( B5 N( E! d. {' }
NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,. O) k3 S |; m* `
NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]: d* {0 S8 }6 v) S' C
}# C" H2 P( B3 t6 _* a7 V' b& N
创建用户的默认配置:: p# {& u: K7 k
func registerDefaults() {/ e8 E. k; t1 c$ L7 s% j# ?; X: ^0 ?+ x$ D
let userDefaultsDefaults: [String: Any] = [
"networkKey": "main",
"usedDefaultSeedKey": false,9 [0 S0 A( L: l$ {7 G6 M) t) L
"selectedThemeKey": Theme.light.rawValue
]4 Z9 N, x& R1 ^
UserDefaults.standard.register(defaults: userDefaultsDefaults)
}
开启网络状态监测:
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
成为第一个吐槽的人