标签: plist

在XCode 4中编辑plist:你不能再移动行了吗?

这个是愚蠢的,可能有一个我只是不知道的荒谬简单的答案:

我正在尝试编辑plist,Settings.bundle以便在我的应用中实现首选项.我想调整一些组的顺序,但我无法弄清楚如何移动行.在XCode 3中你可以拖动行来重新排列它们,但它似乎不再适用于XCode 4.如果没有删除所有内容并以正确的顺序重新创建它们,我该如何重新排列行?

谢谢.

plist xcode4

15
推荐指数
2
解决办法
6351
查看次数

如何在iphone中以编程方式创建PLIST文件

我想在目标C中以编程方式在我的应用程序Documents文件夹中创建plist文件.我在文档目录中创建一个文件夹:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *path = [NSString stringWithFormat:@"%@/Data.plist", documentsDirectoryPath];
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个看起来像XML文件的plist文件./****必需的XML文件****/

<?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">
<array>
<dict>
    <key>height</key>
    <integer>4007</integer>
    <key>name</key>
    <string>map</string>
    <key>width</key>
    <integer>6008</integer>
</dict>
</array>
</plist>
Run Code Online (Sandbox Code Playgroud)

/****通过代码****/获得文件

<?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>height</key>
    <string>4007</string>
    <key>name</key>
    <string>map</string>
    <key>width</key>
    <string>6008</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

所需文件需要一个数组,在数组中我们有一个字典对象.我怎么能改变这个?我也知道如何将文件写入路径,但主要问题是如何创建plist文件然后读取它?

iphone cocoa-touch objective-c plist ios

15
推荐指数
1
解决办法
4万
查看次数

iOS发行版 - plist中itms-services协议链接中的参数

我想在itms-services链接中传递用户标识和密码,以便可以访问受保护的plist.

为了澄清,在以下链接中,无法直接访问plist,因为访问需要输入用户标识和密码以便可以访问plist.

<a href="itms-services://?action=download-manifest&url=http://example.com/app.plist">
Run Code Online (Sandbox Code Playgroud)

目前上述链接出错

无法连接到example.com

protected plist ios

15
推荐指数
1
解决办法
3万
查看次数

使用iOS应用程序中的数据(选择什么?NSData,CoreData,sqlite,PList,NSUserDefaults)

当我开发iPhone应用程序(时间跟踪器,ToDoList等)时,我永远不知道什么是处理数据的最佳方式.一旦我使用了plist,下次使用sqlite或CoreData.

您如何确定最适合您项目的内容?(只讨论数据管理)

例如,如果你想开发:

  • 时间跟踪器应用程序> PList是您的选择吗?
  • RSS阅读器应用> CoreData?
  • 照片应用> sqlite?
  • 电子邮件客户端>?

对于初学者,你能指点我正确的方向吗?(我知道这很大程度上取决于应用程序以及你喜欢用它做什么,但任何想法都会有所帮助)

我远没有开发复杂的应用程序,它们仍然非常简单.

谢谢你的帮助,马克

sqlite core-data objective-c plist nsuserdefaults

15
推荐指数
1
解决办法
3480
查看次数

Localizable.strings导致plist解析错误

我刚刚在我的Xcode项目中本地化了Localizable.strings文件,以便将我的应用程序本地化为几种不同的语言.但是,在以标准"key = value"格式编辑每个文件后,我收到以下解析错误,该错误未指定文件,因此很难找到它所指的内容.

CFPropertyListCreateFromXMLData():旧式plist解析器:第10行的字典中缺少分号.解析将被放弃.打破_CFPropertyListMissingSemicolon进行调试.

我查看了每个*.strings文件,特别是在第10行,我发现没有任何兴趣或问题导致问题.请你能告诉我哪里出错了.

这是我项目中Localizable.strings文件的示例.所有其他文件遵循相同的格式.

"Enter URL" = "Voer adres in"
"Headers" = "Koppen"
"Key" = "sleutel"
"Value" = "waarde"
"Parameters" = "Parameters"
"Tap to add a new line" = "Tik om een nieuwe lijn toe te voegen"
"Perform request" = "Verzoek Uitvoeren"
"Response" = "Antwoord"
"Received Headers" = "Ontvangen Koppen"
"Error" = "Fout"
"Loading" = "Verzoek aan het versturen"
Run Code Online (Sandbox Code Playgroud)

然后我用它NSLocalizedString()来提供翻译的字符串.

localization objective-c plist nsstring ios

15
推荐指数
1
解决办法
1万
查看次数

plist bundle版本值

