标签: info.plist

用于编辑PROJECT-Info.plist文件的CFBundleVersion字段的Bash脚本

为了建立一个持续集成系统,Hudson,我写了一个bash脚本来自动构建Xcode项目.此外,在调试配置,有人问我,要插入项目的SVN版本号在PROJECT-Info.plist文件的CFBundleRevision领域为$ {} BUNDLE_VERSION .R $ {} SVN_REVISION.

您可以在下面找到PROJECT-Info.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>CFBundleVersion</key>
    <string>1.0</string>
[...]
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

我在下面尝试了这个bash脚本:

sed 'N;s_^.*<key>CFBundleVersion</key>.*<string>[0-9][0-9]*\.[0-9][0-9]*</string>$_<key>CFBundleVersion</key>\
<string>'"$BUNDLE_VERSION"'\.r'"$SVN_REVISION"'</string>_' $PROJECT-Info.plist
Run Code Online (Sandbox Code Playgroud)

此脚本应使用$ {BUNDLE_VERSION} .r $ {SVN_REVISION}替换"1.0"字符串(当前仅在标准输出中).但是,替换工作没有'N'选项,包括sed进程中的下一行和一次一行.但<string>[...]</string>PROJECT-Info.plist文件中有很多带" "字符串的行...

我认为这是我处理两行之间未知字符的方式(对于任何字符,'N'选项和".*")是错误的.

任何的想法 ?

提前致谢,抱歉我的英语水平不好.

bash edit info.plist

9
推荐指数
3
解决办法
4656
查看次数

如何以编程方式注册自定义URL方案?

是否可以在应用程序运行时为我的应用程序添加/删除自定义URL方案?现在,CFBundleURLSchemes属性在Info.plist中设置.

cocoa objective-c info.plist

9
推荐指数
1
解决办法
4324
查看次数

Xcode将DTXcode密钥和其他密钥添加到Info.plist中

最近Xcode开始在我的Cocoa应用程序的Info.plist中添加密钥:

  • DTXcode
  • DTXcodeBuild
  • DTCompiler
  • DTPlatformBuild
  • DTPlatformName
  • DTPlatformVersion
  • DTSDKBuild
  • DTSDKName

这些键用于什么以及它们为什么突然出现?他们需要吗?

我正在使用Xcode 3.2.6

xcode info.plist

9
推荐指数
1
解决办法
6450
查看次数

Cordova:从plugin.xml修改*-Info.plist

我正在构建一个插件来使用iOS设备中的星形打印机,使用它们的SDK,一切正常,但config-file修改info.plist文件的命令无法正常工作.在我的plugin.xml里面,我有:

<config-file target="*-Info.plist" parent="Supported external accessory protocols">
  <array>
    <key>item 0</key>
    <string>jp.star-m.starpro</string>
  </array>
</config-file>
Run Code Online (Sandbox Code Playgroud)

有了这个我应该得到一个Supported external accessory protocols数组,其中包含一个名为item 0,类型String和值的项目,jp.star-m.starpro但我得到一个包含两个项目的数组,就好像我会做的那样:

<array>
    <key>item 0</key>
    <string>item 0</string>
    <key>item 1</key>
    <string>jp.star-m.starpro</string>
</array>
Run Code Online (Sandbox Code Playgroud)

我需要的: 一个项目


我得到了什么: 两件事


相关问题:

config-file通过阅读这些问题来实现.

  1. 通过Cordova config.xml向iOS .plist文件添加条目
  2. 修改"*-Info.plist"CFBundleURLTypes的两个cordova插件

info.plist ios cordova cordova-plugins

9
推荐指数
1
解决办法
4118
查看次数

React Native项目的info.plist在哪里?

我在iOS反应本机应用程序中处理oauth请求.我想添加一个自定义回调网址,以便我可以返回到应用程序.据说我通过修改info.plist文件来做到这一点,除非它无处可寻.我的项目文件夹在任何地方都不包含此文件,我不完全确定npm是否在运行时生成它.

这个档案到底在哪里?

对于上下文,我不使用Xcode.我只是使用sublime来编辑运行终端的文件info.plist.

编辑:我也在使用Expo在手机上查看此类应用程序.

info.plist ios callbackurl react-native expo

9
推荐指数
2
解决办法
7841
查看次数

NSExtension-共享-仅将类型限制为视频或图片

我的应用程序中有一个扩展程序,允许用户选择其“照片/图片”应用程序中的图片或视频,以发布在我的应用程序中。

通过执行以下操作,我将图片数量限制为20个,将视频数量限制为1个: 在此处输入图片说明

但是,我希望我的用户选择多张图片一个视频,而这种配置是不可能的。

我已经阅读了这篇文章:NSExtension分享扩展限制照片计数

他们解释说我可以执行自定义验证规则,但是我不知道如何编写它。还有其他激活参数吗?有人可以帮助编写规则吗?

提前致谢!

info.plist ios swift

