我为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:我真的很恼火,我的问题被主持人关闭了!仅仅因为有人认为,我的问题"通常不适用于全球互联网用户".关闭问题太愚蠢了!现在你看到:我得到了一个解决方案,我在这里发布了..也许它将来会帮助别人!你不应该通过过度控制用户内容而与维基百科犯同样的错误.
我的应用程序有一些问题,只有当我安装它时才会重现,但如果我只是从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安装并运行应用程序,则所有断点都被命中).
我错过了什么吗?
解压缩".ipa"文件时,输出为:包含应用程序的Payload目录.但是,有时输出是:Payload,SwiftSupport和Symbols目录.
另外,我注意到SwiftSupport包含.dylib文件,我假设它们已经存在于应用程序中(右键单击 - >显示包内容 - >框架),因此:
我找不到任何有用的参考来描述我正在寻找的东西.
当我尝试使用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,现在我需要从它现在存在的唯一设备中提取它.这有可能吗?如果可以的话怎么样?iTunes似乎只允许您反向同步购买的应用程序.
我想检索从*.ipa文件中获取的Locazable.strings.但是当我这样做时,我会得到一些奇怪的混合物
我怎么读呢?
我看了堆栈溢出有很多类似的问题,但无法准确理解.据我所知,配置文件有三种类型 -
开发配置文件允许进行测试和调试.不使用Xcode进行beta测试的临时分发.
但我的问题是 .ipa是为使用开发配置或使用adhoc分发配置进行测试而创建的,这两种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.3的iPhone 4 .
我们的构建位置有多个档案.有没有办法确定它是基于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的列表同步.
我需要生成.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)