Giter Site home page Giter Site logo

mrprogress's Introduction

MRProgress

Twitter: @mrackwitz License: MIT CocoaPods Travis

MRProgress is a collection of drop-in components that display a dimmed overlay with a blurred box view with an indicator and/or labels while work is being done in a background thread.

  • Component oriented: You don't have to use all components or MRProgressOverlayView. You can use just the custom activity indicators or progress views.
  • Configurable: All components implement tintColor.
  • Customizable: You can replace the given blur implementation and hook into your own you are maybe already using in other places of your app. Or simply throw in an UIToolbar's layer, if you prefer Apple's implementation. (Current blur implementation is as given by sample code of WWDC 2013.)
  • Reusable: The code is fragmented in small reusable pieces.
  • Well documented: You can install and open Appledoc documentation.
  • Integrated: It offers an integration into AFNetworking.
  • Accessible: It provides labels, traits and events for UIAccessibility.

Components

The components used in MRProgressOverlayView could be used seperately. The provided Example app demonstrates how they can be used.

MRProgressOverlayView

  • Supports different modes
  • Animated show and hide
  • Blured background
  • With UIMotionEffects for tilting like UIAlertView
  • Supports multi-line title label text

MRCircularProgressView

  • Tint color can be changed
  • Circular progress view like in AppStore
  • Can display a stop button
  • Animated with CABasicAnimation
  • Percentage label change is animated over a NSTimer

MRNavigationBarProgressView

  • Display a progress view in a UINavigationController
  • Hooks UINavigationControllerDelegate and is automatically removed on push or pop
  • Can be used in UINavigationBar or UIToolbar

MRCheckmarkIconView and MRCrossIconView

  • Tint color can be changed
  • Scalable
  • Animatable
  • Backed by CAShapeLayer

MRActivityIndicatorView

  • Tint color can be changed
  • Same API as UIActivityIndicatorView
  • Can display a stop button
  • Animated with CABasicAnimation

Installation

CocoaPods

CocoaPods is the recommended way to add MRProgress to your project.

  1. Add a pod entry for MRProgress to your Podfile pod 'MRProgress'.
  2. Install the pod(s) by running pod install.
  3. Include MRProgress wherever you need it with #import <MRProgress/MRProgress.h> from Objective-C or import MRProgress from Swift.

Source files

  1. Download the latest code version or add the repository as a git submodule to your git-tracked project.
  2. Drag and drop the src directory from the archive in your project navigator. Make sure to select Copy items when asked if you extracted the code archive outside of your project.
  3. Include MRProgress wherever you need any component with #import "MRProgress.h" or include it in your bridging header to use it in Swift.

Static library

  1. Drag and drop MRProgress.xcodeproj in your project navigator.
  2. Select your target and go to the Build Phases tab. In the Link Binary With Libraries section select the add button. On the sheet find and add libMRProgress.a.
  3. Add Target MRProgress to your Target Dependencies list.
  4. Use import <MRProgress/MRProgress.h> from Objective-C or import MRProgress from Swift wherever you want to use the components.

CocoaPods - Subspecs

The library is cut in small subspecs, so that you can just depend on selected components. See the following dependency tree:

─┬─MRProgress/
 │
 ├───Blur
 │
 ├───ActivityIndicator
 │
 ├───Circular
 │
 ├───Icons
 │
 ├───NavigationBarProgress
 │
 ├─┬─Overlay
 │ ├───ActivityIndicator
 │ ├───Circular
 │ ├───Icons
 │ └───Blur
 |
 ├─┬─AFNetworking (optional)
 │ ├───ActivityIndicator
 │ ├───Circular
 │ ├───NavigationBarProgress
 │ └───Overlay
 |
 ├───MethodCopier (optional)
 │
 ├───MessageInterceptor (optional)
 │
 └───WeakProxy (optional)

The tree only list public specs, where you can rely on. You will see in the podspec and your Podfile.lock other subspecs, but you should NOT rely on these. Those are implementation details, which are subject to change and may been removed, even with a minor version update. Furthermore this tree doesn't show any cross-dependencies, which do exist.

Requirements

  • Xcode 5
  • iOS 7
  • ARC
  • Frameworks:
    • QuartzCore
    • CoreGraphics
    • Accelerate

Usage

Check out the provided demo app for many examples how you can use the components. Make sure you also see MRProgress documentation on Cocoadocs.

Basics

  1. Add the following import to the top of the file or to your Prefix header:

    // If used with CocoaPods
    #import "MRProgress.h"
    // If used as Framework
    #import <MRProgress/MRProgress.h>
  2. Use one the following ways to display the overlay:

    // Block whole window
    [MRProgressOverlayView showOverlayAddedTo:self.window animated:YES];
    // Block only the navigation controller
    [MRProgressOverlayView showOverlayAddedTo:self.navigationController.view animated:YES];
    // Block only the view
    [MRProgressOverlayView showOverlayAddedTo:self.view animated:YES];
    // Block a custom view
    [MRProgressOverlayView showOverlayAddedTo:self.imageView animated:YES];
  3. Simply dismiss after complete your task:

    // Dismiss
    [MRProgressOverlayView dismissOverlayForView:self.view animated:YES];

AFNetworking

MRProgress offers an integration into the network library AFNetworking.

  1. Include the following additional line into your Podfile:

    pod 'MRProgress/AFNetworking'
  2. Import the adequate category header for the component you want to use:

    #import <MRProgress/MRProgressOverlayView+AFNetworking.h>
  3. You can now just setup your task / operation as usual and use the category methods to bind to execution state and progress as shown below.

    // Init the progress overlay as usual
    MRProgressOverlayView *overlayView = [MRProgressOverlayView showOverlayAddedTo:self.view animated:YES];
    
    // The following line will do these things automatically:
    // * Set mode to determinate when a download or upload is in progress
    // * Set animated progress of the download or upload
    // * Show a checkmark or cross pane at the end of the progress
    [overlayView setModeAndProgressWithStateOfTask:task];
    
    // Allows the user to cancel the task by using the provided stop button.
    // If you use that, make sure that you handle the error code, which will be
    // delivered to the failure block of the task like shown below:
    //
    //    if ([error.domain isEqualToString:NSURLErrorDomain] && error.code == NSURLErrorCancelled) {
    //        NSLog(@"Task was cancelled by user.");
    //        return;
    //    }
    //
    [overlayView setStopBlockForTask:task];
    
    // If you use the activity indicator directly
    [self.activityIndicatorView setAnimatingWithStateOfTask:task];
    
    // If you use one of the progress views directly
    [self.circularProgressView setProgressWithUploadProgressOfTask:downloadTask animated:YES];   // for uploads
    [self.circularProgressView setProgressWithDownloadProgressOfTask:downloadTask animated:YES]; // for downloads
    [[MRNavigationBarProgressView progressViewForNavigationController:self.navigationController]
      setProgressWithDownloadProgressOfTask:downloadTask animated:YES];

    All methods are available for both 'NSURLSessionTask' and 'AFURLConnectionOperation' and their descendants. For further examples, make sure to also checkout the Example app.

