Warm tip: This article is reproduced from serverfault.com, please click

ios-使用plutil / PlistBuddy从Info.plist中删除字典条目

(ios - Remove a dict entry from Info.plist with plutil/PlistBuddy)

发布于 2020-11-27 16:07:57

我有以下Info.plist(UTF8)文件:

<?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>CFBundleDisplayName</key>
    <string>yaka</string>
    <key>CFBundleIdentifier</key>
    <string>com.whetever.youwant</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.5</string>
    <key>CFBundleVersion</key>
    <string>1.0.5</string>
    <key>CFBundleLocalizations</key>
    <array>
        <string>en</string>
        <string>fr</string>
    </array>
    <key>CFBundleDevelopmentRegion</key>
    <string>fr</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UIApplicationSceneManifest</key>
    <dict>
        <key>UIApplicationSupportsMultipleScenes</key>
        <true/>
        <key>UISceneConfigurations</key>
        <dict>
            <key>UIWindowSceneSessionRoleApplication</key>
            <array>
                <dict>
                    <key>UISceneConfigurationName</key>
                    <string>Default Configuration</string>
                    <key>UISceneDelegateClassName</key>
                    <string>SceneDelegate</string>
                </dict>
            </array>
        </dict>
    </dict>
    <key>MinimumOSVersion</key>
    <string>9.3</string>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
    </array>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIRequiredDeviceCapabilities</key>
    <array>
        <string>armv7</string>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>CFBundleName</key>
    <string>yaka</string>
    <key>UIAppFonts</key>
    <array>
        <string>Fonts/Ubuntu-Regular.ttf</string>
        <string>Fonts/Ubuntu-Medium.ttf</string>
        <string>Fonts/Ubuntu-Light.ttf</string>
    </array>
    <key>XSAppIconAssets</key>
    <string>Assets.xcassets/AppIcon.appiconset</string>
    <key>UIFileSharingEnabled</key>
    <true/>
    <key>NSCameraUsageDescription</key>
    <string>Nous utilisons la caméra pour les videoconférences</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>Nous utilisons le micro pour les videoconférences</string>
    <key>NSBonjourServices</key>
    <array>
        <string>_reveal._tcp</string>
    </array>
</dict>
</plist>

我正在尝试NSBonjourServices使用plutil或PlistBuddy删除位于文件末尾条目,但它失败了:

/ usr / libexec / PlistBuddy -c'删除:NSBonjourServices'Info.plist

查找打开的标签时,在第80行上遇到意外字符\ u00c2错误读取文件:Info.plist

plutil-删除NSBonjourServices Info.plist

Info.plist:“属性列表”错误:在查找打开标签/ JSON时遇到第80行上的意外字符Â错误:JSON文本未以数组或对象开头,并且选项未设置片段。

80行就是这个:

    <string>_reveal._tcp</string>

Questioner
Olivier MATROT
Viewed
11
mr. fixit 2020-11-28 09:27:14

你的Info.plist中包含非法字符。你可能可以通过删除并重新键入该行或整个NSBonjourServices数组来进行修复