您的位置:首页 > 移动开发 > IOS开发

iOS: 从ipa提取图片资源文件及从iOS设备提取ipa文件的方法

2012-08-12 16:21 771 查看
由于操作比较简单,就不上截图了,简单说一下:

1)从ipa提取图片资源文件。

>> 解压ipa(其实ipa也是一种压缩格式的文件,改名为zip即可解压),解压后,有个Payload目录,里面有个“应用名.app”(其实是个目录);

>> 打开终端命令行,cd 到 ***/***/应用名.app 目录

>> 创建一个ruby脚本(mac可以直接执行ruby脚本),该脚本用来将ipa包内的png文件反优化”成可以浏览的图片文件,命令:vi uncrush.rb

files = Dir.glob("*.png")

puts "Creating directory: uncrushed"
if File.directory?("uncrushed")
puts "Directory already exists... delete and proceed? (y/n)"
input = gets.strip
if input == "y"
deletefiles = Dir.glob("uncrushed/*.png")
deletefiles.each do |f|
File.delete(f)
end
Dir.delete("uncrushed")
else
abort
end
else
end
Dir.mkdir("uncrushed")
files.each do |f|
puts "Found file: #{f}... uncrushing it because we street!"
`/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/pngcrush -revert-iphone-optimizations -q #{f} uncrushed/#{f}`
puts "Creating new file: #{f}"
end


>> 保存并执行脚本:ruby uncrush.rb ,在当前目录的 "uncrushed"文件夹,你可以找到原始的png文件,很酷吧。

2)从iOS设备提取ipa文件

方法一:使用iTunes,备份ipa到本地目录(由于同步规则复杂,我们用第二种,最简单的)

方法二:使用iTools,可以看成一个与Apple帐号无关的iTunes,支持MAC和Windows(据说是QQ二把手创业的作品),连接后可以把已安装的ipa逐个备份到本地,也可以查看应用内的数据库及产生的图片,文档等。同样,对一些需要付费的软件,你可以备份到本地,然后安装到其它越狱的iOS设备。

(完)

=========补充1=========

mac 默认不隐藏文件后缀名及隐藏文件,可以通过一下命名设置为显示,设置完成后需要 Force Quit 【Finder】。

显示Mac隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool true

隐藏Mac隐藏文件的命令:

defaults write com.apple.finder AppleShowAllFiles -bool false

=========补充2=========

执行时可能会提示pngcrush 无法找到,不同的电脑Xcode安装目录有所不同,进入 Application -> Xcode -> 右键 Show Package Contents -> 邮件 Get Info,查看所在的绝对路径,替换即可。某些资源文件如果在打包时没有设置decode的话,是不用执行pngcrush的。以下是我的xcode 安装路径

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: