狼人残风0011
狼人残风0011
  • 发布:2020-02-25 10:35
  • 更新:2020-05-13 19:11
  • 阅读:1342

ios

分类:5+ SDK

详细问题描述

1.后台线程刷新UI

=================================================================  
Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation]  
PID: 9255, TID: 3252441, Thread name: com.taobao.weex.bridge, Queue name: com.apple.root.default-qos.overcommit, QoS: 0  
Backtrace:  
Main Thread Checker: UI API called on a background thread: -[UIView safeAreaInsets]  
PID: 9255, TID: 3252441, Thread name: com.taobao.weex.bridge, Queue name: com.apple.root.default-qos.overcommit, QoS: 0  
Backtrace:

决解方案

刷新UI的代码加到UI线程上去: dispatch_async(dispatch_get_main_queue(),^{
[UIApplication statusBarOrientation];
})

2.第三方库太多,没有按需加载,全部都一股脑集成项目,同时也不支持bitcode,导致安装包ipa太大(70多M)

决解方案

1.可以出个配置文档,开发者自行按照文档配置

  1. 动态读取manifest.json的配置,按需加载对应的第三方库

3.修改了很多iOS项目默认的配置,导致常规的iOS开发配置有很多问题,如:

Build Settings的GCC_PREPROCESSOR_DEFINITIONS、LIBRARY_SEARCH_PATHS、OTHER_LDFLAGS这些配置把项目的默认配置都改掉了,导致集成cocopods很多问题

决解方案

常规的配置不要乱修改,按需添加uni-app自己的配置即可,如:LIBRARY_SEARCH_PATHS 的$(inherited)这个配置不要删掉,增加$(SRCROOT)/../SDK/libs、$(PROJECT_DIR)即可

4.项目文件结构乱,存在不明文件,如

BDSClientEASRResources文件夹下的*.bat文件作用不明

Bundles在存在多个js文件,没有组织一起
splash启动页还是采用老式的静态图方式

决解方案

不明文件是否是必须?

启动页可以抛弃静态图方式,js可以建立bundle包,采用storyboard方式

5.代码适配有问题,如

ViewController.m里状态栏的高度竟然还是定义为:

define kStatusBarHeight 20.f

没有适配iphone X后的版本

决解方案

修正状态栏高度宏定义:

define kStatusBarHeight (iPhoneX ? 44.f : 20.f)

5.PROJECT名和TARGETS名没有按照默认的一致,导致集成cocopods的时候需要制定target和project

决解方案

改成一致就好,命名不要包含-,采用英文首字母大写即可

6.没有针对现有iOS项目集成uni-app的功能

决解方案

可以参考Cordova的方案

0 关注 分享

要回复文章请先登录注册

l***@163.com

l***@163.com

你好,第三方库太多,没有按需加载,全部都一股脑集成项目,同时也不支持bitcode,导致安装包ipa太大(70多M)这个为怎么解决的,云打包的时候没有选择的地方啊
2020-05-13 19:11