- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要找到一种方法让黑盒辞职再次工作,最好不需要在辞职期间被替换的虚拟 AppStore 分发证书。
背景说明:
我们有一个设置,其中另一个部门有一个辞职工作,可以接收 IPA 并使用他们自己的证书和配置文件辞职,并设置适当的包标识符。
此辞职作业的输入 .ipa 文件以前是使用 app-store 导出方法以及另一个 AppStore 分发证书和相应的配置文件构建的。这使得可以毫无问题地上传输出 .ipa 文件。
当辞职是替换证书、供应配置文件和捆绑标识符时,是否有可能为 企业 导出方法构建并且如果它们被替换就辞职?
尝试这样做会在将已辞职的 .ipa 文件上传到 AppStore 时产生错误。
ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
我猜这是由于导出方法的原因,因为构建配置的其余部分是相同的(尽管使用了适当的证书和配置文件)尝试使用企业证书进行初始签名的原因是输入的开发人员程序应该被淘汰。
最佳答案
我创建了一个脚本,用于将 SwiftSupport
文件夹添加到缺少它的 .ipa
(即为企业分发生成的文件夹):
#!/bin/bash
for ARGUMENT in "$@"
do
KEY=$(echo $ARGUMENT | cut -f1 -d=)
VALUE=$(echo $ARGUMENT | cut -f2 -d=)
case "$KEY" in
ipa_path) ipaPath=${VALUE} ;; # Format: "Path/to/app.ipa"
archive_path) archivePath=${VALUE} ;; # Format: "Path/to/app.xcarchive"
toolchain_path) toolchainPath=${VALUE} ;; # Format: "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos"
*)
esac
done
# Derived Variables
ipaDirectory=$(dirname "$ipaPath")
ipaName=$(basename "$ipaPath")
zipName=${ipaName/.ipa/.zip}
appName=${ipaName/.ipa/}
zipSuffix=-unzipped
unzippedDirectoryName=${appName}${zipSuffix}
newIpaSuffix=-with-swift-support
newIpaName=${appName}${newIpaSuffix}
swiftSupportPath=SwiftSupport/iphoneos
ipaSwiftSupportDirectory=${ipaDirectory}/${unzippedDirectoryName}/${swiftSupportPath}
# Changes the .ipa file extension to .zip and unzips it
function unzipIPA {
mv "${ipaDirectory}/${ipaName}" "${ipaDirectory}/${zipName}"
unzip "${ipaDirectory}/${zipName}" -d "${ipaDirectory}/${unzippedDirectoryName}"
}
# Copies the SwiftSupport folder from the .xcarchive into the .ipa
function copySwiftSupportFromArchiveIntoIPA {
mkdir -p "$ipaSwiftSupportDirectory"
cd "${archivePath}/${swiftSupportPath}"
for file in *.dylib; do
cp "$file" "$ipaSwiftSupportDirectory"
done
}
# Creates the SwiftSupport folder from the Xcode toolchain and copies it into the .ipa
function copySwiftSupportFromToolchainIntoIPA {
mkdir -p "$ipaSwiftSupportDirectory"
cd "${ipaDirectory}/${unzippedDirectoryName}/Payload/${appName}.app/Frameworks"
for file in *.dylib; do
cp "${toolchainPath}/${file}" "$ipaSwiftSupportDirectory"
done
}
# Adds the SwiftSupport folder from one of two sources depending on the presence of an .xcarchive
function addSwiftSupportFolder {
if [ -z "$archivePath" ]
then
copySwiftSupportFromToolchainIntoIPA
else
copySwiftSupportFromArchiveIntoIPA
fi
}
# Zips the new folder back up and changes the extension to .ipa
function createAppStoreIPA {
cd "${ipaDirectory}/${unzippedDirectoryName}"
zip -r "${ipaDirectory}/${newIpaName}.zip" ./*
mv "${ipaDirectory}/${newIpaName}.zip" "${ipaDirectory}/${newIpaName}.ipa"
}
# Renames original .ipa and deletes the unzipped folder
function cleanUp {
mv "${ipaDirectory}/${zipName}" "${ipaDirectory}/${ipaName}"
rm -r "${ipaDirectory}/${unzippedDirectoryName}"
}
# Execute Steps
unzipIPA
addSwiftSupportFolder
createAppStoreIPA
cleanUp
它也可以作为要点提供:https://gist.github.com/adamzarn/6bb89d91ed4b8c3d3fb25363c221441f
用法:
chmod +x path/to/script
path/to/script ipa_path="path/to/ipa"archive_path="path/to/xcarchive"
path/to/script ipa_path="path/to/ipa"toolchain_path="path/to/toolchain"
如果您有权访问生成 .ipa
的 .xcarchive
,脚本将从那里获取 SwiftSupport
文件夹。否则,它将通过查看 .app
文件来确定需要哪些 .dylib
文件,然后从 Xcode 工具链生成一个 SwiftSupport
文件夹。
如果您使用的是 Xcode 工具链,请确保您提供的路径包含 .dylib
文件列表。这是一个示例路径:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/iphoneos
对于 Xcode 10,该路径包含一个 swift
文件夹,但对于 Xcode 11,必须使用 swift-5.0
。
我已经对此进行了测试,它成功解决了 Apple 在 App Store 中分发时引发的 Invalid Swift Support 错误,没有任何负面影响。
关于iOS 使用应用商店证书退出企业 IPA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57214466/
基本上我的项目基于书籍(pdf 和 xml 的组合)。由于某些原因,我们维护了十多个配置文件。每当出现新设备 udid 时,我们需要创建另一个配置文件(根据要求)。每次构建我都需要在我的 xcode
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
是否有任何可能的方法来捆绑多个 IPA 或单个 iOS XCode 项目,以便最终结果是单个 iOS IPA,可安装在 iPhone/iPad 上?我有一个守护程序应用程序,它与主应用程序完全分开,如
我看了stack overflow 有很多类似的问题,但没能完全理解。据我所知,配置文件分为三种类型- 开发配置文件 临时分发配置文件 应用商店分发配置文件 开发配置文件允许进行测试和调试。在不使用
尝试了解 Xcode 版本对构建 IPA 文件的影响。检查了 stackoverflow 和其他几个站点中的多个响应。但不确定它如何影响。 最佳答案 有很多差异。如果您使用相同的 Xcode 副本构建
iOS 新手。总有一种感觉,iOS 中的事情并不简单。我正在使用 Xcode 4.3.3 开发应用程序,我已经获得了用于测试目的的 iPhone 设备,我已经获得了开发配置文件,以便我可以在设备上运行
在 ios 中有什么方法可以组合多个 ipa 文件并制作一些安装程序文件,即(ipa 文件),以便在安装程序应用程序安装时相应的应用程序也安装在 iPhone 上? 最佳答案 不,没有办法做到这一点。
我正在尝试为我的 xamarin 应用程序生成 .ipa 文件。它通过此消息生成 IPA file should be visible on the build server 有时弹出窗口会在生成 .
当我尝试使用 Distribute APP 选项创建 IPA 文件时。它给出了“IPA 处理失败”错误。 我检查了日志文件:IDEDistribution.standard.log文件。 2019-0
我正在使用 xcodebuild 以非常标准的方式为 AD Hoc 分发构建我的应用程序。在构建配置文件 (profileA) 期间,嵌入了应用程序并使用证书 (certA) 签名 - CODE_SI
我可以使用一些帮助来让我的 #AS3/#AIR 应用程序在 #iOS 上运行! 现在我有一个 .SWF (v11),我正在 Windows (7) 上使用 Adobe AIR (v3.7) 将其转
长话短说: 如何直接在硬件 (iPhone) 上以与 AppStore 分发的版本/二进制文件完全相同的版本/二进制文件调试 iPhone 应用程序,而无需等待 AppStore-Preview-Pr
如果我在 ipa 运行时没有删除断点会发生什么 1.设备(用于开发) 2.临时构建 3.App Store ipa提交 是否因为断点而停止运行? 最佳答案 Does it stop running d
当我尝试创建 Ad Hoc IPA 文件时。它给出了“IPA 处理失败”错误。 Xcode 版本是 12.2。 Mac mini (M1, 2020) 我检查了日志文件:IDEDistribution
我最喜欢的应用程序之一已从应用程序商店中删除,我猜是因为它太久没有更新了。我在旧设备(大约 iOS 7.1.2)上有它,但没有将它下载到我的新手机上。 如何获取 IPA 以便查看应用程序包和应用程序中
Hello World 示例的 React Native APK 大小约为 20M (in recent versions),因为支持不同的硬件架构(ARMv7、ARMv8、X86 等),而同一应用程
当我在设备上运行我的项目时,它工作正常。然后我创建了一个用于开发配置文件的 .ipa 构建并尝试在 diawi 上上传。但是上面的错误显示- here 我第一次看到这个错误。请谁能告诉我我的错是什么,
我正在尝试创建一个 ipa 文件(产品->存档->共享),但 Xcode 只生成存档文件。 几天前它运行良好。我一直在使用 ipa,但现在我无法生成 ipa(当我单击存档中的共享时,我无法签署代码)。
今天我将我的 Xcode 升级到 6.0.1 版,我想将我的项目存档为 ipa 文件。我的流程是产品 -> 存档 -> 导出 -> 保存以进行临时部署。 一切正常,直到我选择了我的开发团队,所以我点击
我已经使用开发配置创建了构建文件,我为该配置文件选择了 5 个设备,但 Ipa 未安装在客户端设备上,并成功安装在其余 4 个设备上。做了以下事情:- I checked device UDID ,
我是一名优秀的程序员,十分优秀!