Modes

Name (MRProgressOverlayView<...>) Screenshot Description
Indeterminate Progress is shown using a large round activity indicator view. (MRActivityIndicatorView) This is the default.
DeterminateCircular Progress is shown using a round, pie-chart like, progress view. (MRCircularProgressView)
DeterminateHorizontalBar Progress is shown using a horizontal progress bar. (UIProgressView)
IndeterminateSmall Shows primarily a label. Progress is shown using a small activity indicator. (MRActivityIndicatorView)
IndeterminateSmallDefault Shows primarily a label. Progress is shown using a small activity indicator. (UIActivityIndicatorView in UIActivityIndicatorViewStyleGray)
Checkmark Shows a checkmark. (MRCheckmarkIconView)
Cross Shows a cross. (MRCrossIconView)

Credits

MRProgress' API was inspired by MBProgressHUD project.

The acquarium image was stolen by Jag Cesar's blur implementation.

You can find me on Twitter @mrackwitz.

License

Copyright (c) 2013 Marius Rackwitz [email protected]

The MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

mrprogress's People

Contributors

andepopande avatar andyland avatar ariandr avatar coneybeare avatar craftzdog avatar cxa avatar dennisreimann avatar dschneller avatar eni9889 avatar frankus avatar frapalla87 avatar jallen avatar kylebshr avatar marcelofabri avatar mikker avatar mrackwitz avatar neonichu avatar readmecritic avatar ryoabe avatar sdarlington avatar stephencelis avatar torben avatar ulechka avatar yarry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mrprogress's Issues

Allow to customize button animation on MRCircularProgressView

As originally described in #34 by @coneybeare:

Furthermore, I think that your contract ration (set at 1/3 of the size) should be configurable. If you are
going to show activity on a tap, it shouldn't be hidden by the fingertip. If you allowed us to set this to
something larger than the original size, then it would be noticeable.

Another option would be to shrink the size of the entire progress view instead of just the stop button.

Flicker when adding Progress Dialog to a UIViewController that holds a UIWebview

I've been witnessing a strange behaviour when displaying the MRProgress on a view that has a UIWebvView in it. It appears to be extremely large in size, its position is off center, and it flickers. I add the MRProgress using:

[MRProgressOverlayView showOverlayAddedTo:self.view title:@"Please wait..." mode:MRProgressOverlayViewModeIndeterminateSmall animated:YES];

Stop button animation broken

On an MRCircularProgressView with mayStop enabled, tapping the square does not animate it's size as it is supposed to. This works in the activity indicator view, but not the circular progress view. It is reproducible on master in the example project.

Furthermore, I think that your contract ration (set at 1/3 of the size) should be configurable. If you are going to show activity on a tap, it shouldn't be hidden by the fingertip. If you allowed us to set this to something larger than the original size, then it would be noticeable.

Another option would be to shrink the size of the entire progress view instead of just the stop button.

The stop button is also a bit too small when the progress indicator is used at a 48x48 size. I have solved this locally by adding a gesture recognizer to the entire progress view that calls the stop method, but perhaps you could have a configuration option to do the same internally.

Sorry for overloading this single bug report with feature requests but they are all relevant to the stop button.

ActivityView not rotating

Hello Guys,

I got a issue over here. I have added a MRActivityIndicatorView and called the startAnimating method. The View is visible but its not rotating. It's just like this:

foto 15 06 14 20 22 07

But if I touch the home button and go back to the App it starts the animation.

MRCircularProgressView does not respond to appearance changes

Using the "appearance" convention, e.g. using UI_APPEARANCE_SELECTOR:

If you change one of the MRCircularProgressView properties, e.g. borderWidth or lineWidth using the appearance proxy, the change will not take place. This is because there is a method called commonInit which changes these properties via their accessors which is called from the init method. This tricks the system into thinking we've already made customisations. The solution is to use the direct ivar variables when initially setting up the object to allow for subsequent modification using the appearance proxy.

More info here: http://petersteinberger.com/blog/2013/uiappearance-for-custom-views/ (see Lesson: Only use direct ivar access in the initializer for properties that comply to UI_APPEARANCE_SELECTOR)

A case of crash

There is a possible of causing crash:
A tableview of list, every cell has a subview of MRCircularProgressView to show the image download progress.

if I use
[progressView setProgress:progress animated:YES];
to update the progress with animation, when the tableview scrolls with loading cells,
it will crash with message

2013-11-24 14:00:08.296 test[63667:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSProxy methodSignatureForSelector:] called!'
*** First throw call stack:
(
    0   CoreFoundation                      0x01e445e4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x018988b6 objc_exception_throw + 44
    2   CoreFoundation                      0x01e443bb +[NSException raise:format:] + 139
    3   Foundation                          0x01575dee -[NSProxy methodSignatureForSelector:] + 59
    4   CoreFoundation                      0x01e345e9 ___forwarding___ + 217
    5   CoreFoundation                      0x01e344ee _CF_forwarding_prep_0 + 14
    6   QuartzCore                          0x021d9b8a _ZN2CA7Display15DisplayLinkItem8dispatchEv + 48
    7   QuartzCore                          0x021d9a46 _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 310
    8   QuartzCore                          0x021d9f6b _ZN2CA7Display16TimerDisplayLink8callbackEP16__CFRunLoopTimerPv + 123
    9   CoreFoundation                      0x01e02bd6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 22
    10  CoreFoundation                      0x01e025bd __CFRunLoopDoTimer + 1181
    11  CoreFoundation                      0x01dea628 __CFRunLoopRun + 1816
    12  CoreFoundation                      0x01de9ac3 CFRunLoopRunSpecific + 467
    13  CoreFoundation                      0x01de98db CFRunLoopRunInMode + 123
    14  GraphicsServices                    0x049c99e2 GSEventRunModal + 192
    15  GraphicsServices                    0x049c9809 GSEventRun + 104
    16  UIKit                               0x00606d3b UIApplicationMain + 1225
    17  test                                0x0004efbd main + 141
    18  libdyld.dylib                       0x0355f70d start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

if disable the animation, it will be ok.
[progressView setProgress:progress animated:NO];
works well.

NSProgress

A feature request; for determinate progress indicators, a way to hand them a NSProgress to display.

[AFNetworking] Overlay doesn't disappear or show the final state of the operation

i use MRProgressOverlayView+AFNetworking! but in one tableviewcontroller, it always loading,can not stop! how can i do?!

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.contentInset = UIEdgeInsetsMake(-1.0f, 0.0f, 0.0f, 0.0);

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    AFHTTPRequestOperation *operation = [manager GET:[[NSString stringWithFormat:@"http://localhost:3000/api/teams/%@", self.team_id] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        self.labelTeamName.text = responseObject[@"name"];
        self.teamSportCell.detailTextLabel.text = responseObject[@"sport"];
        self.teamAreaCell.detailTextLabel.text = responseObject[@"area"];
        self.teamMemberCell.detailTextLabel.text = [NSString stringWithFormat:@"%@个", responseObject[@"members_count"]];
        if ([responseObject[@"avatar"] isEqualToString:@"blank.png!80x80"]) {
            self.imageTeamAvatar.image = [UIImage imageNamed: @"avatar.png"];
        } else {
            NSURLRequest *imageRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@", responseObject[@"avatar"]]]];
            [self.imageTeamAvatar setImageWithURLRequest:imageRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
                self.imageTeamAvatar.image = image;
            } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
                self.imageTeamAvatar.image = [UIImage imageNamed: @"avatar.png"];
            }];
        }
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"异常提示" message:@"网络异常" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
        [alert show];
    }];

    MRProgressOverlayView *overlayView = [MRProgressOverlayView showOverlayAddedTo:self.view animated:YES];
    [overlayView setModeAndProgressWithStateOfOperation:operation];
    [overlayView setStopBlockForOperation:operation];

    [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)];
}

