【问题标题】:Error : Cannot find Facebook SDK Version错误:找不到 Facebook SDK 版本
【发布时间】:2015-06-12 14:49:07
【问题描述】:

SDK 7.x 不能在 Unity 5.1.0f3 上运行,我总是得到未找到的错误版本。 有人看到这个错误吗?

【问题讨论】:

    标签: facebook facebook-graph-api unity3d facebook-unity-sdk


    【解决方案1】:

    实际上,这只是一个警告。但你可以修复它。

    facebook插件调用的地方有好几个

    FBBuildVersionAttribute.GetVersionAttributeOfType(typeof(AbstractFacebook));
    

    所以首先,您需要将FBBuildVersionAttribute 修改为:

    // we are going to apply this attribute to Class
    // instead of Assembly
    // also make it inheritable for all implementations
    [AttributeUsage(AttributeTargets.Class, Inherited = true)]
    public class FBBuildVersionAttribute : Attribute
    {
        private DateTime buildDate;
        private string buildHash;
        private string buildVersion;
    
        private string sdkVersion;
    
        public DateTime Date { get { return buildDate; } }
        public string Hash { get { return buildHash; } }
        public string SdkVersion { get { return sdkVersion; } }
        public string BuildVersion { get { return buildVersion; } }
    
        public FBBuildVersionAttribute(string sdkVersion, string buildVersion)
        {
            this.buildVersion = buildVersion;
            var parts = buildVersion.Split('.');
            buildDate = DateTime.ParseExact(parts[0], "yyMMdd", System.Globalization.CultureInfo.InvariantCulture);
            buildHash = parts[1];
    
            this.sdkVersion = sdkVersion;
        }
    
        public override string ToString()
        {
            return buildVersion;
        }
    
        public static FBBuildVersionAttribute GetVersionAttributeOfType(Type type)
        {
            foreach (FBBuildVersionAttribute attribute in getAttributes(type))
            {
                return attribute;
            }
            return null;
        }
    
        private static FBBuildVersionAttribute[] getAttributes(Type type)
        {
            if (type == null)
                throw new ArgumentNullException("type");
    
            // we want to get attributes from type instead of assmebly
            return (FBBuildVersionAttribute[])(type.GetCustomAttributes(typeof(FBBuildVersionAttribute), false));
        }
    }
    

    不,您只需将此属性添加到AbstractFacebook

    [FBBuildVersionAttribute("7.0.1", "150604.98558e55096475c")]
    public abstract class AbstractFacebook : MonoBehaviour
    {
        // ...
    }
    

    请注意,98558e55096475c 部分是垃圾字符串。这不是实际的构建哈希,因为我没有。

    【讨论】:

      【解决方案2】:

      获取最新版本的 FB Unity SDK。更改日志说它现在已修复。

      https://developers.facebook.com/docs/unity/change-log

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-06
        • 2013-03-22
        • 2017-09-28
        • 1970-01-01
        相关资源
        最近更新 更多