Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
433 0 0
The main repo for the O3 wallet on iOS.( J4 N6 \0 M' w0 `2 M4 W0 t; _
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS
# B1 ^8 h$ N; a  Zneo-swift:https://github.com/CityOfZion/neo-swift2 G( e# y  P( l) W8 Q8 w
neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go
, J9 c4 K& ~  ~! J. \7 T, p" P( D6 M6 e$ _8 l9 [( X
下载 OzoneWalletIOS 项目
0 E! k& J. S; z下载 OzoneWalletIOS 项目到本地:/ p; g) P# k$ F7 {* e3 a2 H1 O. b& A
: V3 I7 F' p; A, B; Y# a) x
下载 OzoneWalletIOS 项目
$ A/ ^) B9 i4 P2 j+ V用 Xcode 打开项目并运行:
( ~# T0 `: U) I2 E& u/ D
% R$ I8 C' t  H" P9 X1 Z运行出错
- H' X6 Q  \% R# z
6 ^" Q; h  e2 E/ @缺少文件
5 i; Y* |4 b2 ~8 Q/ d! w  I" r0 U运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:+ Q) u. [& o7 S2 O
/ j! D5 b' Z# M5 l6 Q+ L
Cartfile 文件+ t5 r5 q( d5 e. b& }
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
/ [5 M  n% q# e打开终端,cd 到该项目目录,运行如下命令:
: X# A* s4 M# t( ~8 |$ carthage update --platform iOS
" T+ W' K  o( _- j: d& G* P
, E* U  c8 Y0 G; P6 q$ carthage update –platform iOS 命令5 e) f; n, g' \8 D( @, Z  d! u# W" d
0 ~' u/ V# r  h( Y3 l
缺少的文件已下载完成
7 B4 u5 ^6 u# C3 k命令运行成功之后,再次运行项目:
3 m- d, i3 S: s4 `/ _1 P0 V+ v: g: F! {7 a$ x+ n( y: I
info.plist 文件错误* G6 W: g+ _" G' k7 q3 j
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
: K3 h2 `0 L# L7 M# @2 c5 G( v$ O3 C
6 S# G  Z* v8 {3 _Reason image not found 错误) ^% D0 c! y; Y6 c; u
在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :: b, u6 R3 L# Q* H4 i3 s

' a" w  j9 s6 s. G- Z3 A+ J再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:0 B% C( g1 ]- V/ O8 H2 p
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace- f' w) N$ T* e, m9 o3 \

( T7 j4 L* s1 O$ {/ i添加库文件 1: m. g0 C) k0 o' Z, j' M
: F0 w2 c( Y7 s( o6 \4 n
添加库文件 2
8 l, Z1 Y- t5 C% S7 Y6 a$ n* f3 Y添加好后再次运行:: n& P8 x/ b8 h5 j1 d, I
& Z, I& F7 x+ Z( d* X: i4 Z  \4 T
“networkKey” 出错
5 D  z8 Z5 K! V5 R. s1 @) }这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:4 q/ @. e, k: t

& C5 ~  k& E- e9 b9 j* {2 ^修改 Main Interface
1 f2 m  A1 H7 r1 I再一次运行:
3 N' l/ H$ P% B
9 z( P: B, ~2 @4 C( XInfo.plist 文件缺少 Fabric 字段 1# T" U3 X1 D. g- t0 \
: e6 M# E7 \" B( H) f. a
Info.plist 文件缺少 Fabric 字段 2
6 X/ c. j7 Y6 S3 B1 v. T开启 Background Modes:6 j6 M, C2 {* @8 G
% r) j/ i5 x2 U! g# \
开启 Background Modes
2 u3 l5 o1 X6 _( G3 I: a+ j向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:5 z3 E: P, Y* R0 w# R) D+ h" X
! W, Q( X+ {' S
QQ20180131-144207@2x.png* v5 r& U+ U' h  P* w  r) g
好了,再次运行:% v. ]. l9 z$ _, L3 w; s" o. H

( f* Q  L3 v5 m8 e6 n# Z模拟器运行界面6 P) U9 w1 e$ W$ `, o7 c) X% d
终于运行成功了!!!/(ㄒoㄒ)/~~
0 T, E$ i- f- T( pAppDelegate.swift
# `) @3 ^4 z, j% _- H1 s# hChannel.framework 大概是跟推送通知有关的库:5 Y" n) P& k4 C, y( F# c8 a5 o
func setupChannel() {
5 Q6 C- n3 h% X        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY! S6 m, t( v2 u* m% n# ^
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")( B/ t& D$ V  m6 @7 g" b$ N
    }
# W+ J  x9 Y3 i( N6 ~设置应用的外观样式:
4 m8 O/ \1 i/ O; Pfunc setupApperances() {
. D8 n, p( n- C& T+ V* X        UIBarButtonItem.appearance().setTitleTextAttributes([
: T& M4 R, m( L  J# M, A            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,
+ c( N2 p2 {& g3 |; X            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
# {/ B! Q. E6 T" @) P        UINavigationBar.appearance().largeTitleTextAttributes = [$ ?% Z/ ^9 ]* O' o* \
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,
  E% h5 h" Y- R3 t1 X            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]- Q; y) M9 |0 k. O# }
    }& Z  \: d5 }6 |+ I4 J' e
创建用户的默认配置:$ z2 |# t+ V& E( b( X8 w0 p- H
func registerDefaults() {
9 B- p( e: ]0 e. Z+ f        let userDefaultsDefaults: [String: Any] = [% N# u$ Z2 H$ i2 e8 t: c  I+ i
            "networkKey": "main",+ |# v+ x3 F9 Z' l4 y" a' p
            "usedDefaultSeedKey": false,
" t  s, h1 _& h; ^9 w% ]            "selectedThemeKey": Theme.light.rawValue7 t6 N; Q: W  L; e/ k
        ]" i) a; z; `, q% e  J$ l: `* t
        UserDefaults.standard.register(defaults: userDefaultsDefaults)
/ u! R& {6 ?) V% i* T7 b6 p    }
- @/ R7 l( g, S7 k开启网络状态监测:4 V  T7 l5 W% Q) v( C1 l" ^
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11