Skip to main content

iOS编译运行指引

WorkPlus Lite iOS端使用的编码语言为OC

1. 编译与运行项目

1.1 Cocoapods 安装

WorkPlus IOS项目使用Cocoapods,请先安装Cocoapods

sudo gem install -n /usr/local/bin cocoapods

项目当前使用的pod版本是 1.8.4

1.2 编译项目

pod注意事项

WorkPlus Lite iOS客户端使用了Gitee做Pod公开仓库源,请确保你的公钥已经在GITEE上注册。

访问 https://gitee.com/help/articles/4181 以了解如何操作

进入项目主目录:

pod install --verbose

出现如下字样,表明编译项目成功

-> Pod installation complete! There are 32 dependencies from the Podfile and 35 total pods installed.

1.3 运行项目

项目当前使用XCode版本: Xcode11.7

XCode适配说明

WorkPlus Lite项目当前未适配XCode 12,此项工作仍在进行中

请使用Xcode打开项目,选择WorkPlus,Run就可以运行项目

1.4 关键配置文件

项目的关键配置文件路径为

Resources/Config/BeeWorks.json

{
"config": {
# API URL ,后台API地址
"apiUrl": "http://all.test.foreverht.com:7081/v1/",

# IOS Plist 下载地址
"iosDownloadUrl": "https://test.workplus.io:9443/man/workplus/public/releases/atwork/download/ios",

# 域ID
"domainId": "atwork",

# APP中版权信息配置
"copyright": {
"companyName": "WorkPlus(测试)",
"companyName_en": "WorkPlus(test)",
"companyName_hant": "WorkPlus(測試)",
"companyCopyright": "深圳恒拓高科信息技术有限公司",
"companyCopyright_en": "Forever High Tech Information Technology Co., Ltd",
"companyCopyright_hant": "深圳恒拓高科信息技術有限公司",
"companyUrl": "www.workplus.io",
"companyLoginIcon": "about_logo",
"companyAboutIcon": "about_logo"
},

#QQ及微信分享ID设置
"share": {
"qq": {
"enabled": true,
"appId": "1105486760"
},
"weixin": {
"enabled": true,
"appId": "wxbd606d50b3dcbb3f"
}
},

# 语音视频,(全时云或声网配置)
"meeting": {
"sdk": "Agora",
"Agora": {
"appId": "c7270fd484784f63bc8301e387da8082"
}
},

#Bugly相关配置 (统计异常)
"bugly": {
"appId": "665031f140",
"channelId": "TestVoice"
},

#讯飞配置(语音转文字)
"xfyun": {
"enabled": true,
"ios": {
"appId": "59360fbe"
}
},
#翻译配置
"translation": {
"enabled": true,
"type": "Google",
"google": {
"appId": "",
"appSecret": "AIzaSyBi4tzGpFlqR_E_wELtYdPVDHi5ZrZW1rw"
}
},
#高德地图配置
"amap": {
"ios": {
"appKey": "b5d7d4fc3a79d9848e644d6bdbeac575"
}
}
}
}

如上配置所示,修改项目的Api以及domainId等关键配置,就可以尝试启动运行WorkPlus Lite.

2. 系统结构文档

 -Atwork2
-www

-Main (主代码目录)
-Contact (模块)
-View (模块下的Views)
-Model (模型)
-Service (服务)
-ViewController (页面)
-DB (数据表)
-Repository (仓储)
-Net (网络)

-Share (共享模块)

-Expand (扩展代码目录)

-Utils (工具目录)
-Repository (仓储支持)

-Classes (2.0遗留目录)

-Resources (资源文件目录)

Repository(仓储)是指数据库操作

注意:

Classes这个目录为WorkPlus 2.0的目录,新的类不再放置在这个目录下,但旧的未有变更的功能暂时保持不变更,后续采用循序渐进的方式迁移此目录下的代码

3 第三方依赖说明

WorkPlus IOS项目使用了一些第三方插件或平台服务,列为如下

插件或服务名称描述开源或免费依赖方式
CocoaLumberjack记录日志的组件开源Pod依赖
AMapLocation高德地图,用于定位免费Pod依赖
AFNetworking网络框架开源Pod依赖
FMDB/SQLCipher数据库框架开源Pod依赖
SDWebImage图片缓存框架开源Pod依赖
SVProgressHUD一个弹出框架开源Pod依赖
AGEmojiKeyboard表情框架开源Pod依赖
JSBadgeView数字红点框架开源Pod依赖
Masonry自动布局框架开源Pod依赖
CordovaCordova框架开源Pod依赖
SSZipArchiveZIP压缩解压框架开源Pod依赖
FLAnimatedImageGif图片框架开源Pod依赖
DZNEmptyDataSet空白页面框架开源Pod依赖
友盟友盟免费服务类库依赖
BuglyBug记录免费服务类库依赖
QQ SDK分享到QQ免费服务类库依赖
讯飞语音转文本免费服务类库依赖