使用离线捆绑包在iOS设备上运行app 的官方React Native文档说
打开ios/YourApp/AppDelegate.m
取消注释该行,jsCodeLocation = [[NSBundle mainBundle] ...
使用最新版本react-native 0.30.0,此行不再出现在默认AppDelegate.m文件中.摘录自默认AppDelegate.m文件
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"TestAppDelete"
initialProperties:nil
launchOptions:launchOptions];
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用jsCodeLocation以前版本中的那个,它将返回null
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
Run Code Online (Sandbox Code Playgroud)
我不知道为什么main.jsbundle返回的URL为null.它不是由包装商创造的.如果它也应该使用最新版本创建,我该如何确认?
如果您react-native 0.30.0使用离线捆绑包在iOS设备上运行应用,请分享相关说明.
我正在将我的一些firebase-queue工作人员转移到Firebase功能.我习惯process.env.NODE_ENV根据我运行它们的环境为worker设置一些配置.有没有办法NODE_ENV在部署它们时设置功能.我知道提供这样的配置选项的推荐方法是通过firebase.config.set我已经验证按预期工作,但只是想检查是否有办法设置NODE_ENV也.当我尝试打印出NODE_ENV函数内部时,它始终设置为production.
我最近转向Sublime Text 3进行开发,并尝试找出一种方法,通过在编辑器中查看文件,我可以知道文件是否已保存.例如
在Sublime Text 3中是否有任何这样容易看到的视觉提示来知道文件是否有未保存的更改?
我正在研究可以提醒用户注意某些重要事情的应用程序.我使用本地通知来提醒用户.在iOS上,我发现如果手机处于振动状态,通知将不会响铃.对于应用程序的许多用户来说,这是一个交易破坏者,但我一直把这个问题放到现在,因为我认为如果应用程序在后台,iOS不允许应用播放声音.
即使手机处于振动状态,音乐应用也可以通过启用音频背景模式播放歌曲,但不允许您安排在特定时间播放歌曲.
最近我看到一些应用程序能够在特定时间播放声音,即使该应用程序在后台.一个这样的应用程序是Alarmy警报应用程序.当警报到期时,我不认为他们正在通过本地通知播放音乐,因为即使在我清除通知后音乐仍继续播放.从本地通知文档中,我了解到在本地通知触发之前我无法运行任何代码,直到用户点击通知为止.所以,我无法启动一个可以在振动中播放声音的音频播放器.
即使手机处于振动状态并且应用程序在iOS中处于后台,这些应用程序如何才能播放声音?
我正在使用rn-diff升级react-native我的应用程序的版本.有时,project.pbxproj会更新为包含对现有依赖项的一些新依赖项或更新.更新此文件的推荐方法是什么?我不认为我可以只复制和粘贴差异中显示的更改,因为它可能会创建一些重复项或在文件中创建一些冲突的条目.
例如,下面的链接包含project.pbxproj从版本0.54.4更改为0.55.0时对文件所做的更改.project.pbxproj文件有很多变化,我不确定是否应该复制它们,或者我宁愿在Xcode中更新一些依赖项.
https://github.com/ncuillery/rn-diff/compare/rn-0.54.4...rn-0.55.0
有没有办法调试使用的Android应用程序的本机java代码react-native.具体来说,我想调试我在我的react-native应用程序中使用的第三方Android软件包.有关如何调试js代码的博客帖子和stackoverflow问题,但我没有找到任何描述如何调试本机java代码的帖子.我试图将第三方Android软件包导入Android Studio,并试图在调试器中运行它,但没有发生任何我想到的事情.
请告诉我是否以及如何实现.谢谢!
我正在尝试使用Firebase的云功能,以便将我的firebase-queue工作人员转移到云功能.每当我在给定的ref创建一个新节点时,我添加了一个简单的函数来添加最后更新的时间戳.该函数如下所示:
var functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.setLastUpdatedTimestamp = functions.database.ref('/nodes/{nodeId}')
.onWrite(event => {
const original = event.data.val();
console.log('Adding lastUpdatedTimestamp to node ', original.name);
return event.data.ref.child('lastUpdatedAtFromFC').set(Date.now());
});
Run Code Online (Sandbox Code Playgroud)
我部署了这个云功能,并从我的应用程序中添加了一个节点.我转到Firebase Functions仪表板,看到该函数已被调用169次,我不明白为什么.当我查看日志时,我会看到日志,例如将函数附加到所有过去的节点.
是否onWrite会出现类似的情况child_added并为所有现有实体运行该功能?
每当我再次更改和部署该功能时,是否会重复此操作?
我期待它只为新添加的节点运行一次.
我最近添加了一个Android原生模块,用于监听时区和时间从系统更改广播,并允许应用程序执行一些操作.本机模块看起来像这样
public class TimezoneHandlerModule extends ReactContextBaseJavaModule {
private final Context context;
private final TimezoneChangeBroadcastReceiver timezoneChangeBroadcastReceiver;
private Callback onTimezoneChangeCallback;
public TimezoneHandlerModule(ReactApplicationContext reactContext) {
super(reactContext);
this.context = reactContext;
this.timezoneChangeBroadcastReceiver = new TimezoneChangeBroadcastReceiver();
}
private void registerForTimezoneChangeHandler() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_TIME_CHANGED);
intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
getReactApplicationContext().registerReceiver(timezoneChangeBroadcastReceiver, intentFilter);
}
private void unregisterTimezoneChangeHandler() {
getReactApplicationContext().unregisterReceiver(timezoneChangeBroadcastReceiver);
}
public void setOnTimezoneChangeCallback(Callback onTimezoneChangeCallback) {
this.onTimezoneChangeCallback = onTimezoneChangeCallback;
}
/**
* @return the name of this module. This will be the name used to {@code require()} this module
* …Run Code Online (Sandbox Code Playgroud) 我正在使用react-native构建iOS应用程序.我正在使用TestFlight分发应用程序.每隔一段时间,我会看到TestFlight报告崩溃.当我查看Xcode中的崩溃信息时,它没有说明JS代码的哪些部分可能导致崩溃.下面是我在Xcode上的示例崩溃日志.这里App是指我的应用名称.
由于这些崩溃只是间歇性地发生,并且上面的堆栈跟踪指向非常通用的方法,我不知道如何调试此类崩溃.
请分享调试这些崩溃的好策略.
react-native ×6
android ×2
firebase ×2
ios ×2
iphone ×1
sublimetext ×1
sublimetext2 ×1
sublimetext3 ×1
xcode ×1