Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
296 0 0
The main repo for the O3 wallet on iOS.
+ H: V9 V& u/ w- h$ qOzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS9 f: o. U" D5 U1 k4 Z! V9 B
neo-swift:https://github.com/CityOfZion/neo-swift) x* {8 L, D8 n: b: Z! v
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go2 z1 g) E: O1 s$ l9 z+ y' d. \7 M
7 L8 R- |' c; v8 V* G! V: J$ o+ [
下载 OzoneWalletIOS 项目' V9 j3 b4 y, g, ?6 L4 Q
下载 OzoneWalletIOS 项目到本地:
6 b: o; {* T- z# e/ M
+ g" O  t, m( v3 u" X- g下载 OzoneWalletIOS 项目- }% ^9 A7 x- ~5 m  W7 j: @9 |) Z
用 Xcode 打开项目并运行:
, P" ]9 K1 e3 M; F( I- q2 b
( R! p/ A4 j# F" \' N* f( E! y运行出错- P6 e  g! E3 a8 M

0 E; I7 F/ t) Z7 P7 U6 }缺少文件; K, D  `1 P: x: J9 `' P! A
运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:8 O, k3 h0 B7 Y5 Z4 F
7 e( k$ ~, c0 P3 X$ m
Cartfile 文件( S1 |: |3 M- _+ [/ B( _
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
: C  a2 [  B$ }; D- y打开终端,cd 到该项目目录,运行如下命令:* H0 Z4 \& f! ]. s. O  }8 y* n
$ carthage update --platform iOS4 u, |3 U. Z4 U+ q1 s, _) `
4 V8 b" z5 Z( j. ]' \2 ^- N
$ carthage update –platform iOS 命令
( }% o  @% m9 `9 R) N. \
" [6 c+ k1 h# _( Y$ }7 u6 {缺少的文件已下载完成
* e- Q- _7 k9 y; M- N命令运行成功之后,再次运行项目:
5 \( ]% F9 ]4 R2 \, Y2 T" O# ^
' G0 I" X" {8 j8 X9 Dinfo.plist 文件错误8 q' t0 J* b, T2 N
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
' u8 j8 v+ w- t! {7 {
# x( S( v! U9 |8 HReason image not found 错误
2 k4 t. n3 o, o在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :
$ G/ Z6 E3 m! S; r1 A9 @
, `/ j5 j+ j; n# l再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:- y' I1 J" z: H* ^5 r
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace3 h0 x. y, x' Y( [- n2 p8 C

) R7 `2 b$ c$ ^添加库文件 1( c" v. \$ T" j% Z3 d
) Z; O) W' w0 ]; A' o
添加库文件 25 d$ k/ w+ M8 v7 [: T/ v
添加好后再次运行:- b4 p9 b$ p3 p3 i7 A2 b

2 @4 j8 o8 R; P. N# M“networkKey” 出错3 }1 C# }) O  L4 m6 r0 j2 S3 _, S$ m
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:
) \8 }& n, x# h3 q  j+ [" G7 ]  X, t: E. `# k5 E0 J/ Q% c# A
修改 Main Interface
  R5 H9 w$ \) V# Z$ K再一次运行:  }' k- r: c, z: i- U9 `

+ e# T& v' G; }, }" F: V8 DInfo.plist 文件缺少 Fabric 字段 1( u$ x; [. r* d, |1 j* I5 e' ]0 E

- }# @6 M9 L6 {/ o- m6 X" eInfo.plist 文件缺少 Fabric 字段 2
; }6 Z% D0 h  b5 c开启 Background Modes:
0 \+ ^1 W) u; [8 N, e
3 E* |% s5 l' s6 `开启 Background Modes4 L2 b% S8 n! \5 T
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:+ m3 Q, V4 _+ p' }- L4 M8 H. {

7 Z* [+ _; s  DQQ20180131-144207@2x.png
! h7 r/ `; y2 G6 Q好了,再次运行:% U3 R5 A6 ^! |6 p" B8 l
% p0 K9 J3 ]8 h6 F: G" T% R
模拟器运行界面
6 I4 N' O, z- B终于运行成功了!!!/(ㄒoㄒ)/~~. b0 Y5 H( t/ N. n2 @3 I5 }
AppDelegate.swift$ {0 X0 Q# ^( s, V* y
Channel.framework 大概是跟推送通知有关的库:
7 i4 o6 T8 }+ Q6 M) `( d0 ?9 w+ yfunc setupChannel() {
; }9 V6 L% N/ \        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY2 J8 g, u2 j2 U3 L3 g
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")) z2 \' S0 J1 W
    }9 L' D+ }4 e+ Z6 d
设置应用的外观样式:
; v- F: q4 h; O2 O) a5 G" Ofunc setupApperances() {& B+ Z9 f! J. c8 j; o2 k
        UIBarButtonItem.appearance().setTitleTextAttributes([
3 G) [# s' W9 D' E$ n( k            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,( k" p3 [3 c; }: d7 Z
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
. u" d, G8 d; t. a% l& S- }        UINavigationBar.appearance().largeTitleTextAttributes = [; c7 M1 T( I7 A
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,
* k4 i8 g2 v1 ~' h            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]
5 A3 m8 B2 ~+ e$ b/ O+ I    }
) P4 Q( s" k% n9 a创建用户的默认配置:
; s( i7 u0 ?, k" E* m& L) zfunc registerDefaults() {
, S5 O8 l( G5 n# _        let userDefaultsDefaults: [String: Any] = [
3 o& Y* g* _1 O; w            "networkKey": "main",
- d6 W2 H$ h* J/ n# Q            "usedDefaultSeedKey": false,. P) t& s# Y3 C3 p& r
            "selectedThemeKey": Theme.light.rawValue+ V' c! @9 u, ~) Y/ M
        ]
# a0 C1 H% t- f5 l        UserDefaults.standard.register(defaults: userDefaultsDefaults)
- h& u4 Y' W( O) c( ]" @    }# a; P1 Y, U$ P7 i' E2 e6 g
开启网络状态监测:* ?1 @0 B( p* b8 A# q3 ^3 w  D
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11