后台抓取,测试问题
Background fetch, testing problems
我有一个包含 react-native-background-task which uses react-native-background-fetch 的本机反应应用程序。我将作业配置为在运行时 console.log 一条简单消息。我知道后台获取在模拟器上不起作用,但你可以通过进入 Debug -> Simulate background fetch
来测试它。当我点击它时,应用程序进入后台。我没有得到任何输出。当我检查库函数时,我在 Info.plis 和代码 returns status.available 中启用了后台获取。
你如何实际测试这个?
Xcode 8.3.3
react-native 0.44.0
react-native-background-fetch 2.0.8
react-native-background-task 0.2.1
class App extends Component {
componentWillMount() {
BackgroundTaks.define(() => {
console.log('==================FETCH==================');
console.log('task running');
console.log('====================================');
BackgroundTaks.finish();
});
}
componentDidMount() {
BackgroundTaks.schedule();
}
render() {
return (
<Router />
);
}}
导出默认应用;
当我使用真实设备模拟后台获取时,我得到
libsystem_kernel.dylib`mach_msg_trap:
0x186e9721c <+0>: mov x16, #-0x1f
0x186e97220 <+4>: svc #0x80
-> 0x186e97224 <+8>: ret
既然你已经提到你也尝试过写入存储 - 但这是行不通的 - 我更新的答案是:当你在 运行 后台获取时,你可以同时点击您可以在其上查看日志的服务器。这样,您就可以判断后台提取是否成功运行。
我创建了一个可破解的 localTestingServer,您可以分叉并立即开始使用。
已解决。最后我意识到项目设置中没有选中后台获取复选框。检查后确实有效。
我有一个包含 react-native-background-task which uses react-native-background-fetch 的本机反应应用程序。我将作业配置为在运行时 console.log 一条简单消息。我知道后台获取在模拟器上不起作用,但你可以通过进入 Debug -> Simulate background fetch
来测试它。当我点击它时,应用程序进入后台。我没有得到任何输出。当我检查库函数时,我在 Info.plis 和代码 returns status.available 中启用了后台获取。
你如何实际测试这个?
Xcode 8.3.3
react-native 0.44.0
react-native-background-fetch 2.0.8
react-native-background-task 0.2.1
class App extends Component {
componentWillMount() {
BackgroundTaks.define(() => {
console.log('==================FETCH==================');
console.log('task running');
console.log('====================================');
BackgroundTaks.finish();
});
}
componentDidMount() {
BackgroundTaks.schedule();
}
render() {
return (
<Router />
);
}}
导出默认应用;
当我使用真实设备模拟后台获取时,我得到
libsystem_kernel.dylib`mach_msg_trap:
0x186e9721c <+0>: mov x16, #-0x1f
0x186e97220 <+4>: svc #0x80
-> 0x186e97224 <+8>: ret
既然你已经提到你也尝试过写入存储 - 但这是行不通的 - 我更新的答案是:当你在 运行 后台获取时,你可以同时点击您可以在其上查看日志的服务器。这样,您就可以判断后台提取是否成功运行。
我创建了一个可破解的 localTestingServer,您可以分叉并立即开始使用。
已解决。最后我意识到项目设置中没有选中后台获取复选框。检查后确实有效。