如何访问组件的bundle资源
原创
©著作权归作者所有:来自51CTO博客作者拔山河的原创作品,请联系作者获取转载授权,否则将追究法律责任
由的基础组件包含由图片,文件等资源。这页面资源文件用户可以获取到,不但使用组件的人可以找到这些资源,破解的iphone也能看到这些资源。所以若是机密文件就不安全,需要加密。那么怎么找到这些bundle的资源呢?
既然是资源文件,那么肯定在mainBundle下面。当你直接遍历这些文件,发现没有你要的Auth.bundle文件。但是意外发现了组件资源BITCrypto.bundle。那我使用下面的代码:
NSString *filePathObj = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"/BITCrypto.bundle/Auth.bundle"];
filePathObj = [filePathObj stringByAppendingString:@"/auth_file"];
果然找到了我需要的Auth.bundle文件。简单言之就是:[[[NSBundle mainBundle] resourcePath] +组件资源+具体资源+资源文件名称。
BITCrypto组件的BITCrypto.podspec文件如下:
Pod::Spec.new do |s|
s.name = 'BITCrypto'
s.version = '0.0.5'
s.summary = 'BITCrypto.'
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
s.description = <<-DESC
TODO: Add long description of the pod here.
DESC
s.homepage = 'http://www.baidu.com/'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'jiaguoshang' => 'jia12216@163.com' }
s.source = { :git => 'http://192.12.1.16:8688/bitinfo_tech_ios/BITCrypto.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '8.0'
s.source_files = 'BITCrypto/Classes/**/*'
s.resource_bundles = {
'BITCrypto' => ['BITCrypto/Classes/*.bundle']
}
# s.public_header_files = 'Pod/Classes/**/*.h'
s.frameworks = 'UIKit', 'Foundation'
# s.dependency 'AFNetworking', '~> 2.3'
end