Setting titleLabelText to something larger than "Loading..." does not wrap text inside blurred view.

When changing titleLabelText to some larger text like this:

    MRProgressOverlayView *overlay = [MRProgressOverlayView showOverlayAddedTo:self.view.window animated:YES];
    overlay.titleLabelText = NSLocalizedString(@"Signing in with Facebook", @"Message displayed while waiting for facebook login");

The text doesn't fit inside the blur view. The label should grow downwards while shrinking the spinner view.

iOS 8 / Swift / XCode 6 (beta 5) bug in MRMethodCopier.m

I just tried to use MRProgress with a new Swift project I develop and therefore imported all files under the src folder to my project. But when I run the project, I get the following error:

Assertion failure in -[MRMethodCopier copyInstanceMethod:], [...]/MyProject/MRProgress/Utils/MRMethodCopier.m:25
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Didn't found method setAnimatingWithStateOfTask: on origin class UIActivityIndicatorView.'

What's wrong here? Am I doing something wrong? If not, it would be great to get compatibility with iOS 8 since it's nearing release.

UINavigationController delegate crashes

+[MRNavigationBarProgressView progressViewForNavigationController:] wraps the navigation controller delegate (if set), at runtime, with an MRMessageInterceptor. If, however, the delegate is set to something else after this occurs, the MRMessageInterceptor instance is deallocated and can cause crashes when accessed.

Probably want to hook into methods via swizzling instead of juggling delegates around to avoid this.

Delay the dismiss

Hi,

I love this library. This is the second project I'm using it and in this one, I need to delay the dismissing of the view for a couple of seconds. How can I do that? Is there built-in methods for that?

EDIT:
I went through your example project and saw that you're using the following method for delaying.

- (void)performBlock:(void(^)())block afterDelay:(NSTimeInterval)delay {
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), block);
}

As an enhancement I suggest, include this feature within the library itself. :)

Thank you.

Cannot install pods and launch example

Hello,

I am trying to launch example. But after pod install, I always get this error:

Fetching podspec for `MRProgress` from `.`

[!] Invalid `MRProgress.podspec` file: [!] A subspec can't require one of its parents specifications. Updating CocoaPods might fix the issue.

 #  from /Users/genimac/Downloads/MRProgress-master/Pods/Local Podspecs/MRProgress.podspec:66
 #  -------------------------------------------
 #        subspec spec_name do |subs|
 >          subs.dependency 'MRProgress/AFNetworking/Base'
 #          subs.dependency "MRProgress/#{spec_name}"
 #  -------------------------------------------

My version of CocoaPods is 0.33.1

Any help will be appreciated. Thanks in advance.

P.S. I also tried to change Local Podspecs file, but each time it is replaced by autogenerated one...

iPhone 6/6 plus overlay view blinking

