-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to exclude some classes and pods libraries #55
Comments
Did you copy-paste the opts you use?
you have unnecessary spaces between the class prefix and the asterisk. Try removing the spaces and use
if that still fails to resolve the problem, I'll dig deeper into it |
No i didn't copy/paste. |
OK, took a closer look at it. Instead of use In other words, get rid of the single apostrophes around excluded prefixes. Hope this helps! :) PS. When pasting any code/command samples, it's best to use |
@kajot
but when building the project there is many errors appeared for example: 2- |
@kajot |
@kajot please any solution ? |
In fact,I thought that the problem is the filter of iOS static library is not working well in the Xcode 7.2. I encounter many Warning Failed to load file,but the path I opened in the finder is correct,and the file is right there!Dose this Warning is the key of the problem?
Can anybody tell me why the static library is also obfuscating in the Xcode 7.2. |
It's because the libraries is named '.tbd' in the Xcode 7.2 instead of '.dylib'. Can anybody fix this issue? |
@softwind0214 Simulator use .dylib,and iPhone use .tbd. |
@Mohamed3amer and @lin493369, I will repeat some of the response that I gave on other issues you've posted to, but I have some additional comments for new issues you mention here. The approach ios-class-guard takes to renaming is clever, but can produce less than intuitive compiler errors when there is a problem. In order for it to work well, the system libraries that your app uses must be analyzed. ios-class-guard will warn you if this fails. Pay attention to warnings like the following:
This means that ios-class-guard is not able to analyze the dependencies correctly. Apple has dramatically changed the SDKs ship with Xcode (6 and again in 7) to reduce download footprints. iPhoneSimulator SDK still works, but the iPhoneOS SDK format is unsupported. This means that analysis of an ARM binary will not work. Make sure to look for the
This number should be > 50k for even a simple iOS project. If the number is very small, analysis of the SDK failed, and poor build results can be expected, including error messages like We (PreEmptive Solutions) forked iOS Class Guard, creating a new product, called PreEmptive Protection for iOS - Rename (or PPiOS-Rename), that fixes this issue and a number of others. PPiOS-Rename uses the same approach to renaming, but will use iPhoneSimulator SDK in lieu of iPhoneOS SDK, even for ARM binaries.
You likely tried to obfuscate an ARM binary (compiled for "Generic iOS Device"), but used the iPhoneSimulator SDK to do the analysis. PPiOS-Rename will work with the It sounds like you too encountered the issue described above with the iPhoneOS SDK. PPiOS-Rename should work for you, but it will need to use the iPhoneSimulator SDK for analysis. Note that PPiOS-Rename changes the way the obfuscation process is integrated into the build (to make it easier to use), so you'll probably need to make changes to your build, and to pay attention to the new/changed argument names. Please give it a try and let us know how it works for you. |
@lin493369 @neuralmer I write my obfuscate script according to the example ios-class-guard-example. To build the iPhoneSimulator SDK, it uses the bash command
but it doesn't work for me. It always shows me "ld: xxxx not found"(xxxx is a pod project). After searching in google and stackoverflow I solved this problem. And then my ios-class-guard works well now. The solution is change the params of OBJROOT and SYMROOT to absolute path, just like
|
I need to exclude some some classes and all pods libraries like UISS, StompKit, else...
I am trying like this CLASS_GUARD_OPTS="-F 'IG *' -F 'UISS *'", but still iOS class guard obfuscating it
also i tried like this CLASS_GUARD_OPTS="-F '!IG *' -F '!UISS *'"
Am using xcode 7.1.1
The text was updated successfully, but these errors were encountered: