标签: ipa

iphone:如何从自制应用程序构建IPA文件?

我为iOS编写了一个小应用程序,我使用的是Mac OS X 10.6.6,Xcode 3.2.5和iOS SDK 4.2,它们都运行在Virtual Box机器4.0中.

现在我希望应用程序在我的iPhone上运行并将其分发给一些beta测试人员.因为我不是注册苹果开发者,我不想向苹果支付99美元,我需要找到其他方法.

我在网上找到的第一件事是alex whittemore的教程: alexwhittemore.com

我按照说明创建了自签名根证书,二进制修补Xcode程序并在构建过程中添加了一些脚本.之后,我切换到"调试"到"释放"模式,从"模拟器"切换到"设备".构建过程以警告消息结束:

应用程序验证失败.签名无效,或者未使用Apple提交的证书签名.(-19011)

但我仍然在Release-iphoneos文件夹中有一个appname.app文件夹,我可以通过我的越狱iphone的/ Applications/-folder中的ssh或scp进行传输.之后我在iphone上调用"uicache",应用程序显示在跳板中.我也可以启动应用程序,一切正常.

现在是问题,我想要一个我的应用程序的IPA文件.正如我在网上看到的,IPA文件只不过是名为"Payload"的文件夹中的appname.app文件夹,与两个名为iTunesArtwork和iTunesMetadata.plist的文件一起压缩.我用512x512 jpeg图像创建了iTunesArtworks文件,并在网上找到了一些预设的plist文件.之后,必须将appname.zip文件重命名为appname.ipa.我手动完成了这个过程,并通过scp将IPA文件传输到我的iphone上的installous-app的download-folder.然后我开始安装并尝试安装我的应用程序 - 出现错误消息:

安装失败:ipa无效

我在网上搜索了此错误消息,并发现了有关更新我的Appsync和Installous-installation的信息.我从hackulo.us-repository更新了这两个程序,但这没有帮助.

所以我想,在IPA创建过程中我做错了什么.我做了一些研究,发现可以将appname.app-folder拖放到itunes,后者会自动生成一个IPA文件.然后你可以在iTunes的某个文件夹中找到IPA文件.我将此文件复制到我的iphone上的installous下载文件夹,并尝试再次安装此文件,但显示相同的错误消息.

我的问题:如果我有一个自签名的应用程序,如何为installous制作有效的IPA文件?安装检查签名吗?

也许有人对我有暗示......

编辑:

我找到了解决问题的方法.

因为我想了解有关installous-error-message的更多信息,我通过我的iphone上的cydia安装了"syslog toggle"和"syslogd to/var/log/syslog",以便将详细信息记录到/ var/log/syslog.然后我尝试再次安装IPA文件,我从installd守护进程的syslog中收到一条消息,IPA文件的最低iOS版本要求为4.2,而我的iphone在iOS 4.0下运行.

*installd [163]:00503000 verify_bundle_metadata:系统版本低于最低操作系统版本*

通过ssh将appname.app-folder复制到/ Applications /,但是使用错误的最小iOS版本参数构建,将应用程序安装为系统应用程序是没有问题的.所以我用最小的权限重建我的应用程序-iOS版本为我的iPhone.

我尝试再次安装,但我再次收到有关无效IPA的错误消息.这次installd守护进程告诉我在我的iphone的syslog中,它无法安装系统应用程序:

*installd [193]:00503000 preflight_application_install:无法安装系统或内部应用程序*

这个问题很容易解决,因为我仍然在/ Applications /中将应用程序安装为系统应用程序.我只需要删除/Applications/appname.app文件夹并通过ssh用户"mobile"两次调用"uicache".然后我再次尝试安装并试图安装我的IPA文件 - 瞧瞧:它工作了!

也许我能够帮助有类似问题的人.如果出现一些像"invalid ipa"这样的通用错误消息,通过cydia安装syslog-apps似乎是一个好主意,以便仔细查看installous的错误消息.

ps:我真的很恼火,我的问题被主持人关闭了!仅仅因为有人认为,我的问题"通常不适用于全球互联网用户".关闭问题太愚蠢了!现在你看到:我得到了一个解决方案,我在这里发布了..也许它将来会帮助别人!你不应该通过过度控制用户内容而与维基百科犯同样的错误.

