我在iphone设备上运行项目时遇到了一些麻烦。
它在模拟器上工作正常,但是当我在设备上测试版本为iOS9.2
时,Xcode控制台中的一些信息输出
2016-02-25 19:31:19.357 [info][tid:com.facebook.React.JavaScript][RCTJSCProfiler.m:63] JSC profiler is not supported.
然后等待更长时间的垃圾,出现红色屏幕,提示我Could not connect to development server
。
我该怎么办?
此外,我在github issue上发布此问题,并被告知这是导致崩溃的另一个原因。
我查看了我的项目,但也不知道,只是解释我整合了一个继承了 swift 编写的UICollectionView
的组件,我将在下面展示一些主要代码。 / p>
CollectionViewManagerSwift.swift
@objc(CollectionViewManagerSwift)
class CollectionViewManagerSwift : RCTViewManager, UICollectionViewDataSource, UICollectionViewDelegate {
let contentCellIdentifier = "CellIdentifier"
var collectionView: UICollectionView
override init() {
let layout = CustomCollectionViewLayout()
let collectionView = UICollectionView(frame: UIScreen.mainScreen().bounds, collectionViewLayout: layout)
collectionView.registerClass(CustomCell.self, forCellWithReuseIdentifier: contentCellIdentifier)
collectionView.directionalLockEnabled = true
collectionView.backgroundColor = UIColor.whiteColor()
self.collectionView = collectionView
}
override func view() -> UICollectionView! {
self.collectionView.delegate = self
self.collectionView.dataSource = self
return self.collectionView;
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell : CustomCell = collectionView .dequeueReusableCellWithReuseIdentifier(contentCellIdentifier, forIndexPath: indexPath) as! CustomCell
// ... some code describe cell component
return cell
}
}
CollectionViewManagerBridge.swift
#import "RCTView.h"
#import "RCTViewManager.h"
@interface RCT_EXTERN_MODULE(CollectionViewManagerSwift, RCTViewManager)
@end
我还有上面代码中使用的 CustomCollectionViewLayout.swift 和 CustomCell.swift 。
最后我从js那边调用这个组件。
CollectionView.js
import React from 'react-native';
var { requireNativeComponent } = React;
module.exports = requireNativeComponent('CollectionViewManagerSwift', null)
index.ios.js
import CollectionViewManagerSwift from './CollectionView';
// ... some code
render() {
return (
<CollectionViewManagerSwift style={[styles.container, {top:20}]} />
)
}
这些代码在模拟器上工作正常,我可以看到我的组件来自现在集成的swift代码, 我不知道在iphone设备上测试时发生了什么。
答案 0 :(得分:0)
我解决了这个问题。我的设备自动更改了网络网关,因此我的iPhone无法访问我的js包。对不起我的疏忽:(
答案 1 :(得分:0)
您可以转到目录$Project_Dir/node_modules/react-deep-force-update/
。然后删除文件.babelrc
。请确保React Packager
在此之前关闭。