Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
cocoapods-jxedt提供组件二进制链接的功能,你不需要更改podspec源文件,只需要在Podfile文件中配置好use_binary的标识,执行pod install
的时候就会帮你完成二进制链接的工作。
使用cocoapods-jxedt理论上来说可以使你的pods工程编译时间减少到秒级,取决于你怎样配置二进制文件。
$ gem install cocoapods-jxedt
$ rake build
$ sudo rake install
打开Podfile文件,在合适的位置添加
plugin 'cocoapods-jxedt'
all_binary!
binary_dir('../_Prebuild')
或
plugin 'cocoapods-jxedt'
options = {
'all_binary': true, # 全部开启bianry,默认false
'binary_dir': '../_Prebuild', # binary编译的最终路径,默认为'../_Prebuild'
'binary_switch': true, # 二进制开关,设置为关则不hook pre_install过程,默认开
'prebuild_job': true, #开启预编译任务,默认开启
'excluded_pods': ['WIMPhotoBrowser', 'JXFavoriteLib'], # 排除binary的组件
'framework_header_search_enabled': true, # 是否开启binary的header search path功能,默认不开启
'configurations': ['Release', 'Debug'], # 支持的configurations,默认只编译Release
'xcframework': false, # 编译结果是否为xcframework,默认false
'dev_pods_enabled': false, # 开发中的pod是否支持binary,默认false
'simulator_build_enabled': false, # 是否编译模拟器,默认不支持
'clean_build': false, # build的时候是否clean,默认不clean
'build_args': { # 编译的配置
'default':["ONLY_ACTIVE_ARCH=NO", "BUILD_LIBRARY_FOR_DISTRIBUTION=YES"],
'device':["ARCHS='arm64'"], # "ARCHS='arm64 armv7 armv7s'"
'simulator':["ARCHS='x86_64'"] # "ARCHS='arm64 x86_64 i386'
}
}
cocoapods_jxedt_config(options)
如果只需要某个组件实现二进制的链接,你可以
pod 'PodA', :binary => true # 明确的指定某个pod组件支持binary
pod 'PodB', :framework_header_search => false # 明确指出某个pod不支持配置framework的`HEADER_SEARCH_PATH`
... 待完善
支持从已有framework文件完成源码和二进制切换
解决依赖的组件被打成framework,头文件依赖的问题
解决源码和二进制切换的问题,现有binary插件均不支持
支持不同环境(Debug、Release)编译时链接不同环境的framework
记录组件的hash(git提交)值,用户校验二进制的源码组件的版本。这个值在podfile.lock文件中
两次install去校验checksum值,确保源码和二进制是对应版本,checksum值校验通过才支持binary
添加是否从header_search_path中查找framework的header(为了兼容"" <> 这种方式引用头文件的问题)
插件支持编译为framework
prebuild流程添加到pod的install流程中,形成闭环,使用二进制的时候,发现没有对应的二进制文件,那么可以预编译
添加pod jxedt options
命令,输出配置文件详细介绍
添加pod jxedt binary
命令,支持命令行打包framework
支持配置git地址做编译结果缓存
支持缓存的fetch和push
支持多线程下载
#if __has_include(<FrameworkA/Header.h>)
方式设置的组件,如果有会出现重复定义的错误。如YYImage、YYWebImage等感谢cocoapods-binary和cocoapods-binary-cache的作者,因为看了他们的源码之后受到了启发。
FAQs
Unknown package
We found that cocoapods-jxedt demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.