现在,我有一个项目,必须根据内部分发以20或更多的“ ipa”文件分发。但是,这些文件完全相同。它们通过不同的图标和不同的名称分为不同的“ ipa”文件。 我的问题是我将图标文件重命名为与Xcode项目中的图标文件相同的名称。并将其构建为.app文件,在我替换此.app文件中的其他图标后将其辞职。但这是行不通的。所以我该怎么做? 我不想将其存档超过20次以获取ipa文件!这既痛苦又无聊。
详细信息:
首先,我使用命令xcodebuild
来获取.app文件。
xcodebuild -workspace ${projectDir}/xxxxx.xcworkspace -scheme ${schemeName} -configuration Release clean -sdk iphoneos build CODE_SIGN_IDENTITY="${CODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${PROVISIONING_PROFILE}" SYMROOT="${projectDir}/build"
在执行此操作之前,我已经在Xcode中设置了this。
然后,我打开应用程序文件,发现this。
因此,我决定更改图标,从而不必重新存档很多次。因此,我将其替换为其他icon。他们有相同的名字。
在那之后,我使用以下命令将该.app文件辞职
xattr -cr $ipaPath/Payload/myproject.app
codesign -f -s "xxxxxx" --entitlements $Entitlements $ipaPath/Payload/myproject.app
。然后,我上传到平台并从那里下载。图标未更改(是第一个one而不是second)。那么为什么会发生呢?以及我该如何解决。
顺便说一下,我还重写了plist文件以更改DisplayName
,它可以工作。
答案 0 :(得分:0)
您必须重新构建应用程序才能将图标放入捆绑包中。重新签名是不够的。
我建议以下内容:
AppIconTaget1
等TargetAppIconName
并相应地将其分配给AppIconTarget1
,依此类推(因此在第二个目标TargetAppIconName == AppIconTarget2
中)CFBundleIconName
条目分配给该变量的值,例如$(TargetAppIconName)
然后,无需进行任何前/后复制等操作,在构建每个目标之后,您应该获得单独的图标。
答案 1 :(得分:-1)
似乎必须存档20次 在您的项目=>常规=>目标中,您可以使用创建20个目标, 将目标设置为不同的图标和不同的名称。 然后使用自动脚本将其存档(使用xcodebuild)