Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

O3(OzoneWalletIOS)项目

卡哇伊嘉人
315 0 0
The main repo for the O3 wallet on iOS.) C+ F2 V/ a' P/ ^
OzoneWalletIOS:https://github.com/CityOfZion/OzoneWalletIOS
6 k( e3 d( }) C6 S' w% sneo-swift:https://github.com/CityOfZion/neo-swift
6 M5 f7 x4 h3 {neo-wallet-address-go:https://github.com/apisit/neo-wallet-address-go
! `# L3 j) `8 [  s- Y
* R/ N# k: F8 i) e! M$ z* y; k下载 OzoneWalletIOS 项目* {% I2 T- [" _
下载 OzoneWalletIOS 项目到本地:) W# j, O- l! z, v# A/ }1 l
) g2 C! I& u- Y: ~
下载 OzoneWalletIOS 项目
$ i8 m4 `+ M3 t6 ]2 R" t用 Xcode 打开项目并运行:
: M+ ?' v! b) L, g2 g1 Y/ a! r2 E) L5 S! |) u* p% x5 E3 K
运行出错% k6 i/ T6 D6 v+ ~! I- {6 M

3 d8 y8 V6 E8 I8 c, ~% ^# y" G缺少文件
1 P" G2 p: R5 T2 Z5 D运行出错,发现缺少文件。打开项目目录,发现有这两个文件 Cartfile、Cartfile.resolved:
3 i/ ^+ n7 ~! S3 ~3 R; Z8 h5 ^7 P( n: w& \0 o4 g
Cartfile 文件+ b9 ?" F1 i% m, V$ `
该项目是用 Carthage 管理 iOS 依赖库的,安装使用方法看这里,如果安装不成功请下载 Releases 版本进行安装。. T. G3 ^; W2 X+ o7 a% V5 o% F
打开终端,cd 到该项目目录,运行如下命令:
6 F$ m  W8 Y2 o6 Y$ carthage update --platform iOS
( |7 q# H, q% ]' t, t7 s1 D9 Z, U1 |* [1 ^/ n) ^" l1 _+ Z- W  X8 w
$ carthage update –platform iOS 命令
$ \3 Y# s4 E& w6 i) U* `; X! z, X% I
缺少的文件已下载完成
$ |" O+ L" W( P1 i命令运行成功之后,再次运行项目:( `0 b. E) x$ `7 G8 i1 m

1 p: s" n; L0 Cinfo.plist 文件错误
$ q3 I+ S. I% J发现 info.plist 文件读取错误,无法打开。我的解决方法是,新建一个 Project,然后把新工程里的 info.plist 文件拷贝到该项目里替换掉,然后再次运行:1 f+ i3 v( s1 H

0 H, ~$ S3 I- }2 _8 z8 gReason image not found 错误
9 A3 i$ ~# P( h- Y7 a  D在 Finder 里前往文件夹 ~/Library/Developer/Xcode/DerivedData ,删除缓存目录下的文件 :
4 u1 _; [8 \0 @7 @% V% |# Z6 b. L6 o! _
再次运行,发现还是同样的错误,后来发现新加的一个库文件 AutoInsetter 没有加进去:7 u8 g2 x6 B9 D% \' Q. v4 o/ j
*** Building scheme "AutoInsetter" in AutoInsetter.xcworkspace
3 x9 ?4 U- g/ Y
4 i' f" X# J/ u: g7 C7 Y' u添加库文件 1+ [5 `- b+ K  G2 ~
8 `& p& J" \! n
添加库文件 23 y" W& h, P( w, b! k
添加好后再次运行:9 R* i. O$ Q9 Q4 }( T5 ?/ ^1 C6 ?
$ W  ]- ~5 ^# g8 Q9 }
“networkKey” 出错  Q2 S% y% u5 q% L& Q' M$ b; W
这个错误不知道怎么分析,全局搜索了一下“ networkKey”,发现是跟用户数据有关,后来整体看了一下项目,然后把项目的 Main Interface 改了一下:2 b' f7 `. {& b8 {3 y- S( Y

" B/ o1 ?  l4 U修改 Main Interface6 r& Y4 l9 Q! A$ N
再一次运行:
, Z( R! Q; {& a3 G, P. c' Z8 D
7 z/ @& A0 }% N2 H6 D) D2 x. qInfo.plist 文件缺少 Fabric 字段 1
7 T) ~) ?9 V( I2 P# K1 U$ s: C3 X: Y4 w
Info.plist 文件缺少 Fabric 字段 2- O7 S4 ~/ l# F
开启 Background Modes:3 `; e, Z8 W) |3 j3 g9 w7 I5 [1 S

" s: r( s* _" U! Q, |, `开启 Background Modes  D; s& B& Q5 j, d
向 Info.plist 文件添加 Fabric 字段,包含一个 String 类型的 APIKey 和一个 Array 类型的 Kits:: ?3 z" ~) b6 K6 T; [7 c1 ?  h

4 o: E& k. w0 R5 D9 `5 y1 q$ tQQ20180131-144207@2x.png
8 L3 Q* O) z2 G' B好了,再次运行:% w, R& N- m5 g7 \) i$ \  a& S$ X

4 x# H$ t* S, H8 j" [# B9 D& D模拟器运行界面
* ], G, k+ Y2 M. r, m, Y终于运行成功了!!!/(ㄒoㄒ)/~~
3 J$ k; ?6 Z- h9 I" \AppDelegate.swift) K! V8 P9 a* P! |7 m. v0 X
Channel.framework 大概是跟推送通知有关的库:
$ X1 ^) h/ t- Y( K: hfunc setupChannel() {* x. u9 Z2 I; [4 Q' o8 {
        //O3 Development on Channel app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY
) ^, k6 h" n& e        Channel.setup(withApplicationId: "app_gUHDmimXT8oXRSpJvCxrz5DZvUisko_mliB61uda9iY")4 x( f8 w, g* A& C0 ~- r* N& d$ F
    }8 `; j  N! I6 I& }$ F( D
设置应用的外观样式:) P2 z$ W* f7 @9 o- _4 y
func setupApperances() {
, c# J+ C  a* x  Y, [( A5 G        UIBarButtonItem.appearance().setTitleTextAttributes([
; ?& u5 e7 `5 Q+ r1 {. x7 i            NSAttributedStringKey.font: ThemeManager.barButtonItemFont,3 T: ~( R7 _% y5 s5 G) k5 L  W
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.primaryColor], for: .normal)$ F/ `! n& `* z* B
        UINavigationBar.appearance().largeTitleTextAttributes = [) E+ H$ O! N9 ?1 a
            NSAttributedStringKey.foregroundColor: UserDefaultsManager.theme.textColor,# R/ b4 M5 Q4 J2 _
            NSAttributedStringKey.font: UIFont(name: "Avenir-Heavy", size: 32) as Any]% f# M9 x3 K4 R9 w; j4 }5 n) t
    }
9 f$ h! F- e$ x% t, @7 r创建用户的默认配置:
# |% s9 |4 J" x& s8 j2 ~5 ^0 j) e# vfunc registerDefaults() {
/ |% _9 P, N* A; x& r        let userDefaultsDefaults: [String: Any] = [
0 t$ d" Z: \# f            "networkKey": "main",
+ `6 d, a* B, ?9 _- [            "usedDefaultSeedKey": false,
# v, g, O, s6 u6 d            "selectedThemeKey": Theme.light.rawValue
" E* v) l' l, }" S5 J+ V        ]/ w& D  L3 ~" {- g) m
        UserDefaults.standard.register(defaults: userDefaultsDefaults)7 J# ^: [( v5 k( H
    }$ [/ X8 I4 b. Q6 ]* N8 m
开启网络状态监测:6 z5 e9 G# `/ `( r- q" C4 |
let alertController = UIAlertController(title: "Uh oh! There is no internet connection.
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

卡哇伊嘉人 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    11