Skip to content
The easiest way to generate order files for Mach-O using Clang. Improving App Performance.
Objective-C Ruby Swift C
Branch: master
Clone or download
Latest commit 66b945c Sep 2, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AppOrderFilesSample Update AppOrderFiles.m Sep 1, 2019
.gitignore Initial commit Aug 31, 2019
AppOrderFiles.podspec update readme Aug 31, 2019
LICENSE Initial commit Aug 31, 2019
README.md Update README.md Sep 2, 2019

README.md

Platform Version GitHub release Twitter Follow

AppOrderFiles

The easiest way to generate order files for Mach-O using Clang SanitizerCoverage. Improving your App Performance.

Enjoy it!!!

📚 Article

🌟 Feature

  • Swift/Objective-C/C/C++
  • All Methods and Functions
  • All Blocks
  • iOS/macOS/tvOS/watchOS

🐒 Usage

Just call AppOrderFiles().

AppOrderFiles(^(NSString *orderFilePath) {
    NSLog(@"OrderFilePath:%@", orderFilePath);
});

After generating "app.order" file, just move it to your project workspace, and fill in "Order File" in build settings.

AppOrderFiles also print results in debug console.

📲 Installation

NOTE: In build settings of your Xcode project/target, add -fsanitize-coverage=func,trace-pc-guard under "Other C Flags". If you are using Swift, also add -sanitize-coverage=func and -sanitize=undefined under "Other Swift Flags".

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate AppOrderFiles into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
	pod 'AppOrderFiles'
end

You need replace "MyApp" with your project's name.

Then, run the following command:

$ pod install

AppOrderFiles works under Clang SanitizerCoverage, you can modify Xcode build settings manually, or using Podfile.

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['OTHER_CFLAGS'] = '-fsanitize-coverage=func,trace-pc-guard'
      config.build_settings['OTHER_SWIFT_FLAGS'] = '-sanitize-coverage=func -sanitize=undefined'
    end
  end
end

📚 Reference

❤️ Contributed

  • If you need help or you'd like to ask a general question, open an issue.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.

👨🏻‍💻 Author

yulingtianxia, yulingtianxia@gmail.com

You can’t perform that action at this time.