9
推荐指数
2
解决办法
334
查看次数

ITMS-90683:Info.plist NSCameraUsageDescription中缺少目的字符串

我已成功将我的应用上传到应用商店。

App Store给我发送了这样的电子邮件:

App Store连接

亲爱的开发人员,

我们发现您的应用“ Kupona Online” 1.0.2(1.2)最近交付时出现一个或多个问题。请更正以下问题,然后重新上传。

ITMS-90683:Info.plist中缺少目的字符串-您的应用程序代码引用了一个或多个访问敏感用户数据的API。应用程序的Info.plist文件应包含一个NSCameraUsageDescription密钥,该密钥具有面向用户的目的字符串,可以清晰,完整地说明您的应用程序为何需要数据。从2019年春季开始,所有提交给App Store的访问用户数据的应用都必须包含用途字符串。如果您使用的是外部库或SDK,则它们可能会引用需要用途字符串的API。尽管您的应用可能未使用这些API,但仍然需要一个目的字符串。您可以与库或SDK的开发人员联系,并要求他们发布不包含API的代码版本。了解更多信息(https://developer.apple。)。

最好的祝福,

App Store团队

要解决此错误,我将Xcode 10.2.1中的Info.plist放入这样:

图片

但什么也没发生。应用商店始终向我发送此错误。

如何解决此错误?

macos xcode info.plist ios

9
推荐指数
2
解决办法
9652
查看次数

无法验证您的申请。该包不包含 info.plist

我刚刚完成我的申请。它在我测试过的所有设备上运行良好。也成功存档了。然而,当我尝试在 Xcode 管理器中验证它时,我遇到了以下错误:

- 无法验证您的应用程序:该包不包含 info.plist

我检查了我的项目文件,确实看到了一个 info.plist 文件。

xcode info.plist unity-game-engine ios xcode6

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

CFBundleSupportedPlatforms问题

在10.10/Xcode 6上始终没有问题的现有项目中,我现在收到10.11/Xcode 7的错误:

无法在Info.plist CFBundleSupportedPlatforms或Mach-O LC_VERSION_MIN中找到myBinary的平台系列

我的项目中有3个预先编译的二进制文件.它们有自己的权利文件,并且它们已经过编码,但它们没有自己的Info.plist.我尝试将CFBundleSupportedPlatforms添加到主Info.plist中,其值为MacOSX,但它没有解决问题.有任何想法吗?

sdk xcode info.plist osx-yosemite osx-elcapitan

8
推荐指数
1
解决办法
1800
查看次数

如何正确显示使用plist文件在iPhone/iPad上安装应用程序时的图标和进度?

我正在开发一个自己的AppStore网站,该网站为公司托管各种企业应用程序.到目前为止,一切都有效,除了在Apple设备上下载应用程序的建议方式.

问题是,我没有归档与从官方Apple AppStore安装的应用程序相同的效果.在安装应用程序之前,我没有在主屏幕上看到应用程序的图标,并且在应用程序下载时我看不到任何进度,只有在应用程序安装完成后才会看到.下载和安装应用程序本身的工作原理.

当选择将应用程序下载到他/她的iPhone时,会重定向到itms链接,如下所示:

itms-services://?action=download-manifest&url=https://example.org/appdistribution/iOS/myApp/meta.plist
Run Code Online (Sandbox Code Playgroud)

我的meta.plist文件如下所示:

<plist version="1.0">
    <dict>
        <key>items</key>
        <array>
            <dict>
                <key>assets</key>
                <array>
                    <dict>
                        <key>kind</key>
                        <string>software-package</string>
                        <key>url</key>
                        <string>https://example.org/appdistribution/iOS/myApp/app.ipa</string>
                    </dict>
                    <dict>  
                        <key>kind</key> 
                        <string>display-image</string>  
                        <key>needs-shine</key>  
                        <true/> 
                        <key>url</key>
                        <string>https://example.org/appdistribution/iOS/myApp/icon.png</string>
                    </dict> 
                </array>
                <key>metadata</key>
                <dict>
                    <key>bundle-identifier</key>
                    <string>com.sample-company.myApp</string>
                    <key>bundle-version</key>
                    <string>3.0.0</string>
                    <key>kind</key>
                    <string>software</string>
                    <key>title</key>
                    <string>MyApp</string>
                </dict>
            </dict>
        </array>
    </dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

这是应用程序下载时的外观:

下载没有显示图像的应用程序

这是应用程序安装时的样子:

安装没有显示图像的应用程序

安装完成后,会出现图标.

我尝试了几种图像分辨率,如57x57,72x72,100x100和256x256.我在iPhone和iPad上测试过它.我怀疑下载过程中缺少的进度是由于图像无法加载而导致的后续错误.

真正奇怪的是,我可以发誓以前曾经工作过.这看起来很琐碎,但我不确定这是由什么引起的.有没有好的例子可行?

xml info.plist plist ios ipa

8
推荐指数
1
解决办法
787
查看次数