O3(OzoneWalletIOS)项目
卡哇伊嘉人
发表于 2022-12-18 19:47:49
315
0
0
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS
neo-swift:https://github.com/CityOfZion/neo-swift
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go
下载 OzoneWalletIOS 项目* {% I2 T- [" _
下载 OzoneWalletIOS 项目到本地:) W# j, O- l! z, v# A/ }1 l
) g2 C! I& u- Y: ~
下载 OzoneWalletIOS 项目
用 Xcode 打开项目并运行:
2 E) L5 S! |) u* p% x5 E3 K
运行出错% k6 i/ T6 D6 v+ ~! I- {6 M
缺少文件
运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
; Z8 h5 ^7 P( n: w& \0 o4 g
Cartfile 文件+ b9 ?" F1 i% m, V$ `
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。. T. G3 ^; W2 X+ o7 a% V5 o% F
打开终端,cd 到该项目目录,运行如下命令:
$ carthage update --platform iOS
* [1 ^/ n) ^" l1 _+ Z- W X8 w
$ carthage update –platform iOS 命令
* `; X! z, X% I
缺少的文件已下载完成
命令运行成功之后,再次运行项目:( `0 b. E) x$ `7 G8 i1 m
info.plist 文件错误
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:1 f+ i3 v( s1 H
Reason image not found 错误
在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :
% V% |# Z6 b. L6 o! _
再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:7 u8 g2 x6 B9 D% \' Q. v4 o/ j
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
添加库文件 1+ [5 `- b+ K G2 ~
8 `& p& J" \! n
添加库文件 23 y" W& h, P( w, b! k
添加好后再次运行:9 R* i. O$ Q9 Q4 }( T5 ?/ ^1 C6 ?
$ W ]- ~5 ^# g8 Q9 }
“networkKey” 出错 Q2 S% y% u5 q% L& Q' M$ b; W
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:2 b' f7 `. {& b8 {3 y- S( Y
修改 Main Interface6 r& Y4 l9 Q! A$ N
再一次运行:
Info.plist 文件缺少 Fabric 字段 1
$ s: C3 X: Y4 w
Info.plist 文件缺少 Fabric 字段 2- O7 S4 ~/ l# F
开启 Background Modes:3 `; e, Z8 W) |3 j3 g9 w7 I5 [1 S
开启 Background Modes D; s& B& Q5 j, d
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:: ?3 z" ~) b6 K6 T; [7 c1 ? h
QQ20180131-144207@2x.png
好了,再次运行:% w, R& N- m5 g7 \) i$ \ a& S$ X
模拟器运行界面
终于运行成功了!!!/(ㄒoㄒ)/~~
AppDelegate.swift) K! V8 P9 a* P! |7 m. v0 X
Channel.framework 大概是跟推送通知有关的库:
func setupChannel() {* x. u9 Z2 I; [4 Q' o8 {
//O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY
Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")4 x( f8 w, g* A& C0 ~- r* N& d$ F
}8 `; j N! I6 I& }$ F( D
设置应用的外观样式:) P2 z$ W* f7 @9 o- _4 y
func setupApperances() {
UIBarButtonItem.appearance().setTitleTextAttributes([
NSAttributedStringKey.font: ThemeManager.barButtonItemFont,3 T: ~( R7 _% y5 s5 G) k5 L W
NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)$ F/ `! n& `* z* B
UINavigationBar.appearance().largeTitleTextAttributes = [) E+ H$ O! N9 ?1 a
NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,# R/ b4 M5 Q4 J2 _
NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]% f# M9 x3 K4 R9 w; j4 }5 n) t
}
创建用户的默认配置:
func registerDefaults() {
let userDefaultsDefaults: [String: Any] = [
"networkKey": "main",
"usedDefaultSeedKey": false,
"selectedThemeKey": Theme.light.rawValue
]/ w& D L3 ~" {- g) m
UserDefaults.standard.register(defaults: userDefaultsDefaults)7 J# ^: [( v5 k( H
}$ [/ X8 I4 b. Q6 ]* N8 m
开启网络状态监测:6 z5 e9 G# `/ `( r- q" C4 |
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
成为第一个吐槽的人