I discovered strang bug: my iPhone screen fast resize back and forth when I call
MRProgressOverlayView.showOverlayAddedTo(fakeView, title: "Loading", mode: MRProgressOverlayViewMode.Indeterminate, animated: false)
The problem inside MRBlurView.m (line 185):
[window drawViewHierarchyInRect:window.bounds afterScreenUpdates:YES];
Before this call everything is all right, right after view is zoomed.
After some time size if ok, but you can see this blinking.
photo oct 21 17 52 52
(not cropped, it's fullscreen snapshot)
In my case afterScreenUpdates:NO resolve this issue, but please consider blur is properly applied.

Crash on MRProgreessOverlayView.showOverlayAddedTo

Getting error that crashes app: 2015-01-24 16:50:04.563 Pickle[24864:6627769] -[UIImage mr_applyBlurWithRadius:tintColor:saturationDeltaFactor:maskImage:]: unrecognized selector sent to instance 0x7f8255323820

After calling: MRProgressOverlayView.showOverlayAddedTo(self.view.window, animated: true).

The progress view shows up fine, but it appears that as soon as it tries to make its background an opaque white it is crashing.

The offending line of code that Xcode is highlighting on the crash: image = [image mr_applyBlurWithRadius:30.0 tintColor:[UIColor colorWithWhite:0.97 alpha:0.82] saturationDeltaFactor:1.0 maskImage:nil];
Which is from the MRBlurView class.

Automatically show/hide an overlay view with state of NSURLSessionTask

I have been using AFNetworking 2.0 a lot lately and @mattt has a ton of great UIKit categories that allow things like a spinner to start/stop with the activity of an NSURLSessionTask or NSURLConnection.

http://cocoadocs.org/docsets/AFNetworking/2.0.0/Categories/UIActivityIndicatorView+AFNetworking.html

Would you consider adding some sort of similar api for the overlay view? Specifically, I think a dismissWithStateOfTask method would be very useful as we would not have to manually dismiss the overlay upon completion of whatever task we are running.

Project can not be compiled.

PhaseScriptExecution Build\ Documentation /Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Script-71F50A471819B0CA00FF4B8E.sh
cd /Users/Patrick/Downloads/MRProgress-master
export ACTION=build
export AD_HOC_CODE_SIGNING_ALLOWED=NO
export ALTERNATE_GROUP=staff
export ALTERNATE_MODE=u+w,go-w,a+rX
export ALTERNATE_OWNER=Patrick
export ALWAYS_SEARCH_USER_PATHS=NO
export ALWAYS_USE_SEPARATE_HEADERMAPS=YES
export APPLE_INTERNAL_DEVELOPER_DIR=/AppleInternal/Developer
export APPLE_INTERNAL_DIR=/AppleInternal
export APPLE_INTERNAL_DOCUMENTATION_DIR=/AppleInternal/Documentation
export APPLE_INTERNAL_LIBRARY_DIR=/AppleInternal/Library
export APPLE_INTERNAL_TOOLS=/AppleInternal/Developer/Tools
export APPLY_RULES_IN_COPY_FILES=NO
export ARCHS=armv7s
export ARCHS_STANDARD="armv7 armv7s"
export ARCHS_STANDARD_32_64_BIT="armv7 armv7s"
export ARCHS_STANDARD_32_BIT="armv7 armv7s"
export ARCHS_STANDARD_64_BIT=arm64
export ARCHS_STANDARD_INCLUDING_64_BIT="armv7 armv7s arm64"
export ARCHS_UNIVERSAL_IPHONE_OS="armv7 armv7s"
export AVAILABLE_PLATFORMS="iphonesimulator macosx iphoneos"
export BUILD_COMPONENTS="headers build"
export BUILD_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products
export BUILD_ROOT=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products
export BUILD_STYLE=
export BUILD_VARIANTS=normal
export BUILT_PRODUCTS_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos
export CACHE_ROOT=/var/folders/s_/yxvyvzvx33zf3t4txj2jtkph0000gn/C/com.apple.DeveloperTools/5.1-5B45j/Xcode
export CCHROOT=/var/folders/s_/yxvyvzvx33zf3t4txj2jtkph0000gn/C/com.apple.DeveloperTools/5.1-5B45j/Xcode
export CHMOD=/bin/chmod
export CHOWN=/usr/sbin/chown
export CLANG_CXX_LANGUAGE_STANDARD=gnu++0x
export CLANG_CXX_LIBRARY=libc++
export CLANG_ENABLE_MODULES=YES
export CLANG_ENABLE_OBJC_ARC=YES
export CLANG_WARN_BOOL_CONVERSION=YES
export CLANG_WARN_CONSTANT_CONVERSION=YES
export CLANG_WARN_DIRECT_OBJC_ISA_USAGE=YES_ERROR
export CLANG_WARN_EMPTY_BODY=YES
export CLANG_WARN_ENUM_CONVERSION=YES
export CLANG_WARN_INT_CONVERSION=YES
export CLANG_WARN_OBJC_ROOT_CLASS=YES_ERROR
export CLANG_WARN__DUPLICATE_METHOD_MATCH=YES
export CLASS_FILE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/JavaClasses
export CLEAN_PRECOMPS=YES
export CLONE_HEADERS=NO
export CODESIGNING_FOLDER_PATH=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos/libMRProgress.a
export CODE_SIGNING_ALLOWED=NO
export CODE_SIGNING_REQUIRED=YES
export CODE_SIGN_CONTEXT_CLASS=XCiPhoneOSCodeSignContext
export COLOR_DIAGNOSTICS=NO
export COMBINE_HIDPI_IMAGES=NO
export COMMAND_MODE=legacy
export COMPOSITE_SDK_DIRS=/var/folders/s_/yxvyvzvx33zf3t4txj2jtkph0000gn/C/com.apple.DeveloperTools/5.1-5B45j/Xcode/CompositeSDKs
export COMPRESS_PNG_FILES=YES
export CONFIGURATION=Debug
export CONFIGURATION_BUILD_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos
export CONFIGURATION_TEMP_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos
export COPYING_PRESERVES_HFS_DATA=NO
export COPY_PHASE_STRIP=NO
export COPY_RESOURCES_FROM_STATIC_FRAMEWORKS=YES
export CP=/bin/cp
export CREATE_INFOPLIST_SECTION_IN_BINARY=NO
export CURRENT_ARCH=armv7s
export CURRENT_VARIANT=normal
export DEAD_CODE_STRIPPING=YES
export DEBUGGING_SYMBOLS=YES
export DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
export DEFAULT_COMPILER=com.apple.compilers.llvm.clang.1_0
export DEFAULT_KEXT_INSTALL_PATH=/System/Library/Extensions
export DEPLOYMENT_LOCATION=NO
export DEPLOYMENT_POSTPROCESSING=NO
export DERIVED_FILES_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/DerivedSources
export DERIVED_FILE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/DerivedSources
export DERIVED_SOURCES_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/DerivedSources
export DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Applications
export DEVELOPER_BIN_DIR=/Applications/Xcode51-DP.app/Contents/Developer/usr/bin
export DEVELOPER_DIR=/Applications/Xcode51-DP.app/Contents/Developer
export DEVELOPER_FRAMEWORKS_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Library/Frameworks
export DEVELOPER_FRAMEWORKS_DIR_QUOTED=/Applications/Xcode51-DP.app/Contents/Developer/Library/Frameworks
export DEVELOPER_LIBRARY_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Library
export DEVELOPER_SDK_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
export DEVELOPER_TOOLS_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Tools
export DEVELOPER_USR_DIR=/Applications/Xcode51-DP.app/Contents/Developer/usr
export DEVELOPMENT_LANGUAGE=English
export DO_HEADER_SCANNING_IN_JAM=NO
export DSTROOT=/tmp/MRProgress.dst
export DT_TOOLCHAIN_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export DWARF_DSYM_FILE_NAME=libMRProgress.a.dSYM
export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=NO
export DWARF_DSYM_FOLDER_PATH=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos
export EFFECTIVE_PLATFORM_NAME=-iphoneos
export EMBEDDED_PROFILE_NAME=embedded.mobileprovision
export ENABLE_HEADER_DEPENDENCIES=YES
export ENTITLEMENTS_REQUIRED=YES
export EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS=".DS_Store .svn .git .hg CVS"
export EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES=".nib *.lproj *.framework *.gch () .DS_Store CVS .svn .git .hg *.xcodeproj *.xcode *.pbproj *.pbxproj"
export EXECUTABLE_EXTENSION=a
export EXECUTABLE_NAME=libMRProgress.a
export EXECUTABLE_PATH=libMRProgress.a
export EXECUTABLE_PREFIX=lib
export EXECUTABLE_SUFFIX=.a
export FILE_LIST=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Objects/LinkFileList
export FIXED_FILES_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/FixedFiles
export FRAMEWORK_FLAG_PREFIX=-framework
export FRAMEWORK_SEARCH_PATHS="/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos "
export FRAMEWORK_VERSION=A
export FULL_PRODUCT_NAME=libMRProgress.a
export GCC3_VERSION=3.3
export GCC_C_LANGUAGE_STANDARD=gnu99
export GCC_DYNAMIC_NO_PIC=NO
export GCC_ENABLE_SYMBOL_SEPARATION=NO
export GCC_OPTIMIZATION_LEVEL=0
export GCC_PFE_FILE_C_DIALECTS="c objective-c c++ objective-c++"
export GCC_PRECOMPILE_PREFIX_HEADER=YES
export GCC_PREFIX_HEADER=MRProgress/MRProgress-Prefix.pch
export GCC_PREPROCESSOR_DEFINITIONS="DEBUG=1 "
export GCC_SYMBOLS_PRIVATE_EXTERN=NO
export GCC_THUMB_SUPPORT=YES
export GCC_TREAT_WARNINGS_AS_ERRORS=NO
export GCC_VERSION=com.apple.compilers.llvm.clang.1_0
export GCC_VERSION_IDENTIFIER=com_apple_compilers_llvm_clang_1_0
export GCC_WARN_64_TO_32_BIT_CONVERSION=YES
export GCC_WARN_ABOUT_RETURN_TYPE=YES_ERROR
export GCC_WARN_UNDECLARED_SELECTOR=YES
export GCC_WARN_UNINITIALIZED_AUTOS=YES
export GCC_WARN_UNUSED_FUNCTION=YES
export GCC_WARN_UNUSED_VARIABLE=YES
export GENERATE_MASTER_OBJECT_FILE=NO
export GENERATE_PKGINFO_FILE=NO
export GENERATE_PROFILING_CODE=NO
export GID=20
export GROUP=staff
export HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=YES
export HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=YES
export HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS=YES
export HEADERMAP_INCLUDES_PROJECT_HEADERS=YES
export HEADER_SEARCH_PATHS="/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos/include /Applications/Xcode51-DP.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include"
export ICONV=/usr/bin/iconv
export INFOPLIST_EXPAND_BUILD_SETTINGS=YES
export INFOPLIST_OUTPUT_FORMAT=binary
export INFOPLIST_PREPROCESS=NO
export INSTALL_DIR=/tmp/MRProgress.dst/usr/local/lib
export INSTALL_GROUP=staff
export INSTALL_MODE_FLAG=u+w,go-w,a+rX
export INSTALL_OWNER=Patrick
export INSTALL_PATH=/usr/local/lib
export INSTALL_ROOT=/tmp/MRProgress.dst
export IPHONEOS_DEPLOYMENT_TARGET=7.0
export JAVAC_DEFAULT_FLAGS="-J-Xms64m -J-XX:NewSize=4M -J-Dfile.encoding=UTF8"
export JAVA_APP_STUB=/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub
export JAVA_ARCHIVE_CLASSES=YES
export JAVA_ARCHIVE_TYPE=JAR
export JAVA_COMPILER=/usr/bin/javac
export JAVA_FRAMEWORK_RESOURCES_DIRS=Resources
export JAVA_JAR_FLAGS=cv
export JAVA_SOURCE_SUBDIR=.
export JAVA_USE_DEPENDENCIES=YES
export JAVA_ZIP_FLAGS=-urg
export JIKES_DEFAULT_FLAGS="+E +OLDCSO"
export KEEP_PRIVATE_EXTERNS=NO
export LD_DEPENDENCY_INFO_FILE=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Objects-normal/armv7s/MRProgress_dependency_info.dat
export LD_GENERATE_MAP_FILE=NO
export LD_MAP_FILE_PATH=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/MRProgress-LinkMap-normal-armv7s.txt
export LD_NO_PIE=NO
export LD_QUOTE_LINKER_ARGUMENTS_FOR_COMPILER_DRIVER=YES
export LEGACY_DEVELOPER_DIR=/Applications/Xcode51-DP.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer
export LEX=lex
export LIBRARY_FLAG_NOSPACE=YES
export LIBRARY_FLAG_PREFIX=-l
export LIBRARY_KEXT_INSTALL_PATH=/Library/Extensions
export LIBRARY_SEARCH_PATHS="/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos "
export LINKER_DISPLAYS_MANGLED_NAMES=NO
export LINK_FILE_LIST_normal_armv7s=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Objects-normal/armv7s/MRProgress.LinkFileList
export LINK_WITH_STANDARD_LIBRARIES=YES
export LOCAL_ADMIN_APPS_DIR=/Applications/Utilities
export LOCAL_APPS_DIR=/Applications
export LOCAL_DEVELOPER_DIR=/Library/Developer
export LOCAL_LIBRARY_DIR=/Library
export MACH_O_TYPE=staticlib
export MAC_OS_X_PRODUCT_BUILD_VERSION=13A603
export MAC_OS_X_VERSION_ACTUAL=1090
export MAC_OS_X_VERSION_MAJOR=1090
export MAC_OS_X_VERSION_MINOR=0900
export MODULE_CACHE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/ModuleCache
export NATIVE_ARCH=armv7
export NATIVE_ARCH_32_BIT=i386
export NATIVE_ARCH_64_BIT=x86_64
export NATIVE_ARCH_ACTUAL=x86_64
export NO_COMMON=YES
export OBJECT_FILE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Objects
export OBJECT_FILE_DIR_normal=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Objects-normal
export OBJROOT=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates
export ONLY_ACTIVE_ARCH=YES
export OPTIMIZATION_LEVEL=0
export OS=MACOS
export OSAC=/usr/bin/osacompile
export OTHER_LDFLAGS=-ObjC
export PACKAGE_TYPE=com.apple.package-type.static-library
export PASCAL_STRINGS=YES
export PATH="/Applications/Xcode51-DP.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode51-DP.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec:/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/local/bin:/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/bin:/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/local/bin:/Applications/Xcode51-DP.app/Contents/Developer/usr/bin:/Applications/Xcode51-DP.app/Contents/Developer/usr/local/bin:/Applications/Xcode51-DP.app/Contents/Developer/Tools:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES="/usr/include /usr/local/include /System/Library/Frameworks /System/Library/PrivateFrameworks /Applications/Xcode51-DP.app/Contents/Developer/Headers /Applications/Xcode51-DP.app/Contents/Developer/SDKs /Applications/Xcode51-DP.app/Contents/Developer/Platforms"
export PFE_FILE_C_DIALECTS=objective-c
export PKGINFO_FILE_PATH=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/PkgInfo
export PLATFORM_DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Applications
export PLATFORM_DEVELOPER_BIN_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
export PLATFORM_DEVELOPER_LIBRARY_DIR=/Applications/Xcode51-DP.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library
export PLATFORM_DEVELOPER_SDK_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
export PLATFORM_DEVELOPER_TOOLS_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Tools
export PLATFORM_DEVELOPER_USR_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr
export PLATFORM_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform
export PLATFORM_NAME=iphoneos
export PLATFORM_PREFERRED_ARCH=arm64
export PLATFORM_PRODUCT_BUILD_VERSION=11D5099e
export PLIST_FILE_OUTPUT_FORMAT=binary
export PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR=YES
export PRECOMP_DESTINATION_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/PrefixHeaders
export PRESERVE_DEAD_CODE_INITS_AND_TERMS=NO
export PRIVATE_HEADERS_FOLDER_PATH=/usr/local/include
export PRODUCT_NAME=MRProgress
export PRODUCT_SETTINGS_PATH=
export PRODUCT_TYPE=com.apple.product-type.library.static
export PROFILING_CODE=NO
export PROJECT=MRProgress
export PROJECT_DERIVED_FILE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/DerivedSources
export PROJECT_DIR=/Users/Patrick/Downloads/MRProgress-master
export PROJECT_FILE_PATH=/Users/Patrick/Downloads/MRProgress-master/MRProgress.xcodeproj
export PROJECT_NAME=MRProgress
export PROJECT_TEMP_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build
export PROJECT_TEMP_ROOT=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates
export PUBLIC_HEADERS_FOLDER_PATH=/usr/local/include
export RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS=YES
export REMOVE_CVS_FROM_RESOURCES=YES
export REMOVE_GIT_FROM_RESOURCES=YES
export REMOVE_HG_FROM_RESOURCES=YES
export REMOVE_SVN_FROM_RESOURCES=YES
export REZ_COLLECTOR_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/ResourceManagerResources
export REZ_EXECUTABLE=YES
export REZ_OBJECTS_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/ResourceManagerResources/Objects
export REZ_SEARCH_PATHS="/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos "
export SCAN_ALL_SOURCE_FILES_FOR_INCLUDES=NO
export SCRIPT_INPUT_FILE_COUNT=0
export SCRIPT_OUTPUT_FILE_COUNT=0
export SDKROOT=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
export SDK_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk
export SDK_NAME=iphoneos7.1
export SDK_PRODUCT_BUILD_VERSION=11D5099e
export SED=/usr/bin/sed
export SEPARATE_STRIP=YES
export SEPARATE_SYMBOL_EDIT=NO
export SET_DIR_MODE_OWNER_GROUP=YES
export SET_FILE_MODE_OWNER_GROUP=NO
export SHALLOW_BUNDLE=NO
export SHARED_DERIVED_FILE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos/DerivedSources
export SHARED_PRECOMPS_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/PrecompiledHeaders
export SKIP_INSTALL=YES
export SOURCE_ROOT=/Users/Patrick/Downloads/MRProgress-master
export SRCROOT=/Users/Patrick/Downloads/MRProgress-master
export STRINGS_FILE_OUTPUT_ENCODING=binary
export STRIP_INSTALLED_PRODUCT=YES
export STRIP_STYLE=debugging
export SUPPORTED_DEVICE_FAMILIES=1,2
export SUPPORTED_PLATFORMS="iphonesimulator iphoneos"
export SYMROOT=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products
export SYSTEM_ADMIN_APPS_DIR=/Applications/Utilities
export SYSTEM_APPS_DIR=/Applications
export SYSTEM_CORE_SERVICES_DIR=/System/Library/CoreServices
export SYSTEM_DEMOS_DIR=/Applications/Extras
export SYSTEM_DEVELOPER_APPS_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Applications
export SYSTEM_DEVELOPER_BIN_DIR=/Applications/Xcode51-DP.app/Contents/Developer/usr/bin
export SYSTEM_DEVELOPER_DEMOS_DIR="/Applications/Xcode51-DP.app/Contents/Developer/Applications/Utilities/Built Examples"
export SYSTEM_DEVELOPER_DIR=/Applications/Xcode51-DP.app/Contents/Developer
export SYSTEM_DEVELOPER_DOC_DIR="/Applications/Xcode51-DP.app/Contents/Developer/ADC Reference Library"
export SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR="/Applications/Xcode51-DP.app/Contents/Developer/Applications/Graphics Tools"
export SYSTEM_DEVELOPER_JAVA_TOOLS_DIR="/Applications/Xcode51-DP.app/Contents/Developer/Applications/Java Tools"
export SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR="/Applications/Xcode51-DP.app/Contents/Developer/Applications/Performance Tools"
export SYSTEM_DEVELOPER_RELEASENOTES_DIR="/Applications/Xcode51-DP.app/Contents/Developer/ADC Reference Library/releasenotes"
export SYSTEM_DEVELOPER_TOOLS=/Applications/Xcode51-DP.app/Contents/Developer/Tools
export SYSTEM_DEVELOPER_TOOLS_DOC_DIR="/Applications/Xcode51-DP.app/Contents/Developer/ADC Reference Library/documentation/DeveloperTools"
export SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR="/Applications/Xcode51-DP.app/Contents/Developer/ADC Reference Library/releasenotes/DeveloperTools"
export SYSTEM_DEVELOPER_USR_DIR=/Applications/Xcode51-DP.app/Contents/Developer/usr
export SYSTEM_DEVELOPER_UTILITIES_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Applications/Utilities
export SYSTEM_DOCUMENTATION_DIR=/Library/Documentation
export SYSTEM_KEXT_INSTALL_PATH=/System/Library/Extensions
export SYSTEM_LIBRARY_DIR=/System/Library
export TARGETED_DEVICE_FAMILY=1
export TARGETNAME=MRProgress
export TARGET_BUILD_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Products/Debug-iphoneos
export TARGET_NAME=MRProgress
export TARGET_TEMP_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build
export TEMP_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build
export TEMP_FILES_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build
export TEMP_FILE_DIR=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build
export TEMP_ROOT=/Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates
export TOOLCHAINS=com.apple.dt.toolchain.XcodeDefault
export UID=501
export UNSTRIPPED_PRODUCT=NO
export USER=Patrick
export USER_APPS_DIR=/Users/Patrick/Applications
export USER_LIBRARY_DIR=/Users/Patrick/Library
export USE_DYNAMIC_NO_PIC=YES
export USE_HEADERMAP=YES
export USE_HEADER_SYMLINKS=NO
export VALIDATE_PRODUCT=NO
export VALID_ARCHS="arm64 armv7 armv7s"
export VERBOSE_PBXCP=NO
export VERSION_INFO_BUILDER=Patrick
export VERSION_INFO_FILE=MRProgress_vers.c
export VERSION_INFO_STRING=""@(#)PROGRAM:MRProgress PROJECT:MRProgress-""
export XCODE_APP_SUPPORT_DIR=/Applications/Xcode51-DP.app/Contents/Developer/Library/Xcode
export XCODE_PRODUCT_BUILD_VERSION=5B45j
export XCODE_VERSION_ACTUAL=0510
export XCODE_VERSION_MAJOR=0500
export XCODE_VERSION_MINOR=0510
export XPCSERVICES_FOLDER_PATH=/XPCServices
export YACC=yacc
export arch=armv7s
export variant=normal
/bin/sh -c /Users/Patrick/Library/Developer/Xcode/DerivedData/MRProgress-fvgoqoesqyyzedeemmsrmdguygui/Build/Intermediates/MRProgress.build/Debug-iphoneos/MRProgress.build/Script-71F50A471819B0CA00FF4B8E.sh

Appledoc was not found. Try installing it by 'brew install appledoc'.
Command /bin/sh failed with exit code 127

Masking a cell

can u do it like there are 2 areas

  1. background which masks the view under and do it translucent or blur whatever, this is already there
  2. the foreground, animation, percentage are which is pure transparent and one can see the view under it

Background Tint

Any way to change the background tint instead of the default frosty white?

Flickering issue when rotating on iPad

If using this component on an iPad, it is possible to cause the screen to flicker briefly while rotating the app. This is reproducible in the sample app. I am unsure if this happens in iPad apps - I have so far only tested this in iPhone apps running on an iPad. Perhaps the issue is related to rendering the blur texture?

Steps to reproduce:

  • Load up the sample app on an iPad (or iPad Mini).
  • Get once of the progress overlays to appear on screen.
  • Rotate the device whilst it is visible.

Using version 0.4.3.

See the video for the glitch - it is quite subtle: https://drive.google.com/file/d/0B7hk_IdN2v-QUUFOcld6VGY2Y2JwYzViWlFxOTE1cy1RRzN3/edit?usp=sharing

screen shot 2014-05-29 at 10 59 03

iOS 8 orientation

Hello!

I have a problem with MRProgressOverlayView in iPad Project. The view with indicator and label is overrotated - when the orientation is not Portrait.

I tried to comment out code in two function (separately). Here:

- (CGAffineTransform)transformForOrientation {
//    if ([self.superview isKindOfClass:UIWindow.class]) {
//        return CGAffineTransformMakeRotation(MRRotationForStatusBarOrientation());
//    }
    return CGAffineTransformIdentity;
}

And there:
static inline CGFloat MRRotationForStatusBarOrientation() {
//    UIInterfaceOrientation orientation = UIApplication.sharedApplication.statusBarOrientation;
//    if (orientation == UIInterfaceOrientationLandscapeLeft) {
//        return -M_PI_2;
//    } else if (orientation == UIInterfaceOrientationLandscapeRight) {
//        return M_PI_2;
//    } else if (orientation == UIInterfaceOrientationPortraitUpsideDown) {
//        return M_PI;
//    }
     return 0;
}

in both cases the white view with indicator and label become ok, but overlay view frame is portrait width, and screen have a padding on left and right.

Did I miss something?

Animations do not work on presenting view controller during modal dismissal

I am using the MRProgressOverlayView on the presenting VC while dismissing a VC. If I wait until the dismiss animation is complete, the MRProgressOverlayView animates correctly. If I kick off both the MRProgressOverlayView and perform the modal dismissal at the same time the MRProgressOverlayView does not animate

Too small hit area for stop button in small progress indicators

As originally described in #34 by @coneybeare:

The stop button is also a bit too small when the progress indicator is used at a 48x48 size. I have solved this locally by adding a gesture recognizer to the entire progress view that calls the stop method, but perhaps you could have a configuration option to do the same internally.

Blur view delay

The display of the blurred background is delayed in [MRBlurView didMoveToWindow] by either CATransaction.animationDuration (if greater zero) or by 0.25 seconds.

When using the Example project I can reproduce this on my iPhone 6 with iOS 8.1.3 as well as all simulators for iOS 8 and 7.1. If I choose the “Blur View” or the “Progress Overlay View” example those 0.25 seconds looks like a glitch or as if the image rendering takes too long.

This is how it looks just after the MRProgress ended its fade-in animation:

image

and after the the timeInterval of 0.25 seconds (CATransaction.animationDuration’s value) it looks like it should have from the beginning.

image

If I set the timeInterval manually to 0.01 seconds there is no visual delay and the blurred image is shown directly (or after 0.01 which isn’t perceptible for the human eye).

The comment before that delayed dispatch states “This is needed e.g. for the push animation of UINavigationController.” but I cannot see why. Even on the iOS 7.1 in iPhone 4s simulator it looks okay with a 0.01 seconds time interval when choosing „Blur View“ (which is a UINavigationController push action that is performed).

I guess this delay was intended for taking the screenshots, that the screenshot should be taken after the push animation has ended (and not taking a screenshot for blurring before or during the animation which would look very wrong). But since I cannot reproduce that possible error I am not sure if the delay is really necessary.

Blur redraw hangup !

Hi, I encounter difficult when I try to test the MRProgress.

I create a single view type project with a button to launch MRProgress.
But the program always hangup at MRBlurview.m

  • (void)redraw {
    …….
    image = [image mr_applyBlurWithRadius:30.0 tintColor:[UIColor colorWithWhite:0.97 alpha:0.82] saturationDeltaFactor:1.0 maskImage:nil];
    ……...
    }

The log:
2013-11-11 17:37:00.610 MRPTEST[4650:3403] -[UIImage mr_applyBlurWithRadius:tintColor:saturationDeltaFactor:maskImage:]: unrecognized selector sent to instance 0x109049c30
2013-11-11 17:37:00.612 MRPTEST[4650:3403] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage mr_applyBlurWithRadius:tintColor:saturationDeltaFactor:maskImage:]: unrecognized selector sent to instance 0x109049c30'

But the Example runs well. I had checked all the build config. But I still can't solve the problem.

Could you kindly to help the issue?

Thanks

Progress overlay background delay/sometimes missing

I have noticed a bug/cosmetic issue with the white background of the progress overlay appearing after a delay, or occasionally not at all. This does not seem to happen in the simulator, but does on an iPhone 4S running 7.1 using the example app.

Using version 0.4.3.

Symptoms:

  • With animations disabled, the overlay background does not seem to appear at the same time as the actual progress spinner itself. I have attached a video, although it is quite subtle to see the effect.
  • This also is an issue when displaying the progress view with an animation. In some circumstances, the overlay view can appear, and be dismissed, before the background has actually appeared.

The background not appearing at all is difficult to reproduce consistently as it does not seem to be deterministic, however, you can see the delay of the background appearing every time by using the sample app (on device) and presenting an overlay view without the animation - observe that the white background appears noticeably after the spinner component.

Video:
Unfortunately this isn't quite as clear as I would hoped. The best way to see is to skip through each frame invidually using Quicktime: https://drive.google.com/file/d/0B7hk_IdN2v-QYlQtSG5hdTBYOGFMWWNtZmVpeTR3Tm1kTm5V/edit?usp=sharing

Images:
screen shot 2014-05-27 at 11 34 02
screen shot 2014-05-27 at 11 34 07

App crashes when trying to display

Hey again!

I posted an exact same issue a few weeks ago but I am getting another error.

Here is my method call:

-(void)viewDidAppear:(BOOL)animated{
     [MRProgressOverlayView showOverlayAddedTo:_inspectedView.window title:@"Uploading..." mode:MRProgressOverlayViewModeDeterminateCircular animated:true];
}

This is what I get back in return: The compiler throws a breakpoint in the snapshot method of MRBlurView.m

// Translate to draw at the absolute origin of the receiver
    CGContextTranslateCTM(context, -origin.x, -origin.y);

    // Draw the window
    [window.layer renderInContext:context]; <------------ This is where the breakpoint occurs

    // Capture the image and exit context
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

I also get this in the console:

Assertion failed: (transform_is_valid(m)), function CGPathRef CGPathCreateWithRect(CGRect, const CGAffineTransform *), file Paths/CGPath.cc, line 179.

Any help would be appreciated!

Thanks

Getting error after adding pods

Hi, I installed MRProgress using pods and included it in my project but when I try to build I get the error "linker command failed with exit code 1 (use -v to see invocation)"
are there any other steps to do when adding pods?
I'll appreciate if you can help me with this.
By the way I have iOS 7.1
Thanks

Overlay stops animating and view disappears when switching tabs

When swapping tabs, it stops the animation and looks broken. One workaround that helped me is by using the viewDidAppear/viewDidDisappear functions.

class ViewController: UIViewController {

    var overlay = MRProgressOverlayView()

    override func viewDidAppear(animated: Bool) {
         overlay = MRProgressOverlayView.showOverlayAddedTo(self.view, animated: false)
    }

    override func viewDidDisappear(animated: Bool) {
        overlay.dismiss(false)
    }
}

App crashes when trying to display

In my view controller, when a button is pushed, I have a method that calls for a progress view to be displayed like this:

 [MRProgressOverlayView showOverlayAddedTo:self.view title:@"Uploading..." mode:MRProgressOverlayViewModeIndeterminate animated:true];

As soon as that method is called, the app crashed and gives me an error in the console of:

Assertion failed: (transform_is_valid(m)), function CGPathRef CGPathCreateWithRect(CGRect, const CGAffineTransform *), file Paths/CGPath.cc, line 179.

I am not sure what to do. Any help would be greatly appreciated!

Thanks

iOS 8.1 Issues [EXC_BAD_ACCESS, No Overlay Background Shown)

Hi,
I just updated my app to iOS 8.1, and there are two separate issues I'm having with MRProgress. Perhaps they are related. The app often crashes with EXC_BAD_ACCESS when I show an MRProgressOverlayView, and the overlay view does not have its fancy white background when it happens to not crash. It is a bit random, and unfortunately I haven't been able to get a stack trace. When it does not crash, the only thing shown is the progress view's title and the blue [in]determinate circle.

Things of note:
-I am showing the overlay view in viewDidLoad in [self view]. If I move it to viewDidAppear, it seems to work, but that is not optimal since then the user sees the screen before the loading view is shown!
-I do have the fix from the iPad non-flickering branch "installed," but this was also happening before I installed it.

Thanks.

Crash in MRProgressOverlayView.m, line 766, objc_msgSend() selector name: _maskView

iPad, iOS8.0

[MRProgressOverlayView manualLayoutSubviews] in MRProgressOverlayView.m, line 766
Reason: objc_msgSend() selector name: _maskView

trace:

objc_msgSend() selector name: _maskView

Thread 0 Crashed:
0   libobjc.A.dylib                      0x2f614f46 objc_msgSend + 6
1   UIKit                                0x254cd7a5 _UIViewVisitorRecursivelyEntertainDescendingVisitors + 346
2   UIKit                                0x254cd7f1 _UIViewVisitorRecursivelyEntertainDescendingVisitors + 422
3   UIKit                                0x254cd10f _UIViewVisitorEntertainDescendingTrackingVisitors + 760
4   UIKit                                0x250ffb71 __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 174
5   UIKit                                0x250ffa4d -[UIView(Hierarchy) _postMovedFromSuperview:] + 426
6   UIKit                                0x25109e73 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1432
7   UIKit                                0x251098d3 -[UIView(Hierarchy) addSubview:] + 28
8   UIKit                                0x2510123d -[UIView _setMaskView:] + 214
9   UIKit                                0x2553fe01 -[UIVisualEffectView setMaskView:] + 422
10  app beta                          0x0026d295 -[MRProgressOverlayView manualLayoutSubviews] (MRProgressOverlayView.m:766)
11  UIKit                                0x25134563 +[UIView(UIViewAnimationWithBlocks) _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:] + 480
12  UIKit                                0x25134377 +[UIView(UIViewAnimationWithBlocks) animateWithDuration:animations:] + 64
13  app beta                          0x0026b02b -[MRProgressOverlayView deviceOrientationDidChange:] (MRProgressOverlayView.m:237)
14  CoreFoundation                       0x21c1e4a1 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 10
15  CoreFoundation                       0x21b7a93d _CFXNotificationPost + 1782
16  Foundation                           0x228aa9b9 -[NSNotificationCenter postNotificationName:object:userInfo:] + 70
17  UIKit                                0x251042f3 -[UIDevice setOrientation:animated:] + 316
18  UIKit                                0x251040a3 -[UIApplication handleEvent:withNewEvent:] + 1564
19  UIKit                                0x251039c1 -[UIApplication sendEvent:] + 70
20  UIKit                                0x25168801 _UIApplicationHandleEvent + 630

Also sometimes it crashes with

** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM _maskView]:

Context Error

I'm getting a ton of these when a view controller disappears. It seems to be directly related to this pod.

CGContextRestoreGState: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context  and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

Full screen flicker when displaying progress overlay

Using 0.5.0.

Steps to reproduce:

Display a progress overlay on device using the sample app. This is reproducible on iPhone and iPad, although it is usually more noticeable on iPad. The screen will briefly flicker with a buggy texture.

I think from your previous comments that this is related to the asynchronous blur texture rendering. This is likely related to #42

See video here: https://docs.google.com/file/d/0B7hk_IdN2v-QRy1lNWZHTmg1SDNQWHotalRrVjFldHlhd0lR/edit

update pod

CocoaPods is still at version 0.0.1. Please add the latest version

Please support iOS 6

Very nice work with this library. I wish you could support iOS 6...because right now it's to soon to drop support for it for a production app.
Thanks anyway!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.