我想在我的plist中设置Bundle Version.但是,当您查看更多信息时,finder实际上看到的值是"捆绑版本字符串,简短",但是,编辑此内容需要打开plist文件,而不是仅仅编辑"版本" "在目标设置中.

有没有办法要么a)使捆绑版本始终等于捆绑版本短,b)使查找器查看捆绑版本而不是短串或c)使短版本出现在编辑目标设置窗口中?

或者,有什么更好的方法我应该处理这个?

谢谢.

macos xcode plist

14
推荐指数
1
解决办法
2万
查看次数

如何一次扩展plist的所有(或选定的后代)节点?

是否有一个功能可以在Xcode的属性列表编辑器中一次扩展当前所选节点的所有后代节点?

xcode plist

14
推荐指数
2
解决办法
6398
查看次数

内容类型/ UTI在应用中打开CSV

如何编写我的.plist文件的CFBundleDocumentTypes属性,以允许应用程序显示在其他应用程序的"Open in ..."对话框中?

这是我的,但它不起作用

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeIconFiles</key>
        <array/>
        <key>CFBundleTypeName</key>
        <string>Readings</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>text.csv</string>
        </array>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

csv cocoa-touch plist uti

14
推荐指数
1
解决办法
2770
查看次数

在启用了资源库的Xcode 5中修改Info.plist的CFBundleVersion

使用Xcode 5的新资产库,添加图像和组织它们从未如此简单.但是,似乎它已经破坏了我用于创建构建的一些脚本.

我的Run Script Phase中有一个脚本,它设置CFBundleVersion为plist中的当前时间戳.在脚本中,我执行此语句:

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $timestamp" $BUILT_PRODUCTS_DIR/$INFOPLIST_PATH
Run Code Online (Sandbox Code Playgroud)

但是,执行此操作时,将显示以下语句:

Set: Entry, ":CFBundleVersion", Does Not Exist
File Doesn't Exist, Will Create: /Users/SpacePyro/Library/DerivedData/BundleTest-duikdqngfmrovnagrcsvdcuxxstz/Build/Products/Debug-iphoneos/BundleTest.app/Info.plist
Run Code Online (Sandbox Code Playgroud)

这似乎发生在干净的构建上.直到构建中途,plist似乎才会生成,可能是由于资产库.

我也使用了这个命令,虽然它没有抛出错误,但它仍然吹走了我的更改(假设INFO_PLIST="${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Info"):

defaults write $INFO_PLIST CFBundleVersion $timestamp
Run Code Online (Sandbox Code Playgroud)

当我开始使用资源库来组织我的应用程序图标和启动图像时,情况并非如此.谁知道为什么会这样?更好的是,是否有一种解决方法可以将此值添加到plist中?我已经尝试将脚本置于行动前构建阶段以及动作后构建阶段.我还尝试在构建完成后运行命令,但是当我尝试对其进行协同编码和打包时,它表示签名因修改plist而无效.

如果不存在合理的解决方案,我想我总是可以从资产库中迁移,直到我可以让我的脚本工作.

xcode plist ios xcode5

14
推荐指数
3
解决办法
9004
查看次数

如何将NSExceptionDomains添加到xcode V7.0.1的plist?

我想使用Xcode Version 7.0.1将基于HTML的网站捆绑为iPhone应用程序,一切正常,我唯一的问题是,当我在iPhone 4s上测试应用程序时,它不会显示通过访问的图像http.但是,我可以访问另一个提供https其图像访问权限的网站的图像.

有没有办法为捆绑添加http支持?

更新

NSExceptionDomains在我的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>English</string>
    <key>CFBundleDisplayName</key>
    <string>My Project</string>
    <key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>
    <key>CFBundleIcons</key>
    <dict/>
    <key>CFBundleIcons~ipad</key>
    <dict/>
    <key>CFBundleIdentifier</key>
    <string>com.myproject.names</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>1.0</string>
    <key>CFBundleName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.1</string>
    <key>CFBundleSignature</key>
    <string>myproject</string>
    <key>CFBundleVersion</key>
    <string>1.1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    <key>UIMainStoryboardFile</key>
    <string>Main_iPhone</string>
    <key>UIMainStoryboardFile~ipad</key>
    <string>Main_iPad</string>
    <key>UIRequiresFullScreen</key>
    <string>YES</string>
    <key>UIStatusBarHidden</key>
    <false/>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleLightContent</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    <key>NSAppTransportSecurity</key>
    <dict> …
Run Code Online (Sandbox Code Playgroud)

xcode plist ios ios9 xcode7

14
推荐指数
1
解决办法
8955
查看次数