Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
297 0 0
The main repo for the O3 wallet on iOS.
, ]& a' m8 n# i: ~8 c8 E6 UOzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS
! B5 K& ^6 J  b: Z0 h' Ineo-swift:https://github.com/CityOfZion/neo-swift, M5 w* q* |4 M0 F: b
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go! |# _; {6 j: v  o, ~$ l' I
) M( T! U0 G+ B
下载 OzoneWalletIOS 项目
+ J' \- m% B7 W0 K5 {( o" A) `下载 OzoneWalletIOS 项目到本地:
4 |: N; E" k% u3 @
' ?  v6 ^* G+ m4 x5 d+ }9 c下载 OzoneWalletIOS 项目4 A7 l8 M  k2 W
用 Xcode 打开项目并运行:" r; I4 W  L5 T. Y

( w8 K9 t) ~1 J! G1 F运行出错( R1 V; E4 a6 }, Q" Z' |' v

/ i" x) p- B, O1 b缺少文件
  N0 c; I9 w4 r运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
/ e( Y4 h5 |; l* T! Q) T/ U. E: J- A. F4 _
Cartfile 文件
0 Z* q1 W, [, f& Y: o& A: v该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。6 \2 S& R8 A5 ]( x9 c+ l
打开终端,cd 到该项目目录,运行如下命令:
) f+ t8 {7 S6 I& j! d" p2 I0 L$ carthage update --platform iOS0 h% a4 a$ a2 c5 k' g# Y
" D& u2 J2 a, h& @! s- j5 r, Y1 R
$ carthage update –platform iOS 命令
! `# q$ y! O3 K: R& C2 f3 S
7 A- G& c1 y# w缺少的文件已下载完成
: t: B% U0 B/ ^: C) u/ `& _命令运行成功之后,再次运行项目:' n/ S' k$ E' W) y2 i0 l
. ]# J1 s) y( a( ]+ ]2 a
info.plist 文件错误3 y) x, c. z: g) y
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
% Y3 I9 B7 p3 u# i; Y/ N$ [: j* p2 z0 g- Q/ l
Reason image not found 错误
- `+ S& D- t5 ~- ~( m在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :
6 b: _" m( P0 g" t$ _, G
0 z2 v% Y! O1 Z3 Z0 j5 R再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:
$ L3 i/ @1 X" G% X% f4 f( ?*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
1 ^' x; e! X6 F% o. ]
) R8 R* N7 t+ I3 G添加库文件 1
% P- O+ ?  W' Y- C& A
# D1 j- @& R6 U# T添加库文件 2; K' [( T: U/ F: L
添加好后再次运行:. e  A& Z/ q: Z) X1 V

1 S: f4 x! A+ Z# P“networkKey” 出错2 T0 B; i. }5 l. l) S* L2 t3 F
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:
2 L7 ]) O- K+ P- u, D8 l! `' c5 |) B2 T3 t7 Q
修改 Main Interface6 ]' N) O: W0 S4 t' H
再一次运行:
8 u& E& I' t. A. ?. t6 ~1 F( J+ a8 r. B% i1 V3 ]& Y" ^
Info.plist 文件缺少 Fabric 字段 1
) s7 r" ^9 T) c7 B6 B  S; r: x9 R* _
Info.plist 文件缺少 Fabric 字段 2# J6 M- f8 ?; ^  P9 N
开启 Background Modes:
' e6 E. E  p6 m/ m+ [6 a1 u& \4 f1 a
开启 Background Modes9 ?3 \2 s" A, @% I$ T' U
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:
: p, z3 {8 K- b& z1 W2 R: {
  u1 [( C* E7 V, rQQ20180131-144207@2x.png
( c( C5 U$ l0 o9 G8 `, A1 T% |* V, n好了,再次运行:2 ]$ j; J/ }1 J# h% i0 {1 \

1 t; @: `: I5 J$ t模拟器运行界面& U+ b1 U# {# j
终于运行成功了!!!/(ㄒoㄒ)/~~3 O' y) [7 s1 L: p4 S
AppDelegate.swift/ p2 a5 o" l( C* M
Channel.framework 大概是跟推送通知有关的库:: K0 z. [6 g& j, j
func setupChannel() {1 I/ y3 ]8 M3 A& s" b/ y% w
        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY6 u+ W6 s! ]/ z3 k
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")* P& r0 Z1 F! e2 \
    }
2 q: O& c( Y. I4 w5 o- ]设置应用的外观样式:
$ |; S$ C/ A/ ^func setupApperances() {
7 L: h7 \- k( F; Q        UIBarButtonItem.appearance().setTitleTextAttributes([
* o/ l) X0 C. [            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,
$ f4 z# Q! C5 {! b) ^* o. T            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
/ J% o+ `( o, y- k, B        UINavigationBar.appearance().largeTitleTextAttributes = [" d/ N! W% s6 s- l! s; p
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,
, B$ t" ?( K; G            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]1 m7 j# f  d. U$ K6 n( Z6 V
    }6 i, C+ Y: p) u$ I2 P
创建用户的默认配置:. m5 R% r0 Y$ K3 u/ T$ u. g
func registerDefaults() {
2 G8 I6 n9 X- v1 G! m2 j! R' S        let userDefaultsDefaults: [String: Any] = [
$ [: S# f9 ?* t& v" _            "networkKey": "main",
1 X# }" H, k2 F; y' b5 l            "usedDefaultSeedKey": false,- X# p& j( ?3 C
            "selectedThemeKey": Theme.light.rawValue, k" \: h; Q1 B' F) `# B5 z
        ]
# V( S8 ~% g! v; V9 u        UserDefaults.standard.register(defaults: userDefaultsDefaults). T/ s3 W3 z  o+ P" G# t
    }# o) `/ G8 V. k  ]
开启网络状态监测:
7 g2 K$ m9 f- K( `, l' clet alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11