iOS)我应该在哪里复制和粘贴 facebook XML 片段?

Posted

技术标签:

【中文标题】iOS)我应该在哪里复制和粘贴 facebook XML 片段?【英文标题】:iOS) Where should I copy & paste facebook XML snippet? 【发布时间】:2015-08-28 05:32:54 【问题描述】:

我正在制作 Facebook 登录,我很好地遵循了所有步骤,但配置了我的 info.plist。我的xml代码如下:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb12345678</string>
        </array>
    </dict>
</array>

<key>FacebookAppID</key>
<string>12345678</string>
<key>FacebookDisplayName</key>
<string>AppName</string>

我将此 xml 添加到我的项目中 info.plist 的“dict”部分,而不是我的 projectTest。 所以最后,我完成了我的 .plist xml 文件

但我遇到了一个错误

error: couldn't parse contents of '/Users/~/Desktop/app/app/myproject/Info.plist': The data couldn’t be read because it isn’t in the correct format.

我该如何解决这个问题?

更新

整个.plist如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>com.myproject.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>UIRequiredDeviceCapabilities</key>

/*FACEBOOK XML IS JUST BELOW*/ 
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb12345678</string>
        </array>
    </dict>
</array> 
<key>FacebookAppID</key>
<string>12345678</string>
<key>FacebookDisplayName</key>
<string>AppName</string>
/**/

<array>
    <string>armv7</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

【问题讨论】:

你能显示所有的 Info.plist 文件吗? 确保您没有在 以外的任何其他标签内添加这些标签,即不在任何打开的标签之间 @AbdAl-rhmanTaherBadary 我更新了,我想我在 中添加了那些,而不是在任何打开的标签之间...... 【参考方案1】:

您在错误的位置添加了 sn-p:

<key>UIRequiredDeviceCapabilities</key> <<----- this one should go with

/*FACEBOOK XML IS JUST BELOW*/ 
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb12345678</string>
        </array>
    </dict>
</array> 
<key>FacebookAppID</key>
<string>12345678</string>
<key>FacebookDisplayName</key>
<string>AppName</string>
/**/

<array>                      << ------------- this one
    <string>armv7</string>
</array>

前加fb sn -p &lt;key&gt;UIRequiredDeviceCapabilities&lt;/key&gt;

或之后

    <array>                      << ------------- this one
        <string>armv7</string>
    </array>

【讨论】:

哇!谢谢你的详细信息,但是虽然我修复了这个错误,但我对 facebook 教程感到非常不友好......为什么位置会出错? 也许你明白了什么。您可以通过Open As -> Property List 方式添加(而不是通过source code* 打开)。这更容易。 出现错误是因为&lt;key&gt; 标记必须将值放在后面。在这种情况下是&lt;array&gt; &lt;string&gt;armv7&lt;/string&gt; &lt;/array&gt;。你破坏了 XML 格式。

以上是关于iOS)我应该在哪里复制和粘贴 facebook XML 片段?的主要内容,如果未能解决你的问题,请参考以下文章

ionic - 在 iOS 10 中的输入字段中复制/粘贴不起作用

我应该在哪里包含库中 bin 文件夹中的 .dll 文件?

无法解决预期的声明错误[关闭]

jquery 复制到粘贴板

适用于 iOS 的 Facebook SDK、私人消息

请复制代码,切换到应用程序并将其粘贴到那里,但是在哪里?