我正在尝试构建我的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 …
嘿,我知道以前曾经问过,但没有一个解决方案似乎有所帮助.我在我的应用程序中首次使用Facebook SDK.
我尝试过的:
我曾尝试过在互联网上发现的大部分内容,但没有得到任何关于此的内容.
这是我的MainActivity.java:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FacebookSdk.sdkInitialize(getApplicationContext());
}
}
Run Code Online (Sandbox Code Playgroud)
这是My Activitymain.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.facebook.login.widget.LoginButton
android:id="@+id/connectWithFbButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_gravity="center_horizontal"
android:text=" connect_with_facebook" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
看我的Logcat:
05-13 16:30:39.332: E/AndroidRuntime(10264): Caused by: The SDK has not been initialized, make sure to call FacebookSdk.sdkInitialize() first.
Run Code Online (Sandbox Code Playgroud) 我正在使用Facebook SDK开发一个ios应用程序来登录.我LogInViewController在故事板中设置了一个初始视图控制器,用户使用FB帐户登录.
我有另一个ViewController,一旦用户登录就可以正确加载.
在我正在检查的AppDelegate文件中currentAccessToken,如果它不是nil,我将直接加载第二个ViewController,因为用户已经登录.
但是,currentAccessToken如果我退出应用程序并重新启动它,则总是为零.它只有在我按下主页按钮并重新打开应用程序时它才有效,因为它仍然在后台运行.
以下是代码中的详细信息:
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
self.customNavigationBar()
if (!isIcloudAvailable()) {
self.displayAlertWithTitle("iCloud", message: "iCloud is not available." +
" Please sign into your iCloud account and restart this app")
return true
}
if (FBSDKAccessToken.currentAccessToken() != nil) {
self.instantiateViewController("MapViewController", storyboardIdentifier: "Main")
}
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(
application,
openURL: url, …Run Code Online (Sandbox Code Playgroud) 此捆绑包无效 - /Payload/xxx.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle的Info.plist文件丢失或无法读取.
无效的捆绑包 - "/Payload/xxx.app/Frameworks/FBSDKCoreKit.framework/FacebookSDKStrings.bundle"中的捆绑包不包含捆绑包可执行文件.
我现在正处于斗智斗勇的境地.我花了6个多小时试图弄清楚这个.我还手动下载了我的Swift应用程序的FB SDK,并尝试将Framework指向Downloaded包中的FBSDKCoreKit.framework.
在尝试再次上传之前删除了我的派生日期并清理了所有内容.仍然无法弄清楚出了什么问题.任何帮助,将不胜感激.
我目前正在为我的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.
谢谢!
由于某些奇怪的原因,在添加一个不相关的pod后,我在构建过程中收到一条错误消息,指出找不到FBSDKCorekit.h,FBSDKCopying.h和FBSDKButton.h文件.我根据我在stackoverflow上找到的建议,遵循了无数建议更改项目构建设置中的属性; 但是,似乎都没有效果.
我正在使用Cocoapods,所以我试图卸载并重新安装它以及预发布版本.我清除了pod缓存,删除了实际的pods文件夹和podfile.lock以及xcworkspace,并将pod重新安装到项目中; 但是,我仍然收到错误.
我还删除了项目缓存并重建了它......
任何援助将不胜感激
Podfile
# define a global platform for your project
platform :ios, '8.4'
# using Swift
use_frameworks!
#
source 'https://github.com/CocoaPods/Specs.git'
# disable bitcode in every sub-target
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end
target 'MyApp' do
# other pods
pod ...
# Facebook
pod 'FBSDKCoreKit' , '4.9.0-beta2'//4.8 gives same issue
pod 'FBSDKLoginKit', '4.9.0-beta2'
pod 'FBSDKShareKit', '4.9.0-beta2'
# Uber(New pod added)
pod 'UberRides' //actually just realized it's just …Run Code Online (Sandbox Code Playgroud) 我正在使用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)
我怀疑这是我本地设置的问题.关于这里可能出现什么问题的任何想法?
我在尝试构建时突然开始出现此错误.几周前这一切都在运作,我所知道的没有任何变化.这个问题似乎与此有关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设置新的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)