Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
325 0 0
The main repo for the O3 wallet on iOS.: A7 F' z6 s+ l+ K
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS2 Q, v- Z4 k# z' q
neo-swift:https://github.com/CityOfZion/neo-swift( c' E& h0 f' h3 X
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go
, J* |( R8 V- F$ O1 v& ]$ N# a$ K  z) d$ N) P! e' o
下载 OzoneWalletIOS 项目% V! f- }  F6 j1 c/ [" y* n0 ~9 P! h
下载 OzoneWalletIOS 项目到本地:: [, g' d5 @0 Z/ I* ^

) ~# n! t; K& N# u5 e2 C# H下载 OzoneWalletIOS 项目* t! G! |; L. w# ~
用 Xcode 打开项目并运行:$ h- F3 s  n+ ^

8 q4 r7 h( i: i% C  y3 X! P$ y运行出错& S- ]7 [) V2 S6 M: n  Z; a7 \

7 i2 H3 T: A* L" l" x+ t缺少文件
; e/ j1 A1 g; L' }! W& d运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
; j; y- {. [+ }6 w5 o/ E7 ^, H" P( V+ F9 i- _7 R  h9 p; K* S
Cartfile 文件& {! ~* \( f( o# P% A' x
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
( o! s* A4 u( `! K打开终端,cd 到该项目目录,运行如下命令:
9 I% d" r4 I0 J( k! m5 E* I8 T$ carthage update --platform iOS
0 f) S6 U( [# h7 i2 A7 K# I& s0 |: }1 N$ w+ A/ l) {
$ carthage update –platform iOS 命令  K2 y! {6 G+ Q- ^# [- E

6 ?) E6 s. W! A6 A$ }4 A: n: l4 s7 Z缺少的文件已下载完成
3 c5 A* N: I& f) i命令运行成功之后,再次运行项目:* Q3 J8 d# E! _+ h/ Q- Z; U: I8 k' l" K

/ y* {, i' `' U" F# yinfo.plist 文件错误# }; N/ f! Z6 z5 i
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
) \; ^/ G3 n/ w8 L, P& K! F5 s
6 J: T7 w% m4 R1 m3 F1 gReason image not found 错误
: X6 d2 `$ W: x) [$ ]. Y) b- t在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :. G, \. q/ M" d

! H/ V; v  B* @4 F' f. l1 h再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:
8 b; g# l+ d1 S! ~*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace( z1 c  ~2 w) [+ ?* h1 x

* [) ?! K8 k3 ?* B1 t添加库文件 13 `7 T4 Z4 U; ]6 _, N( H

( X. m$ j! Q$ m  p添加库文件 2
; s0 F5 K8 r  R  I2 J添加好后再次运行:
$ u# N5 ^4 o* s8 y( g: t4 j5 d
. ^/ C- n/ U! ]- d( m6 m" l0 o  U“networkKey” 出错
  G# }, `3 k+ z) v这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:
6 G6 B/ M$ M5 a- d: C! _1 I# I& D& [0 Q& s# t! x
修改 Main Interface+ P9 G6 O+ |: `8 i) f+ f
再一次运行:
5 w. q$ @  c* n! c: r! i4 b; m, `  Z1 A
Info.plist 文件缺少 Fabric 字段 1! P/ ~* W0 H3 s4 x& ^. l- ]
( c1 J" J& O9 I* g" L" ?# ]. i
Info.plist 文件缺少 Fabric 字段 2
: q1 H' D/ J' u- ~( ]开启 Background Modes:
$ y0 \2 i. x  {6 M, t9 ?, D
9 s% J2 F! i# O! S5 o# K3 B4 ]* C开启 Background Modes3 D! }5 t+ ^' `: M7 c5 j- n! a  v
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:
' q: H; P; e) \" P) M
# m: g' l4 V; xQQ20180131-144207@2x.png
, }3 S, K- Z; x! n9 T+ X; d好了,再次运行:6 O+ E3 I" [0 y# ~  A

& F3 ~# d- [% Z. c2 P& P! {模拟器运行界面; _; Z- p. `" n* D5 P7 e. e
终于运行成功了!!!/(ㄒoㄒ)/~~+ J# p. I. L# x& j- K
AppDelegate.swift
. s, w# h/ n5 @) v% _Channel.framework 大概是跟推送通知有关的库:; z+ D( `; Q. M; D% j
func setupChannel() {$ b. w4 v  H" m4 D. L6 d# J
        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY+ F8 k1 M' @' w8 }9 E* N1 j* F
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")
$ f$ ~/ U0 }2 ^) k0 v" m( o2 v4 C    }7 L% H  V* R; p# j
设置应用的外观样式:
4 D: Y7 m% ]1 l) afunc setupApperances() {
$ W. Q" g8 U7 D' G, X0 ]        UIBarButtonItem.appearance().setTitleTextAttributes([
$ e1 m# k1 F, g9 I) p1 `            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,
% M/ f; D4 W( ^. G            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)9 b. P! O9 q$ ]6 O* J
        UINavigationBar.appearance().largeTitleTextAttributes = [0 R4 q2 u8 _8 Z. E" Z; K5 ?
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,* ^# M/ u9 j# q& M. |
            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]  L5 {! ]8 [; H$ p$ X
    }# n1 a: }7 J7 p% n4 L
创建用户的默认配置:2 n; }$ ~9 D) U1 Y2 u) y
func registerDefaults() {1 a7 K9 ^( P$ o$ z( j& h3 W
        let userDefaultsDefaults: [String: Any] = [+ Q6 K( m; K7 v0 n1 R/ L
            "networkKey": "main",1 w' a3 R- C( |' B. e" h9 T1 b
            "usedDefaultSeedKey": false,: M5 j* `$ r5 \! e! c
            "selectedThemeKey": Theme.light.rawValue
3 z2 `$ `6 D$ i4 C  ^% r8 |7 f% \% s        ]
( b: B4 i9 T: l3 N) C3 o        UserDefaults.standard.register(defaults: userDefaultsDefaults)
& B+ h: ?( P& a3 @: M    }
  i4 D# l/ I* e! o开启网络状态监测:% I8 v& ^7 B5 r
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11