Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mx1700/timepill-app
https://github.com/mx1700/timepill-app
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/mx1700/timepill-app
- Owner: mx1700
- Created: 2018-01-23T04:18:28.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-07T05:43:42.000Z (over 2 years ago)
- Last Synced: 2023-08-04T01:11:21.416Z (over 1 year ago)
- Language: JavaScript
- Size: 1.75 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
timepill app
=====TODO
-----
1. 在日记详情页修改日记后,回到详情页日记内容没有变更
1. 草稿功能未实现
1. 别人的日记页不应该提示 写一篇日记吧
1. 写日记后,我的日记页自动刷新
1. 日记本页优化
1. 日记本添加编辑页
1. 设置页
1. 回复某人偶尔会丢失回复人的问题
1. iOS 不做更新检查android 打包 js bundle 方法(iOS编译时会自动打包)
-----
```bash
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
```RN 版本问题
-----
目前使用的 0.53 版本,iOS 完美,android 有个 TextInput 的 崩溃问题0.55 在 iOS 上问题较多,自带输入法无法输入中文,react-native-navigation 兼容问题(隐藏 tab 不稳定,有时候出白条,有时候闪烁)
android 没有仔细测试,不清楚具体问题多少android 已知问题修复
-----### android 平台 jpush 和 react-native-navigation 兼容问题解决
#### 问题现象android App 在后台状态,点击通知 App 会重置
#### 原因
react-native-navigation 的启动逻辑是在 MainActivity 启动时,主 Activity 从 MainActivity 替换成 NavigationActivity
见:https://wix.github.io/react-native-navigation/#/android-specific-use-cases?id=why-overriding-these-methods-in-mainactivity-won39t-work
而 jpush 处理点击时,总是去激活 MainActivity ,这就导致总会产生一个新的 NavigationActivity#### 处理办法是修改 jpush 处理点击的逻辑
修改 jpush-react-native/android/src/main/java/cn/jpush/reactnativejpush/JPushModule.java 544 行
```java
if (isApplicationRunningBackground(context)) {
ComponentName componentName = getTopActivity(context);
intent = new Intent();
if (componentName != null) {
intent.setClassName(componentName.getPackageName(), componentName.getClassName());
} else {
intent.setClassName(context.getPackageName(), context.getPackageName() + ".MainActivity");
}
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
} else {
```并增加一个函数 getTopActivity
```java
private static ComponentName getTopActivity(Context context){
ActivityManager activityManager = (ActivityManager) context.getSystemService(Service.ACTIVITY_SERVICE);
if (activityManager == null) return null;
List runningTaskInfoList = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (ActivityManager.RunningTaskInfo taskInfo : runningTaskInfoList) {
if (taskInfo.topActivity.getPackageName().equals(context.getPackageName())){
return taskInfo.topActivity;
}
}
return null;
}
```#### 获取 getTopActivity 的原因
App 后台,或者退出后,通过通知唤起,都会进入 isApplicationRunningBackground 的分支条件
从后台唤起,应该激活 NavigationActivity ,而退出状态下唤起,不能直接启动 NavigationActivity,因为缺少初始化的参数
NavigationActivity 的初始化时通过 MainActivity 运行的
所以需要先获取当前激活的 Activity,如果有,则直接激活,如果没有,则启动 MainActivity### jpush 引起崩溃的问题
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Object android.util.SparseArray.get(int)' on a null object reference
at cn.jpush.reactnativejpush.JPushModule$MyJPushMessageReceiver.onAliasOperatorResult(JPushModule.java:654)
at cn.jpush.android.a.a$a.run(SourceFile:76)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.os.HandlerThread.run(HandlerThread.java:65)
修改 jpush-react-native/android/src/main/java/cn/jpush/reactnativejpush/JPushModule.java 85 行```java
if (null != sCacheMap) {
sCacheMap.clear();
- sCacheMap = null; //删掉这行
}
```### android react-native-fetch-blob 问题
如果 android targetSdkVersion >= 24 ,自动更新打开安装包的动作会报错```javascript
RNFetchBlob.android.actionViewIntent(resp.path(), 'application/vnd.android.package-archive');
```所以 sdk 暂时使用 23
官方有一个修复的pull,不过还没合并
https://github.com/wkh237/react-native-fetch-blob/pull/614
需要持续关注
iOS 已知问题修复
-----### react-native-image-crop-picker iOS 安装问题
建议按照官方的 pod 方式安装
注意:安装 pod 后,需要从 xcode 里打开 xcworkspace 文件才能编译通过### react-native-fabric iOS 安装问题
react-native-fabric react-native link 的时候,会通过 pod 安装,但是 pod 方式安装编译失败,
暂时没有找到解决办法,最好是 link 后恢复自动修改的 pod 文件,通过手动方式安装### iOS FlatList 手动下拉刷新后,用程序触发刷新,刷新指示器不显示的问题
修改 react 源码 /React/Views/RCTRefreshControl.m 57 行
```objective-c
- CGPoint offset = {scrollView.contentOffset.x, scrollView.contentOffset.y - self.frame.size.height};
+ CGPoint offset = {scrollView.contentOffset.x, scrollView.contentOffset.y - 60};
```一直存在的问题,官方一直没有修改
https://github.com/facebook/react-native/issues/17734
### RN 0.55 TextInput 无法输入中文的问题
已确认 RN bug反馈:https://github.com/facebook/react-native/issues/18403#issuecomment-380051333
pull:https://github.com/facebook/react-native/pull/18456
还未合并,持续关注
可手工修改代码解决
bugs
-----
https://github.com/oblador/react-native-vector-icons/issues/626android 目前加载图片没有进度条,因为官方的 Image 组件没有获取进度的事件
第三方组件 react-native-fast-image 有进度事件
但是 onLoad 事件触发诡异,无法实现加载进度react-native-navigation 在 android 上 debug 时没有进度条,如果无法链接更新服务器则会卡在启动屏上
Debug Server 问题
-----
### Debug Server 出现 While resolving module `react-native-vector-icons/Ionicons` 错误rm ./node_modules/react-native/local-cli/core/fixtures/files/package.json
rm ./node_modules/react-native/local-cli/core/__fixtures__/files/package.jsonhttps://github.com/oblador/react-native-vector-icons/issues/627