Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
342 0 0
The main repo for the O3 wallet on iOS.
& U' K, q1 A0 P& oOzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS
& Q$ a  P3 l$ T  y. m7 o& _; hneo-swift:https://github.com/CityOfZion/neo-swift; x7 C" ?# K9 N" r
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go% b! t2 M# a1 o1 N, U% a6 e1 r! V

: P4 o) }# C  l7 r% z7 d下载 OzoneWalletIOS 项目/ ~6 x% W5 h; S7 q
下载 OzoneWalletIOS 项目到本地:
& B7 |" O1 X9 |% ?* e- S1 g2 P
2 m7 `7 _3 u1 z- i下载 OzoneWalletIOS 项目) b' j  ?6 Z% \7 X2 U& ], p
用 Xcode 打开项目并运行:
* r3 t- w. h7 \% ?6 n/ J8 l1 j# a& u2 |3 ]  ^
运行出错
+ ]! U4 j6 E. w7 T" Z/ @. C. Q& E: b4 \" `' g5 U# e+ \4 Y
缺少文件  `' u. c' E0 p: k9 A
运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
9 I. e& K) d8 i  z( ^  E# l0 v2 H' W# b
Cartfile 文件
) ]# ^- V1 ~/ E- f. p该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
! ]. H+ G7 U5 j/ ]5 Q  J8 l  J6 f打开终端,cd 到该项目目录,运行如下命令:
2 ^  w7 \% _/ [" ?- z1 R$ carthage update --platform iOS
" P. l" |6 v+ ^: I/ E. T9 P# G2 N/ X# f1 n, I
$ carthage update –platform iOS 命令: ?" o! D8 I% f' {# }% D& J! C* d
, O6 u( {( Q7 Q0 Z) i8 E5 q8 p5 _
缺少的文件已下载完成# z; K# b  n& x; _3 M, t0 j
命令运行成功之后,再次运行项目:
% z' ?- l3 F, R0 F. |! `
7 n% {$ W, j5 s( C, B6 {info.plist 文件错误6 U) y, }7 {+ T  m0 l$ c3 A7 ]2 q
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:8 t, N8 g. }% V' G2 H
" |- ]' ?* p2 r
Reason image not found 错误0 l" M/ L, P2 X6 A0 ?1 `% i+ a
在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :
1 n: _* C8 y3 H+ Y7 L3 C
- F. P! z* B9 G' ?5 p  ~再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:% i" D, l6 N0 V; H
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
  w: b) z7 {0 |/ h6 n- |8 D- X# Z1 Z7 y6 X# f3 x" C  {* F7 d
添加库文件 1
0 x$ D8 \; d" A+ v, Z& T$ l, X; Q4 u! [. L6 v6 G" S. \
添加库文件 2
7 v7 p( L2 v% O- \0 g- g添加好后再次运行:
" r+ i. k! ~% i$ F2 ^1 A+ k/ L& W+ O7 ^: M
“networkKey” 出错7 |& Z6 y9 O, A* m, Y# s
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:
. Q, @  L6 F7 r& F
' D  p) s: s& R" d8 G4 r修改 Main Interface
: E1 Q/ r; M: X8 W% B4 a  C- f再一次运行:7 p7 U7 E4 }. ^) k
8 o0 j' l9 f- v9 q" D2 m
Info.plist 文件缺少 Fabric 字段 16 e+ m9 R* v8 P! m6 e0 k. W4 y
) [! L: o! s2 W+ w+ [& p
Info.plist 文件缺少 Fabric 字段 2$ f# o6 X  S3 \# Y' M
开启 Background Modes:
. G' ?; D( ]; _1 J9 j" Y4 n$ k) [8 w$ ]' w4 L# l
开启 Background Modes
# J6 ]0 r9 W7 ~! ?# F) c  _1 K向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:8 }( ?# d! ]. N. ?  [6 J3 |8 E
" I' @! [- L/ K/ O2 j# m6 ~
QQ20180131-144207@2x.png7 o2 b- v# W1 o6 D
好了,再次运行:
4 U) V6 _( G' i6 {+ a
; }3 V: m- @0 V模拟器运行界面  d2 q6 ?  E6 m1 F' s
终于运行成功了!!!/(ㄒoㄒ)/~~
% W7 s9 \9 z# N* v9 q$ |  U5 o' yAppDelegate.swift
5 g2 y" o. @+ D7 v! }Channel.framework 大概是跟推送通知有关的库:
( z7 s9 @( z- |: Y2 r1 ^7 Qfunc setupChannel() {. k4 @; r. w+ U, H/ n
        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY: ^3 y- e8 D% V5 U9 H, n3 e+ ~9 k" E
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")
! A$ V- \4 H! j( [. g    }
* ]' s% B, l: C2 Y* S- x' S% Z设置应用的外观样式:) N+ f, u2 W; r7 r  ?3 ^8 `
func setupApperances() {8 b) d! F3 F4 o. ?4 W+ d9 ]
        UIBarButtonItem.appearance().setTitleTextAttributes([
( r! N  R  Z; u3 ?            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,
: c$ F6 l$ D( H/ G; L7 q* T  a            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
  Z! W+ U- n- s3 x0 l) k7 M0 f        UINavigationBar.appearance().largeTitleTextAttributes = [3 f) F/ J2 l# B' q" j. k3 d& \
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,
& m" ~9 m+ }5 Z7 V3 S; D            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]
5 I- ^+ J5 h5 V& b0 ]6 E. }9 z    }
4 W0 j, a9 y# J+ Q8 V1 k; J2 s' @- P创建用户的默认配置:
- a- b/ f3 d& q% G- ~6 N- Efunc registerDefaults() {
$ i6 O( e7 q1 z  d9 N        let userDefaultsDefaults: [String: Any] = [
$ y1 U$ W/ c& A) _) j3 x            "networkKey": "main",
2 P5 ?) \' F$ q6 {3 i$ J            "usedDefaultSeedKey": false,
5 S+ m" O0 _3 b7 B' S% ^1 F            "selectedThemeKey": Theme.light.rawValue* ~$ j7 A1 T6 z" _$ H+ U
        ]
; \6 d5 O# Z2 Z( ], V& ?5 b  k        UserDefaults.standard.register(defaults: userDefaultsDefaults)
9 [* a- [# }3 o0 B    }
, X1 k7 Z2 H5 P开启网络状态监测:9 |4 Z+ Y% o6 ^# j, x3 d
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11