- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个 .ipa 文件(iOS 应用程序),我让用户临时安装(使用企业帐户在私有(private)服务器上通过无线方式安装)。
挑战在于应用程序之间的差异化。他们在应用程序中使用不同的 Logo 和不同的 url。
是否可以在人们下载之前动态更改我服务器上的 .ipa 文件?
进一步说明:
我必须强调,我不能为每个应用程序制作一个 .ipa 文件。我必须能够更改开始屏幕、 Logo 并为单个 .ipa 文件设置 url 变量。
换句话说,每次有人要下载它时,我都需要动态更改服务器上的 .ipa 文件。
我最想拥有的东西:
我很想有一个关于如何在 heroku 或亚马逊服务器上执行此操作的示例/指南。没有什么花哨。基本上只是更改 info.plist 中的一个变量,然后再对其进行代码签名。
最佳答案
如前所述,您可以简单地解压缩并再次压缩以创建您自己的 ipa。
您还需要添加一些不需要代码签名的资源。
最好的办法是在 ipa 中创建一个新的(空)目录。目录本身未签名,但会在设备上提取并可由您的代码检测到。
换句话说:包含签名的 CodeResources
文件在添加空目录时不会更改。
我刚刚做的一个简单测试是创建一个文件夹引用一个名为“extra”的文件夹,其内容使用百分比编码解码并显示在弹出窗口中:
NSString *path = [[NSBundle mainBundle] pathForResource:@"extra" ofType:@""];
NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:path];
NSString *f;
while (f = [direnum nextObject])
{
NSString *decoded = [f stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:nil message:decoded delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
[alert show];
}
这可用于向您的代码发送潜意识消息。百分比编码允许您输入任何您喜欢的字符。我测试了最多 100 个字符的文件名长度。
您还需要一些代码,以将 Payload/yourapp.app/extra/
下的空 目录 动态添加到 ipa,并将百分比编码的消息作为其文件名,例如Payload/yourapp.app/extra/http%3A%2F%2Fstackoverflow.com%2F
更新:将目录添加到 ipa 的示例 shell 命令:
$ mkdir -p Payload/myapp.app/extra/http%3A%2F%2Fstackoverflow.com%2F
$ zip -r myapp.ipa Payload/
updating: Payload/ (stored 0%)
updating: Payload/myapp.app/ (stored 0%)
updating: Payload/myapp.app/extra/ (stored 0%)
adding: Payload/myapp.app/extra/http%3A%2F%2Fstackoverflow.com%2F/ (stored 0%)
$ rm -r Payload/
当然,您每次都需要创建一个干净的 ipa 副本,否则 url 将堆积在 ipa 内的 /extra/
下。
关于ios - 动态更改服务器上的 .ipa 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711626/
基本上我的项目基于书籍(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 ,
我是一名优秀的程序员,十分优秀!