iphone self-signed cydia ipa

9
推荐指数
0
解决办法
3830
查看次数

我可以调试从IPA存档安装的iOS应用吗?

我的应用程序有一些问题,只有当我安装它时才会重现,但如果我只是从Xcode运行应用程序,则不会重现.我想调试这个问题,但到目前为止我没有任何运气.我正在使用Xcode 5.1.1.这是我做的:

1)转到Product-> Scheme-> Edit Scheme-> Archive并将构建配置设置为Debug.

2)代码签名身份设置为iPhone Developer.

3)生成调试符号设置为是.

4)转到Product-> Archive,归档后,单击"Distribute",然后选择"Save for Enterprise或Ad Hoc Deployment".

5)选择了我的开发配置文件.

6)单击"导出"并导出.ipa文件.

7)使用iPhone配置实用程序将应用程序安装到设备上.

8)在设备上运行应用程序.

9)在Xcode中,转到Debug-> Attach To Process->通过PID或Name,输入应用程序名称.Xcode成功附加并表示在iPad上运行应用程序.

10)然而,当我在我的应用程序中执行某些操作时,我无法点击应该被击中的任何断点(如果我从Xcode安装并运行应用程序,则所有断点都被命中).

我错过了什么吗?

debugging xcode ad-hoc-distribution ios ipa

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

IPA文件结构 - SupportSwift和符号

解压缩".ipa"文件时,输出为:包含应用程序的Payload目录.但是,有时输出是:Payload,SwiftSupportSymbols目录.

  • 生成SwiftSupportSymbols目录的条件是什么?

另外,我注意到SwiftSupport包含.dylib文件,我假设它们已经存在于应用程序中(右键单击 - >显示包内容 - >框架),因此:

  • 应用程序即使不存在也应该正常工作,生成它们的目的是什么?

我找不到任何有用的参考来描述我正在寻找的东西.

xcode ios ipa swift

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

如何修复Xcode 11中的“ IPA处理失败”错误?

当我尝试使用Distribute APP选项创建IPA文件时。它给出了“ IPA处理失败”错误。

我已经检查了日志文件:IDEDistribution.standard.logfile。

2019-08-06 18:36:52 +0000警告:配置问题:平台iPhoneSimulator.platform没有任何非模拟器SDK; 忽略它扫描IPA ... 2019-08-06 18:36:52 +0000断言失败:otool输出中预期有4个弓形:/var/folders/4t/rpjk7pd55t16jfrd32y98gf0lb2t68/T/IDEDistributionOptionThinning.~~~a4cZJc/Payload/demo .app / Frameworks / AppAuth.framework / AppAuth:马赫标题魔术cputype cpusubtype限制文件类型ncmds sizeofcmds标志MH_MAGIC_64 X86_64 ALL 0x00 DYLIB 23
3680 NOUNDEFS DYLDLINK TWOLEVEL NO_REEXPORTED_DYLIBS加载命令0

ipa ios13 xcode11

9
推荐指数
6
解决办法
5243
查看次数

如何从iPhone中提取应用程序?

我几周前建立了一个临时ipa,现在我需要从它现在存在的唯一设备中提取它.这有可能吗?如果可以的话怎么样?iTunes似乎只允许您反向同步购买的应用程序.

iphone reverse sync adhoc ipa

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

从*.ipa读取Localization.strings文件

我想检索从*.ipa文件中获取的Locazable.strings.但是当我这样做时,我会得到一些奇怪的混合物在此输入图像描述

我怎么读呢?

xcode ios ipa

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

.ipa与开发配置和.ipa与adhoc分配配置文件有什么区别?

我看了堆栈溢出有很多类似的问题,但无法准确理解.据我所知,配置文件有三种类型 -

  1. 开发配置文件
  2. 临时分发配置文件
  3. 应用商店分发配置文件

开发配置文件允许进行测试和调试.不使用Xcode进行beta测试的临时分发.

但我的问题是 .ipa是为使用开发配置或使用adhoc分发配置进行测试而创建的,这两种ipa有什么区别?

