我正在尝试构建我的react-native项目并使用react-native fbsdk.
但是,我收到这些错误:
/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
:react-native-fbsdk:processReleaseResources FAILED
Run Code Online (Sandbox Code Playgroud)
我目前的操作系统是Linux Elementary 0.4.1 Loki x64.
我正在使用react-native@0.37.0,因此,react-native-fbsdk@0.4.0.
我已经尝试过了:
cd android …
我目前正在为我的Reach Native应用程序设置Facebook身份验证.在react-native-fbsdk设置的常见问题之后,现在Facebook App Events工作并且LoginManager加载.
我的问题:授权后,LoginManager将我重定向回应用程序,然后显示错误:
登录失败
我正在使用非常标准的LoginManager实现:
const FBSDK = require('react-native-fbsdk');
const {
LoginManager,
AccessToken,
} = FBSDK;
export default class FacebookAuth extends Component {
facebook(){
LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(
function(result) {
if (result.isCancelled) {
alert('Login cancelled');
} else {
alert('Login success with permissions: '
+result.grantedPermissions.toString());
}
},
function(error) {
alert('Login fail with error: ' + error);
}
);
Run Code Online (Sandbox Code Playgroud)
你有什么指示吗?
我已经检查过:
我正在运行:iOS 10和react-native 0.38.0.
谢谢!
我正在使用fbsdk在ajax请求中获取用户详细信息.所以在redux-observable史诗中这样做是有意义的.fbsdk请求的方式,它没有.map(),.catch()它需要成功和失败回调:
码:
export const fetchUserDetailsEpic: Epic<*, *, *> = (
action$: ActionsObservable<*>,
store
): Observable<CategoryAction> =>
action$.ofType(FETCH_USER_DETAILS).mergeMap(() => {
getDetails(store)
})
const getDetails = store => {
console.log(store)
let req = new GraphRequest(
'/me',
{
httpMethod: 'GET',
version: 'v2.5',
parameters: {
fields: {
string: 'email,first_name,last_name'
}
}
},
(err, res) => {
if (err) {
store.dispatch(fetchUserDetailsRejected(err))
} else {
store.dispatch(fetchUserDetailsFulfilled(res))
}
}
)
return new GraphRequestManager().addRequest(req).start()
}
Run Code Online (Sandbox Code Playgroud)
它给出了错误:
TypeError:您提供了"undefined",其中包含了一个流.您可以提供Observable,Promise,Array或Iterable.
如何从史诗中返回一个observable,以便这个错误消失?
尝试bindCallback从这个SO答案:
const …Run Code Online (Sandbox Code Playgroud) react-native react-redux react-native-fbsdk redux-observable
我正在使用react-native-fbsdk.如何将"使用facebook登录"中的fb登录按钮文本更改为"使用fb继续"?
该组件看起来像这样,我找不到改变它的方法:
<LoginButton
style={styles.facebookbutton}
readPermissions={["public_profile", 'email']}
onLoginFinished={
(error, result) => {
if (error) {
console.log("login has error: " + result.error);
} else if (result.isCancelled) {
console.log("login is cancelled.");
} else {
AccessToken.getCurrentAccessToken().then(
(data) => {
console.log(data);
console.log(data.accessToken.toString());
}
)
}
}
}
onLogoutFinished={() => alert("logout.")}/>
Run Code Online (Sandbox Code Playgroud) 我已添加react-native-fbsdk到我的反应原生项目,并在iOS上建立良好.但在android方面,我无法建立项目.在尝试编译react-native-fbsdk时,我正在尝试:"方法不会覆盖或实现超类型的方法"
21:41:11.863 [INFO] [org.gradle.api.internal.tasks.compile.JdkJavaCompiler] Compiling with JDK Java compiler API.
21:41:12.100 [ERROR] [system.err] /Users/joncursi/Sites/joncursi/redbirdNative/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBSDKPackage.java:61: error: method does not override or implement a method from a supertype
Run Code Online (Sandbox Code Playgroud)
哪个指向react-native-fbsdk中的以下代码段:
@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
Run Code Online (Sandbox Code Playgroud)
当我删除时@Override,这个错误的特定实例消失了,但我在另一个模块中遇到了同样的错误,例如react-native-image-picker:
:react-native-image-picker:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/Users/joncursi/Sites/joncursi/redbirdNative/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerPackage.java:34: error: method does not override or implement a method from a supertype
@Override
^
1 error
Run Code Online (Sandbox Code Playgroud)
我怀疑这是我本地设置的问题.关于这里可能出现什么问题的任何想法?
今天,我面对这篇文章中提到的错误: 检索项目的父项时出错:找不到与给定名称匹配的资源'android:TextAppearance.Material.Widget.Button.Borderless.Colored'
有趣的事情(和差异)是 - 我们的应用程序是5个月的生产,我们已经制作了数百个构建和APK到目前为止.我们没有更改一行代码一周(也没有任何库版本),并且构建突然停止使用此提到的错误.
Execution failed for task ':react-native-fbsdk:processReleaseResources'
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.
X:\app\node_modules\react-native-fbsdk\android\build\intermediates\res\merged\release\values-v24\values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.
Run Code Online (Sandbox Code Playgroud)
使用这些版本的库(package.json):
...
"react": "15.3.2",
"react-native": "0.37.0", …Run Code Online (Sandbox Code Playgroud) android android-gradle-plugin react-native react-native-fbsdk
我发布在这里是因为我做了12小时搜索和尝试解决我的问题,但只是找不到解决方案.
这是我的错误屏幕: React本机调试器
我跟着IOS的facebook开发人员步骤,按照FBSDK github的指示,我已经链接了库......
仍然有错误..
希望有人能帮助我
问候.
我在尝试构建时突然开始出现此错误.几周前这一切都在运作,我所知道的没有任何变化.这个问题似乎与此有关react-native-fbsdk,但通过它的build.gradle查看它没有列出support.appcompat-v7.25.x.有什么建议?
A problem occurred configuring project ':app'.
> A problem occurred configuring project ':react-native-fbsdk'.
> Could not resolve all dependencies for configuration ':react-native-fbsdk:_debugCompile'.
> Could not find com.android.support:appcompat-v7:25.3.1.
Searched in the following locations:
file:/Users/a/.m2/repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom
file:/Users/a/.m2/repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar
https://jcenter.bintray.com/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom
https://jcenter.bintray.com/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar
Run Code Online (Sandbox Code Playgroud)
的build.gradle
apply plugin: "com.android.application"
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
import com.android.build.OutputFile
apply from: "../../node_modules/react-native/react.gradle"
apply from: "../../node_modules/react-native-code-push/android/codepush.gradle"
def enableSeparateBuildPerCPUArchitecture = false
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "___"
minSdkVersion 16
targetSdkVersion 23 …Run Code Online (Sandbox Code Playgroud) 我有一个本机在iOS上完美运行但由于MainApplication和MainActivity中的导入问题而无法在Android工作室中编译.我遵循了React Native FBSDK指南.
在MainApplication中,我在import语句中得到"无法解析符号":
import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost;
以下错误:
错误:(7,8)错误:MainActivity不是抽象的,并且不会覆盖ReactActivity中的抽象方法getPackages()错误:任务':app:compileDebugJavaWithJavac'的执行失败.
编译失败; 请参阅编译器错误输出以获取详细信
我的MainApplication看起来像:
package com.ExampleApp;
import android.app.Application;
import com.facebook.react.ReactApplication;
import com.tradle.react.UdpSocketsModule;
import com.peel.react.TcpSocketsModule;
import com.peel.react.rnos.RNOSModule;
import com.masteratul.exceptionhandler.ReactNativeExceptionHandlerPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.CallbackManager;
import com.facebook.FacebookSdk;
import com.facebook.reactnative.androidsdk.FBSDKPackage;
import com.facebook.appevents.AppEventsLogger;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private static CallbackManager mCallbackManager = CallbackManager.Factory.create();
protected static CallbackManager getCallbackManager() {
return mCallbackManager;
}
@Override
public void onCreate() {
super.onCreate();
// Use AppEventsLogger …Run Code Online (Sandbox Code Playgroud) 我尝试通过为iOS设置新的React Native Project来遵循入门教程.但登录按钮似乎不起作用.任何帮助表示赞赏.
这是index.ios.js:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
const FBSDK = require('react-native-fbsdk');
const {
LoginButton
} = FBSDK;
var Login = React.createClass({
render: function() {
return (
<View>
<LoginButton
publishPermissions={["publish_actions"]}
onLoginFinished={
(error, result) => {
if (error) {
alert("login has error: " + result.error);
} else if (result.isCancelled) {
alert("login is cancelled.");
} else {
alert("login has finished with permissions: " + result.grantedPermissions)
}
}
} …Run Code Online (Sandbox Code Playgroud)