Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
430 0 0
The main repo for the O3 wallet on iOS.! {# o& w8 D4 ]1 h- s5 z
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS2 O, y& e% @" h  j% I8 G( x
neo-swift:https://github.com/CityOfZion/neo-swift
8 Z' |$ Y# z" E% O* Rneo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go+ l  d' e* A9 u. a

$ g7 ?- m& T0 I/ }; x下载 OzoneWalletIOS 项目1 U8 L. U5 I) [+ z, C" |) m  y7 M
下载 OzoneWalletIOS 项目到本地:
; a) I' ^. X0 U/ c; q# I6 Z# V  f9 z# }
下载 OzoneWalletIOS 项目- b. j: c4 l6 |2 H
用 Xcode 打开项目并运行:1 T* Q3 p1 S6 q1 t9 ]1 U6 [( G
$ \7 x9 X2 T: x) B3 Y! l2 j
运行出错* \1 z  Y/ k( B9 Y# |- c  r
! @# A/ M+ `, o; }6 O1 y6 ~
缺少文件) h: d% _! ]  {  Q. F
运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:4 F4 J/ U% E  o- u9 C% d
" f  w  ?( w3 g5 x
Cartfile 文件
+ s4 J2 W  j( H# _该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
- S" a3 }0 u1 j+ e& B& }" a打开终端,cd 到该项目目录,运行如下命令:
* E! v2 e8 p. X6 q4 z, s$ carthage update --platform iOS+ i9 o. w# G; K' a  I  U$ x0 B# E) w
% _& }" @, B. q, u: C( o3 P- F6 h/ K
$ carthage update –platform iOS 命令
4 N4 S2 K3 C8 E- O! C
' F+ O# J5 h2 M3 N; j; g缺少的文件已下载完成
5 e5 }$ B' L6 s1 O- u' \* v命令运行成功之后,再次运行项目:2 H- h' ]7 g7 m" Z- t$ S. O- m

& w6 y$ c# b( s1 ?+ w. linfo.plist 文件错误
4 r! F7 l% e" @! \1 o5 F4 ^发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
( o8 ]1 D3 F4 _' V( v$ V( ?
% t, b( E. V" o! _Reason image not found 错误
" v8 z& i. n/ Q4 p9 o; |  e* _4 C: d在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :# I6 A' t5 c; |6 q4 _

: h) W- K; h) z9 y, P/ S/ J再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:
) ]8 Z, ]. I! v3 C9 {*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
4 u" B: w" D0 c  j3 K% P' y: ?( y$ V' A3 @- r
添加库文件 1
1 K, I/ U6 ^6 n' W6 h7 a
9 U* I. y0 J4 K' h, K, p1 m添加库文件 2
" [' [/ |2 b/ C0 z添加好后再次运行:
% w6 k6 v& X' O8 e/ B  V& N6 {; Z
“networkKey” 出错5 w' G1 h# @& R, `3 C2 R
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:
/ U0 K% l: W8 N. m6 p# s$ ]( w$ D
修改 Main Interface
8 D& K! r5 u) f% _/ w: _$ `& o再一次运行:+ ~' ]: n. b) b" P0 g- j1 n# D
2 F% d9 y! o$ f4 E) [  _. V
Info.plist 文件缺少 Fabric 字段 13 Q, \! K: A3 P' ~: S) J+ Y

1 z8 S  ]& x' {% y8 X6 T; @( H) W( sInfo.plist 文件缺少 Fabric 字段 2/ r+ P3 m( m4 m5 I
开启 Background Modes:
( |0 O$ k3 Z2 F6 G* s( |2 m8 [* H- U( X9 r0 R
开启 Background Modes
0 a$ ~& H/ R- p5 g5 l向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:: M  c( H% p6 @: N" u& a5 f' z

$ u  {4 p& x' P4 v" e1 T( lQQ20180131-144207@2x.png
7 }9 d) Z  ]3 d. E% ]* g# u好了,再次运行:
1 O' @+ N2 a" \
9 {( q! I% P7 m& k7 f5 _7 k模拟器运行界面
% C! p3 i" u2 f9 b终于运行成功了!!!/(ㄒoㄒ)/~~
  {9 q- L; e  k% o2 j' H/ sAppDelegate.swift
; c3 M- g+ |2 wChannel.framework 大概是跟推送通知有关的库:, E2 A9 v+ M* v6 L9 \) l
func setupChannel() {
- O4 X! m( t! J1 M        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY
1 F3 U1 p+ r6 E; w        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")
& V- z0 {3 W. G  w; Y9 `    }1 D% K0 y: b* ^7 }2 c/ ~: _
设置应用的外观样式:. H2 L) Y3 P' j) v# S/ r7 ^
func setupApperances() {: X9 u- l% ?' B
        UIBarButtonItem.appearance().setTitleTextAttributes([# f, ~0 i8 o" s( `3 N
            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,) b1 X& a) @' X! a- |+ v
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
7 t+ D7 i' |( T$ v        UINavigationBar.appearance().largeTitleTextAttributes = [3 v! \( B5 N( E! d. {' }
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,. O) k3 S  |; m* `
            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]: d* {0 S8 }6 v) S' C
    }# C" H2 P( B3 t6 _* a7 V' b& N
创建用户的默认配置:: p# {& u: K7 k
func registerDefaults() {/ e8 E. k; t1 c$ L7 s% j# ?; X: ^0 ?+ x$ D
        let userDefaultsDefaults: [String: Any] = [
% s3 v/ S7 s3 ^: j7 T            "networkKey": "main",
, o% J* F4 f6 T& a  [+ C            "usedDefaultSeedKey": false,9 [0 S0 A( L: l$ {7 G6 M) t) L
            "selectedThemeKey": Theme.light.rawValue
6 O- e$ {) F' Y9 E" v" ^        ]4 Z9 N, x& R1 ^
        UserDefaults.standard.register(defaults: userDefaultsDefaults)
. g& }8 T# S+ H# P    }
: d, o+ j2 {' `2 h开启网络状态监测:
1 E4 |4 t# B8 }- A. [let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11