感谢您的回答.

ios ipa provisioning-profile

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

安装IPA会导致错误"已添加,修改或删除已签名的资源"

我最近偶然发现了Xcode的一个相当奇怪的问题,当我构建一个IPA并尝试安装它时,我尝试使用Xcode,iTunes和iPhone Config Utility安装,所有这些都给出了同样的错误

A signed resource has been added, modified, or deleted.
Run Code Online (Sandbox Code Playgroud)

我可以使用XCode在手机上成功调试应用程序,只有当我尝试安装IPA时才能看到错误.

我尝试解压缩IPA并运行代码签名验证工具,该工具会引发以下响应:

a sealed resource is missing or invalid In architecture: armv7
resource missing:
/Users/dev1/Documents/PoleTester.app/Settings.bundle/._Root.plist
Run Code Online (Sandbox Code Playgroud)

这导致我查看了Settings.bundle文件并确保它包含在构建中,它就是这样.有趣的是,如果我删除了Settings.bundle文件,构建一个IPA并尝试在我的iPhone上安装它,安装成功,但这没用,因为我需要使用应用程序安装的Settings.bundle文件.

对我之前的一些XCode项目的进一步调查表明,我可以构建一个包含Settings.bundle文件的IPA,并成功安装它.但是,如果我对Settings.bundle文件进行了简单的更改,例如添加或删除行,则构建IPA,然后尝试安装它,我得到了

"A signed resource has been added, modified, or deleted" error.
Run Code Online (Sandbox Code Playgroud)

我对导致此错误的原因以及为什么Settings.bundle文件导致安装失败感到有些不知所措.

有没有人之前看过这个错误,或者可能会对导致它的原因有所了解?

我正在使用Xcode 4.6.3和运行iOS 6.1.3iPhone 4 .

iphone xcode objective-c ios ipa

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

查找ipa文件是32位还是64位.(MacOS的/ UNIX)

我们的构建位置有多个档案.有没有办法确定它是基于32位还是64位.这样我就可以对它们进行分组.

我试过file命令.但它没有提供我寻找的信息.

MYMAC:~ userid$ file MyApp.ipa
MyApp.ipa: Zip archive data, at least v1.0 to extract
Run Code Online (Sandbox Code Playgroud)

我搜索了互联网,我找不到一个.有人可以指点我正确的方向吗?

我们在unix也有一个回购.Atlas,如果我能在Mac中识别,我可以将它与unix的列表同步.

unix macos x86-64 ios ipa

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

jest-haste-map:Haste 模块命名冲突:尝试生成 .ipa 时 react-native

我需要生成.ipa我的项目具有的不同目标中的一个,但是无论是在命令行中还是通过 Xcode 执行,我都会继续收到以下错误:

jest-haste-map: Haste module naming collision: react-native
  The following files share their name; please adjust your hasteImpl:
    * <rootDir>/node_modules/react-native/package.json
    * <rootDir>/ios/build/Archive/DEV.xcarchive/Products/Applications/DEV.app/assets/node_modules/react-native/package.json

Failed to construct transformer:  { Error: Duplicated files or mocks. Please check the console for more info
    at setModule (/Users/danale/Projects/NFIBEngage/node_modules/jest-haste-map/build/index.js:620:17)
    at workerReply (/Users/danale/Projects/NFIBEngage/node_modules/jest-haste-map/build/index.js:691:9)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  mockPath1: 'node_modules/react-native/package.json',
  mockPath2:
   'ios/build/Archive/DEV.xcarchive/Products/Applications/DEV.app/assets/node_modules/react-native/package.json' }
Run Code Online (Sandbox Code Playgroud)

我已经尝试过创建这样的rn-cli.config.js文件:

const blacklist = require("metro-config/src/defaults/blacklist");

module.exports = {
  resolver: {
    blacklistRE: blacklist([/nodejs-assets\/.*/, /android\/.*/, /ios\/.*/])
  }
};
Run Code Online (Sandbox Code Playgroud)

或这个:

const blacklist = require("metro-config/src/defaults/blacklist");

module.exports …
Run Code Online (Sandbox Code Playgroud)

xcode ipa react-native

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