Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
299 0 0
The main repo for the O3 wallet on iOS.* S, U; L# A& t8 H+ f+ K
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS
' k+ g3 z8 o$ M' m" r3 nneo-swift:https://github.com/CityOfZion/neo-swift
, _0 z4 A" y* C- I1 ineo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go
8 l/ t. x3 r6 Z/ L
) V4 ]' S" u$ L% l3 p" ~下载 OzoneWalletIOS 项目7 {7 v% y- x( _! n
下载 OzoneWalletIOS 项目到本地:
! e3 d) n) b; x/ G, l+ \& p2 ^3 K& R- M1 R
下载 OzoneWalletIOS 项目3 ^6 \# A4 ]1 H  {9 M
用 Xcode 打开项目并运行:& Z- R$ R2 f; M% D1 A
6 E! T; |6 r: n6 i; b% Q! ~  r
运行出错
2 j( v4 \2 Q. Y- E
5 R* p% ~8 }+ w9 i: [  A: \缺少文件+ a7 U! m" _6 k1 B# B# X7 T' {
运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
/ `8 y0 T1 z$ J- H# @1 P! n8 W9 ~( @( x4 ]6 j' E
Cartfile 文件/ |* g, W- b6 q
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。
1 J. V# c; \1 o8 g1 O+ T: L0 j: d打开终端,cd 到该项目目录,运行如下命令:8 N. J9 j" \+ s! J, ~4 a
$ carthage update --platform iOS, q" N5 }& B4 \+ _: L! o1 a) e

1 t. x7 J5 i2 r6 Y$ carthage update –platform iOS 命令
! @7 X2 ^, X, J
& T) C9 v5 C! t* t- p$ c缺少的文件已下载完成
. \$ X# [; ?- r. c" Y% i: @命令运行成功之后,再次运行项目:
3 c) g# Q- Y& Z: N5 h
5 ]* }2 x+ \' h  e/ h/ pinfo.plist 文件错误. |1 U: G8 e; J! ]" Y
发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:
+ E2 C- a, F" U
# T8 c0 z* ~" B( w. B( ?Reason image not found 错误) |2 g6 T/ J5 B
在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :3 Q: _) t+ l+ }6 |* ]3 v# E
" x! Z( D% m7 V1 f  w
再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:
4 b+ N: ?0 N" g) x( Z*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace# K) G! C/ \1 u
$ v9 o  E& _: \5 ~; Y
添加库文件 19 u3 ]( w* X4 S9 R8 R* M8 d
* q, W, m2 t& q$ b
添加库文件 2+ ?# r2 ?- d* J* y& L7 f
添加好后再次运行:
' I* O1 L" _5 a8 W
! ], }6 X5 Q) t% r“networkKey” 出错
+ g& V8 x% ^, ]! R这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:$ s7 b+ K! H# Y
+ g3 g1 u- y8 I6 G9 `2 P
修改 Main Interface! \7 b+ E0 D5 K+ Z& a" u( B4 ?4 Y
再一次运行:
3 `6 l6 P5 {* E
$ `0 p- d! i! a1 L3 ZInfo.plist 文件缺少 Fabric 字段 1" n) f, y' S) p6 o6 f0 O
3 `! R, n( j+ i
Info.plist 文件缺少 Fabric 字段 2" t8 |+ P- }4 J- l% U4 A) R9 h* W
开启 Background Modes:& M& ]( V/ R0 _% G5 C

7 A% H2 K) L( r4 g4 Y9 m' M4 P( {) M% n开启 Background Modes; O  Y2 p3 I1 h) r1 {1 `. A+ i
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:, I- a5 r  d6 {/ `5 @% n

( ?. n7 x3 D2 v; ?& G% _; l+ LQQ20180131-144207@2x.png
5 J, u" Y& T! ]( K好了,再次运行:* x+ F) w' j& N  i2 Q
# v& R4 j. Y& l3 r: H1 F( @+ \) x- x
模拟器运行界面2 r9 R1 B1 P: j
终于运行成功了!!!/(ㄒoㄒ)/~~
- I% F& Y! |$ H. uAppDelegate.swift% M, y" \) c5 V& h7 v  t
Channel.framework 大概是跟推送通知有关的库:! v: p; ~$ O' {. q+ @8 g& L$ x- z* j
func setupChannel() {8 A- n( n6 V) z6 Q2 B. q  f6 O
        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY% h( o& E7 u/ Z( }, e1 g
        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")2 f: b" ?8 h# Y
    }
5 K" ~4 Q4 ~) O' Z4 ]设置应用的外观样式:
+ O9 k% l2 A: C1 ufunc setupApperances() {2 m# c; }8 A4 W3 ^% u
        UIBarButtonItem.appearance().setTitleTextAttributes([# h0 w! `; L) e( y: T
            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,0 ~. V+ b5 K5 G4 W. v" a( h
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)
# t: K$ B  V$ V0 \  Y5 b) E        UINavigationBar.appearance().largeTitleTextAttributes = [' D( B' w. c& |) r6 n1 V
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,
/ r! n3 A; o0 v8 B- I& L/ Q            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]
1 Z6 a+ a8 |6 d: j1 `. E2 i( t* d    }: ~) \4 h+ y; |8 z) Q
创建用户的默认配置:% S, U! U, t! }: X4 v5 M
func registerDefaults() {% c+ m$ r0 P4 {/ f- ?  @
        let userDefaultsDefaults: [String: Any] = [4 m  F$ t& a/ o1 K
            "networkKey": "main",
( D/ c& K+ p( l* I% w, w  \            "usedDefaultSeedKey": false,$ F: {2 n3 U2 I% D3 W
            "selectedThemeKey": Theme.light.rawValue% F0 W* g( ?) C$ I% I7 D/ O
        ]% l+ @" s4 I- Z! Z* f5 n
        UserDefaults.standard.register(defaults: userDefaultsDefaults)# k* n5 \% {  k0 b8 e: {
    }4 h0 }6 q; d- O4 k' I5 {/ R
开启网络状态监测:  m/ C4 `- m4 H+ }; D
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11