Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
431 0 0
The main repo for the O3 wallet on iOS.+ T$ X0 X2 t; D3 k% t  S: r, c
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS  l8 g5 l1 P$ V# {, X
neo-swift:https://github.com/CityOfZion/neo-swift
1 a( E9 Q" g! T0 I# _neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go
- M# [) l0 I7 |1 g4 G8 G
4 h) J4 {- P; Q% ]4 w下载 OzoneWalletIOS 项目
0 t$ x# p5 J) q0 {- b( X- K下载 OzoneWalletIOS 项目到本地:8 e& f9 C( y- ^1 V9 c
2 ]# {% u: Z0 R. n8 A6 H
下载 OzoneWalletIOS 项目
" D" _& g2 ?# ]' f用 Xcode 打开项目并运行:; F+ P' }- ?" k/ ^7 [8 i8 q
) G; m1 ]7 _$ t, t: }+ Q9 p
运行出错
. k( u9 Q! J1 z+ m2 q2 N6 L
, J' r% o; \0 Y$ N, ?缺少文件
3 M0 W6 d( W6 F5 F运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
0 b! H. l6 m1 t7 w& c# k
. ?1 {7 S. s: y! c$ C( E7 OCartfile 文件0 H4 ~" B+ n$ e* a& s
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。3 t, B, m$ |# `$ y+ ?- ]6 ^( @" Z
打开终端,cd 到该项目目录,运行如下命令:" s& w: w1 c6 [4 X  i6 F5 q3 }& m
$ carthage update --platform iOS/ Y; o& M+ {. @8 n) w" T6 y

) e& I8 M5 v0 p$ carthage update –platform iOS 命令
# w) t7 [) k; {5 q4 O( J4 f2 C9 F2 _. K% [  |
缺少的文件已下载完成
, |3 R' e* \0 _7 J% q" q命令运行成功之后,再次运行项目:
; r: x$ v6 X! g" s8 }- w: j9 Q; v7 T
info.plist 文件错误0 s3 i( C, }8 K0 H- j2 |) x  s
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
9 N: ?. n% J9 G" ]6 {: p8 v& r& n) h9 U3 p
: e7 B. \9 r6 T) ~+ TReason image not found 错误' F: b0 C/ B, K' i7 r
在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :6 T2 `, @3 B! F- |
! m3 h7 c; }+ ~, a/ W
再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:+ i2 F2 H  y2 O4 N9 T( a
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
- q- M% J" r3 A1 o9 S& n6 Z5 O6 {/ ~$ C) S7 p( o$ B+ k2 K
添加库文件 10 {: W* G( P$ z8 c
* [5 {/ v( o( ~3 C( W
添加库文件 2
7 i6 ~$ X1 _! d% `添加好后再次运行:) Q0 m# x' L- }0 X1 y/ {  T1 N

! s$ J! [1 c" p8 x6 Q“networkKey” 出错1 Q$ }! @& C" F1 o$ ]
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:! [/ h" e0 H/ H- n' c* H3 |. y

. w+ v, D7 ~% {修改 Main Interface
5 C- }; e9 x8 C- i2 B/ s% r再一次运行:; T3 z; @6 T+ D/ T, t3 R' T
& G' Y8 u" j8 U' n0 X5 v3 t7 [
Info.plist 文件缺少 Fabric 字段 1
$ }1 G) t3 t7 f0 ~# w/ X5 q% G9 n* |1 k
Info.plist 文件缺少 Fabric 字段 2
- T% ~; k2 P. K开启 Background Modes:4 ]. A+ S* G  g( L) o' \+ ~& m

+ K+ r% g( [1 }- R/ ?7 R( `开启 Background Modes: n/ x1 k: S9 t1 V3 w- m
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:
2 e. p+ y( z1 X/ R9 k8 U9 e: A& U  r& J. f+ [( z
QQ20180131-144207@2x.png
/ o: x% }9 V0 P7 J9 [+ O- n8 B/ a5 \好了,再次运行:
2 H3 {2 t( P5 A# t+ f
( s$ ~" n( L3 j7 r! D4 n% T9 Z. }模拟器运行界面& O% c; _7 C, B4 t& X4 h( W" p( z
终于运行成功了!!!/(ㄒoㄒ)/~~, U$ H, x7 O% v- ?, A" {  k" F. o  w3 _: z
AppDelegate.swift
* a( K; A& {& T( W& |# L5 GChannel.framework 大概是跟推送通知有关的库:
0 _% [4 `9 n. z1 w+ N) d) lfunc setupChannel() {5 }8 z  {# f0 {' b7 w
        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY8 U6 P8 J" O( k( K; v5 R$ t, W9 l
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")
! x6 }6 Q' b& t2 g    }+ X( Q7 i# z0 W0 b# M" g6 L; P
设置应用的外观样式:& R; `% [- g* t) S' K# c7 p
func setupApperances() {; c7 J; U) `2 {+ p! D8 P' C
        UIBarButtonItem.appearance().setTitleTextAttributes([9 W2 l$ P3 K: _! M9 j- H0 l
            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,0 m+ Z) ^/ k: G8 K5 H6 u1 _& C
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)1 F$ u7 x: Z. w: p$ _
        UINavigationBar.appearance().largeTitleTextAttributes = [
- {6 m7 `- T* [6 {% M  s8 V/ [, f            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,9 D, D$ R/ O/ {
            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]
! D4 G9 N# A4 z7 S# x- r+ N# Y9 E    }
3 Q0 ~, U" j& n# `创建用户的默认配置:+ F9 V0 j* b9 X, W5 s7 _4 \. |, ^
func registerDefaults() {/ j2 R9 E: g9 k( T
        let userDefaultsDefaults: [String: Any] = [3 ?1 p6 G- l- k# F
            "networkKey": "main",) \5 C6 _9 V) {% S' f
            "usedDefaultSeedKey": false,
2 l' n  u1 c5 N! K            "selectedThemeKey": Theme.light.rawValue" `% O7 b7 n7 A6 h  t
        ]
; ~/ ]) K# g7 F6 W( x! D        UserDefaults.standard.register(defaults: userDefaultsDefaults): N8 U0 `' {- b6 q* m, i, d; d
    }( K8 S6 \( M2 D  I% ?; [2 F6 [
开启网络状态监测:+ H/ A  ?7 ^; z# a
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11