diff --git a/Classes/Objective_ZipAppDelegate.h b/Classes/Objective_ZipAppDelegate.h deleted file mode 100644 index f996116..0000000 --- a/Classes/Objective_ZipAppDelegate.h +++ /dev/null @@ -1,47 +0,0 @@ -// -// Objective_ZipAppDelegate.h -// Objective-Zip -// -// Created by Gianluca Bertani on 25/12/09. -// Copyright Flying Dolphin Studio 2009. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Gianluca Bertani nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// - -#import - -@class Objective_ZipViewController; - -@interface Objective_ZipAppDelegate : NSObject { - UIWindow *window; - Objective_ZipViewController *viewController; -} - -@property (nonatomic, strong) IBOutlet UIWindow *window; -@property (nonatomic, strong) IBOutlet Objective_ZipViewController *viewController; - -@end - diff --git a/Classes/Objective_ZipAppDelegate.m b/Classes/Objective_ZipAppDelegate.m deleted file mode 100644 index 84410f7..0000000 --- a/Classes/Objective_ZipAppDelegate.m +++ /dev/null @@ -1,49 +0,0 @@ -// -// Objective_ZipAppDelegate.m -// Objective-Zip -// -// Created by Gianluca Bertani on 25/12/09. -// Copyright Flying Dolphin Studio 2009. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Gianluca Bertani nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// - -#import "Objective_ZipAppDelegate.h" -#import "Objective_ZipViewController.h" - -@implementation Objective_ZipAppDelegate - -@synthesize window; -@synthesize viewController; - - -- (void)applicationDidFinishLaunching:(UIApplication *)application { - [window addSubview:viewController.view]; - [window makeKeyAndVisible]; -} - - -@end diff --git a/Classes/Objective_ZipViewController.h b/Classes/Objective_ZipViewController.h deleted file mode 100644 index 1e3d415..0000000 --- a/Classes/Objective_ZipViewController.h +++ /dev/null @@ -1,50 +0,0 @@ -// -// Objective_ZipViewController.h -// Objective-Zip -// -// Created by Gianluca Bertani on 25/12/09. -// Copyright Flying Dolphin Studio 2009. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Gianluca Bertani nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// - -#import - -@interface Objective_ZipViewController : UIViewController { - IBOutlet UITextView *_textView; - -@private - NSThread *_testThread; -} - -- (IBAction) zipUnzip; -- (IBAction) zipUnzip2; -- (IBAction) zipCheck1; -- (IBAction) zipCheck2; -- (IBAction) errorWrapping; - -@end - diff --git a/Classes/Objective_ZipViewController.m b/Classes/Objective_ZipViewController.m deleted file mode 100644 index 0ee39cb..0000000 --- a/Classes/Objective_ZipViewController.m +++ /dev/null @@ -1,536 +0,0 @@ -// -// Objective_ZipViewController.m -// Objective-Zip -// -// Created by Gianluca Bertani on 25/12/09. -// Copyright Flying Dolphin Studio 2009. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Gianluca Bertani nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// - -#import "Objective_ZipViewController.h" -#import "Objective-Zip.h" - -#define HUGE_TEST_BLOCK_LENGTH (50000) -#define HUGE_TEST_NUMBER_OF_BLOCKS (100000) - - -@interface Objective_ZipViewController () - - -#pragma mark - -#pragma mark Tests - -- (void) test1; -- (void) test2; -- (void) test3; -- (void) test4; -- (void) test5; - - -#pragma mark - -#pragma mark Logging - -- (void) log:(NSString *)format, ...; - - -@end - - -@implementation Objective_ZipViewController - - -- (void) loadView { - [super loadView]; - - _textView.font= [UIFont fontWithName:@"Helvetica" size:11.0]; -} - - -- (void) didReceiveMemoryWarning { - [super didReceiveMemoryWarning]; -} - -- (IBAction) zipUnzip { - - _testThread= [[NSThread alloc] initWithTarget:self selector:@selector(test1) object:nil]; - [_testThread start]; -} - -- (IBAction) zipUnzip2 { - - _testThread= [[NSThread alloc] initWithTarget:self selector:@selector(test2) object:nil]; - [_testThread start]; -} - -- (IBAction) zipCheck1 { - - _testThread= [[NSThread alloc] initWithTarget:self selector:@selector(test3) object:nil]; - [_testThread start]; -} - -- (IBAction) zipCheck2 { - - _testThread= [[NSThread alloc] initWithTarget:self selector:@selector(test4) object:nil]; - [_testThread start]; -} - -- (IBAction) errorWrapping { - - _testThread= [[NSThread alloc] initWithTarget:self selector:@selector(test5) object:nil]; - [_testThread start]; -} - - -#pragma mark - -#pragma mark Test 1: zip & unzip - -- (void) test1 { - @autoreleasepool { - - NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; - NSString *filePath= [documentsDir stringByAppendingPathComponent:@"test.zip"]; - - @try { - [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; - - [self log:@"Test 1: opening zip file for writing..."]; - - OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate]; - - [self log:@"Test 1: adding first file..."]; - - OZZipWriteStream *stream1= [zipFile writeFileInZipWithName:@"abc.txt" fileDate:[NSDate dateWithTimeIntervalSinceNow:-86400.0] compressionLevel:OZZipCompressionLevelBest]; - - [self log:@"Test 1: writing to first file's stream..."]; - - NSString *text= @"abc"; - [stream1 writeData:[text dataUsingEncoding:NSUTF8StringEncoding]]; - - [self log:@"Test 1: closing first file's stream..."]; - - [stream1 finishedWriting]; - - [self log:@"Test 1: adding second file..."]; - - NSString *file2name= @"x/y/z/xyz.txt"; - OZZipWriteStream *stream2= [zipFile writeFileInZipWithName:file2name compressionLevel:OZZipCompressionLevelNone]; - - [self log:@"Test 1: writing to second file's stream..."]; - - NSString *text2= @"XYZ"; - [stream2 writeData:[text2 dataUsingEncoding:NSUTF8StringEncoding]]; - - [self log:@"Test 1: closing second file's stream..."]; - - [stream2 finishedWriting]; - - [self log:@"Test 1: closing zip file..."]; - - [zipFile close]; - - [self log:@"Test 1: opening zip file for reading..."]; - - OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; - - [self log:@"Test 1: reading file infos..."]; - - NSArray *infos= [unzipFile listFileInZipInfos]; - for (OZFileInZipInfo *info in infos) - [self log:@"Test 1: - %@ %@ %d (%d)", info.name, info.date, info.size, info.level]; - - [self log:@"Test 1: opening first file..."]; - - [unzipFile goToFirstFileInZip]; - OZZipReadStream *read1= [unzipFile readCurrentFileInZip]; - - [self log:@"Test 1: reading from first file's stream..."]; - - NSMutableData *data1= [[NSMutableData alloc] initWithLength:256]; - NSUInteger bytesRead1= [read1 readDataWithBuffer:data1]; - - BOOL ok= NO; - if (bytesRead1 == 3) { - NSString *fileText1= [[NSString alloc] initWithBytes:[data1 bytes] length:bytesRead1 encoding:NSUTF8StringEncoding]; - if ([fileText1 isEqualToString:@"abc"]) - ok= YES; - } - - if (ok) - [self log:@"Test 1: content of first file is OK"]; - else - [self log:@"Test 1: content of first file is WRONG"]; - - [self log:@"Test 1: closing first file's stream..."]; - - [read1 finishedReading]; - - [self log:@"Test 1: opening second file..."]; - - [unzipFile locateFileInZip:file2name]; - OZZipReadStream *read2= [unzipFile readCurrentFileInZip]; - - [self log:@"Test 1: reading from second file's stream..."]; - - NSMutableData *data2= [[NSMutableData alloc] initWithLength:256]; - NSUInteger bytesRead2= [read2 readDataWithBuffer:data2]; - - ok= NO; - if (bytesRead2 == 3) { - NSString *fileText2= [[NSString alloc] initWithBytes:[data2 bytes] length:bytesRead2 encoding:NSUTF8StringEncoding]; - if ([fileText2 isEqualToString:@"XYZ"]) - ok= YES; - } - - if (ok) - [self log:@"Test 1: content of second file is OK"]; - else - [self log:@"Test 1: content of second file is WRONG"]; - - [self log:@"Test 1: closing second file's stream..."]; - - [read2 finishedReading]; - - [self log:@"Test 1: closing zip file..."]; - - [unzipFile close]; - - [self log:@"Test 1: test terminated succesfully"]; - - } @catch (OZZipException *ze) { - [self log:@"Test 1: caught a ZipException (see logs), terminating..."]; - - NSLog(@"Test 1: ZipException caught: %ld - %@", (long) ze.error, [ze reason]); - - } @catch (id e) { - [self log:@"Test 1: caught a generic exception (see logs), terminating..."]; - - NSLog(@"Test 1: Exception caught: %@ - %@", [[e class] description], [e description]); - - } @finally { - [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; - } - } -} - - -#pragma mark - -#pragma mark Test 2: zip & unzip 5 GB - -- (void) test2 { - @autoreleasepool { - - NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; - NSString *filePath= [documentsDir stringByAppendingPathComponent:@"huge_test.zip"]; - - @try { - [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; - - [self log:@"Test 2: opening zip file for writing..."]; - - OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate]; - - [self log:@"Test 2: adding file..."]; - - OZZipWriteStream *stream= [zipFile writeFileInZipWithName:@"huge_file.txt" compressionLevel:OZZipCompressionLevelBest]; - - [self log:@"Test 2: writing to file's stream..."]; - - NSMutableData *data= [[NSMutableData alloc] initWithLength:HUGE_TEST_BLOCK_LENGTH]; - SecRandomCopyBytes(kSecRandomDefault, [data length], [data mutableBytes]); - - NSData *checkData= [data subdataWithRange:NSMakeRange(0, 100)]; - - NSMutableData *buffer= [[NSMutableData alloc] initWithLength:HUGE_TEST_BLOCK_LENGTH]; // For use later - - for (int i= 0; i < HUGE_TEST_NUMBER_OF_BLOCKS; i++) { - [stream writeData:data]; - - if (i % 100 == 0) - [self log:@"Test 2: written %d KB...", ([data length] / 1024) * (i +1)]; - } - - [self log:@"Test 2: closing file's stream..."]; - - [stream finishedWriting]; - - [self log:@"Test 2: closing zip file..."]; - - [zipFile close]; - - [self log:@"Test 2: opening zip file for reading..."]; - - OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; - - [self log:@"Test 2: opening file..."]; - - [unzipFile goToFirstFileInZip]; - OZZipReadStream *read= [unzipFile readCurrentFileInZip]; - - [self log:@"Test 2: reading from file's stream..."]; - - for (int i= 0; i < HUGE_TEST_NUMBER_OF_BLOCKS; i++) { - NSUInteger bytesRead= [read readDataWithBuffer:buffer]; - - BOOL ok= NO; - if (bytesRead == [data length]) { - NSRange range= [buffer rangeOfData:checkData options:0 range:NSMakeRange(0, [buffer length])]; - if (range.location == 0) - ok= YES; - } - - if (!ok) - [self log:@"Test 2: content of file is WRONG at position %d KB", ([buffer length] / 1024) * i]; - - if (i % 100 == 0) - [self log:@"Test 2: read %d KB...", ([buffer length] / 1024) * (i +1)]; - } - - [self log:@"Test 2: closing file's stream..."]; - - [read finishedReading]; - - [self log:@"Test 2: closing zip file..."]; - - [unzipFile close]; - - [self log:@"Test 2: test terminated succesfully"]; - - } @catch (OZZipException *ze) { - [self log:@"Test 2: caught a ZipException (see logs), terminating..."]; - - NSLog(@"Test 2: ZipException caught: %ld - %@", (long) ze.error, [ze reason]); - - } @catch (id e) { - [self log:@"Test 2: caught a generic exception (see logs), terminating..."]; - - NSLog(@"Test 2: Exception caught: %@ - %@", [[e class] description], [e description]); - - } @finally { - [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; - } - - } -} - - -#pragma mark - -#pragma mark Test 3: unzip & check Mac zip file - -- (void) test3 { - @autoreleasepool { - - NSString *filePath= [[NSBundle mainBundle] pathForResource:@"mac_test_file" ofType:@"zip"]; - - @try { - [self log:@"Test 3: opening zip file for reading..."]; - - OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; - - [self log:@"Test 3: opening file..."]; - - [unzipFile goToFirstFileInZip]; - OZZipReadStream *read= [unzipFile readCurrentFileInZip]; - - [self log:@"Test 3: reading from file's stream..."]; - - NSMutableData *buffer= [[NSMutableData alloc] initWithLength:1024]; - - NSUInteger bytesRead= [read readDataWithBuffer:buffer]; - - NSString *fileText= [[NSString alloc] initWithBytes:[buffer bytes] length:bytesRead encoding:NSUTF8StringEncoding]; - if ([fileText isEqualToString:@"Objective-Zip Mac test file\n"]) - [self log:@"Test 3: content of Mac file is OK"]; - else - [self log:@"Test 3: content of Mac file is WRONG"]; - - [self log:@"Test 3: closing file's stream..."]; - - [read finishedReading]; - - [self log:@"Test 3: closing zip file..."]; - - [unzipFile close]; - - [self log:@"Test 3: test terminated succesfully"]; - - } @catch (OZZipException *ze) { - [self log:@"Test 3: caught a ZipException (see logs), terminating..."]; - - NSLog(@"Test 3: ZipException caught: %ld - %@", (long) ze.error, [ze reason]); - - } @catch (id e) { - [self log:@"Test 3: caught a generic exception (see logs), terminating..."]; - - NSLog(@"Test 3: Exception caught: %@ - %@", [[e class] description], [e description]); - } - } -} - - -#pragma mark - -#pragma mark Test 4: unzip & check Win zip file - -- (void) test4 { - @autoreleasepool { - - NSString *filePath= [[NSBundle mainBundle] pathForResource:@"win_test_file" ofType:@"zip"]; - - @try { - [self log:@"Test 4: opening zip file for reading..."]; - - OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; - - [self log:@"Test 4: opening file..."]; - - [unzipFile goToFirstFileInZip]; - OZZipReadStream *read= [unzipFile readCurrentFileInZip]; - - [self log:@"Test 4: reading from file's stream..."]; - - NSMutableData *buffer= [[NSMutableData alloc] initWithLength:1024]; - - NSUInteger bytesRead= [read readDataWithBuffer:buffer]; - - NSString *fileText= [[NSString alloc] initWithBytes:[buffer bytes] length:bytesRead encoding:NSUTF8StringEncoding]; - if ([fileText isEqualToString:@"Objective-Zip Windows test file\r\n"]) - [self log:@"Test 4: content of Win file is OK"]; - else - [self log:@"Test 4: content of Win file is WRONG"]; - - [self log:@"Test 4: closing file's stream..."]; - - [read finishedReading]; - - [self log:@"Test 4: closing zip file..."]; - - [unzipFile close]; - - [self log:@"Test 4: test terminated succesfully"]; - - } @catch (OZZipException *ze) { - [self log:@"Test 4: caught a ZipException (see logs), terminating..."]; - - NSLog(@"Test 4: ZipException caught: %ld - %@", (long) ze.error, [ze reason]); - - } @catch (id e) { - [self log:@"Test 4: caught a generic exception (see logs), terminating..."]; - - NSLog(@"Test 4: Exception caught: %@ - %@", [[e class] description], [e description]); - } - } -} - -#pragma mark - -#pragma mark Test 5: error wrapping - -- (void) test5 { - @autoreleasepool { - - NSString *filePath= @"/root.zip"; - - @try { - [self log:@"Test 5: opening impossible zip file for writing..."]; - - OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate]; - - [self log:@"Test 5: test failed, no error reported"]; - - [zipFile close]; - - } @catch (OZZipException *ze) { - if (ze.error != ERROR_NO_SUCH_FILE) { - [self log:@"Test 5: test failed, wrong error reported"]; - - } else { - [self log:@"Test 5: correct error reported"]; - } - - } @catch (id e) { - [self log:@"Test 5: caught a generic exception (see logs)"]; - - NSLog(@"Test 5: Exception caught: %@ - %@", [[e class] description], [e description]); - } - - @try { - [self log:@"Test 5: opening again impossible zip file for writing..."]; - - NSError *error= nil; - OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate error:&error]; - - if (zipFile || (!error)) { - [self log:@"Test 5: test failed, no error reported"]; - - [zipFile close]; - - } else { - if (error.code != ERROR_NO_SUCH_FILE) { - [self log:@"Test 5: test failed, wrong error reported"]; - - } else { - [self log:@"Test 5: correct error reported"]; - [self log:@"Test 5: test terminated succesfully"]; - } - } - - } @catch (id e) { - [self log:@"Test 5: caught a generic exception (see logs), terminating..."]; - - NSLog(@"Test 5: Exception caught: %@ - %@", [[e class] description], [e description]); - } - } -} - - -#pragma mark - -#pragma mark Logging - -- (void) log:(NSString *)format, ... { - - // Variable arguments formatting - va_list arguments; - va_start(arguments, format); - NSString *logLine= [[NSString alloc] initWithFormat:format arguments:arguments]; - va_end(arguments); - - [self performSelectorOnMainThread:@selector(printLog:) withObject:logLine waitUntilDone:YES]; - -} - -- (void) printLog:(NSString *)logLine { - NSLog(@"%@", logLine); - - _textView.text= [_textView.text stringByAppendingString:logLine]; - _textView.text= [_textView.text stringByAppendingString:@"\n"]; - - NSRange range; - range.location= [_textView.text length] -6; - range.length= 5; - [_textView scrollRangeToVisible:range]; -} - - -@end diff --git a/Default.png b/Default.png deleted file mode 100644 index 6d807a4..0000000 Binary files a/Default.png and /dev/null differ diff --git a/MainWindow.xib b/MainWindow.xib deleted file mode 100644 index 12032ff..0000000 --- a/MainWindow.xib +++ /dev/null @@ -1,219 +0,0 @@ - - - - 784 - 10A394 - 732 - 1027.1 - 430.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 60 - - - YES - - - - YES - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - YES - - YES - - - YES - - - - YES - - IBFilesOwner - - - IBFirstResponder - - - - Objective_ZipViewController - - - - - 292 - {320, 480} - - 1 - MSAxIDEAA - - NO - NO - - - - - - YES - - - delegate - - - - 4 - - - - viewController - - - - 11 - - - - window - - - - 14 - - - - - YES - - 0 - - - - - - -1 - - - File's Owner - - - 3 - - - Objective_Zip App Delegate - - - -2 - - - - - 10 - - - - - 12 - - - - - - - YES - - YES - -1.CustomClassName - -2.CustomClassName - 10.CustomClassName - 10.IBEditorWindowLastContentRect - 10.IBPluginDependency - 12.IBEditorWindowLastContentRect - 12.IBPluginDependency - 3.CustomClassName - 3.IBPluginDependency - - - YES - UIApplication - UIResponder - Objective_ZipViewController - {{512, 351}, {320, 480}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{525, 346}, {320, 480}} - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - Objective_ZipAppDelegate - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - YES - - - YES - - - - - YES - - - YES - - - - 14 - - - - YES - - Objective_ZipAppDelegate - NSObject - - YES - - YES - viewController - window - - - YES - Objective_ZipViewController - UIWindow - - - - IBProjectSource - Classes/Objective_ZipAppDelegate.h - - - - Objective_ZipAppDelegate - NSObject - - IBUserSource - - - - - Objective_ZipViewController - UIViewController - - IBProjectSource - Classes/Objective_ZipViewController.h - - - - - 0 - - com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 - - - YES - Objective-Zip.xcodeproj - 3 - 3.1 - - diff --git a/Objective_Zip-Info.plist b/Objective-Zip Tests/Info.plist similarity index 55% rename from Objective_Zip-Info.plist rename to Objective-Zip Tests/Info.plist index 27680c9..9abeea2 100644 --- a/Objective_Zip-Info.plist +++ b/Objective-Zip Tests/Info.plist @@ -3,28 +3,22 @@ CFBundleDevelopmentRegion - English - CFBundleDisplayName - ${PRODUCT_NAME} + en CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - ObjectiveZipIcon.png + $(EXECUTABLE_NAME) CFBundleIdentifier - com.yourcompany.${PRODUCT_NAME:rfc1034identifier} + com.flyingdolphinstudio.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName - ${PRODUCT_NAME} + $(PRODUCT_NAME) CFBundlePackageType - APPL + BNDL + CFBundleShortVersionString + 1.0 CFBundleSignature ???? CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - NSMainNibFile - MainWindow + 1 diff --git a/Objective-Zip Tests/ObjectiveZip_Tests.m b/Objective-Zip Tests/ObjectiveZip_Tests.m new file mode 100644 index 0000000..2c77b17 --- /dev/null +++ b/Objective-Zip Tests/ObjectiveZip_Tests.m @@ -0,0 +1,449 @@ +// +// ObjectiveZip_Tests.m +// Objective-Zip +// +// Created by Gianluca Bertani on 29/08/15. +// +// + +#import + +#import "Objective-Zip.h" + +#define HUGE_TEST_BLOCK_LENGTH (50000) +#define HUGE_TEST_NUMBER_OF_BLOCKS (100000) + +#define MAC_TEST_ZIP (@"UEsDBBQACAAIAPWF10IAAAAAAAAAAAAAAAANABAAdGVzdF9maWxlLnR4dFVYDACQCsdRjQrHUfYB9gHzT8pKTS7JLEvVjcosUPBNTFYoSS0uUUjLzEnlAgBQSwcIlXE92h4AAAAcAAAAUEsDBAoAAAAAAACG10IAAAAAAAAAAAAAAAAJABAAX19NQUNPU1gvVVgMAKAKx1GgCsdR9gH2AVBLAwQUAAgACAD1hddCAAAAAAAAAAAAAAAAGAAQAF9fTUFDT1NYLy5fdGVzdF9maWxlLnR4dFVYDACQCsdRjQrHUfYB9gFjYBVjZ2BiYPBNTFbwD1aIUIACkBgDJxAbAXElEIP4qxmIAo4hIUFQJkjHHCDmR1PCiBAXT87P1UssKMhJ1QtJrShxzUvOT8nMSwdKlpak6VpYGxqbGBmaW1qYAABQSwcIcBqNwF0AAACrAAAAUEsBAhUDFAAIAAgA9YXXQpVxPdoeAAAAHAAAAA0ADAAAAAAAAAAAQKSBAAAAAHRlc3RfZmlsZS50eHRVWAgAkArHUY0Kx1FQSwECFQMKAAAAAAAAhtdCAAAAAAAAAAAAAAAACQAMAAAAAAAAAABA/UFpAAAAX19NQUNPU1gvVVgIAKAKx1GgCsdRUEsBAhUDFAAIAAgA9YXXQnAajcBdAAAAqwAAABgADAAAAAAAAAAAQKSBoAAAAF9fTUFDT1NYLy5fdGVzdF9maWxlLnR4dFVYCACQCsdRjQrHUVBLBQYAAAAAAwADANwAAABTAQAAAAA=") +#define WIN_TEST_ZIP (@"UEsDBBQAAAAAAMmF10L4VbPKIQAAACEAAAANAAAAdGVzdF9maWxlLnR4dE9iamVjdGl2ZS1aaXAgV2luZG93cyB0ZXN0IGZpbGUNClBLAQIUABQAAAAAAMmF10L4VbPKIQAAACEAAAANAAAAAAAAAAEAIAAAAAAAAAB0ZXN0X2ZpbGUudHh0UEsFBgAAAAABAAEAOwAAAEwAAAAAAA==") + + +#pragma mark - +#pragma mark ObjectiveZip_Tests declaration + +@interface ObjectiveZip_Tests : XCTestCase +@end + + +#pragma mark - +#pragma mark ObjectiveZip_Tests implementation + +@implementation ObjectiveZip_Tests + + +#pragma mark - +#pragma mark Set up and tear down + +- (void) setUp { + [super setUp]; +} + +- (void) tearDown { + [super tearDown]; +} + + +#pragma mark - +#pragma mark Tests + +- (void) test01ZipAndUnzip { + NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + NSString *filePath= [documentsDir stringByAppendingPathComponent:@"test.zip"]; + + @try { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + + NSLog(@"Test 1: opening zip file for writing..."); + + OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate]; + + XCTAssertNotNil(zipFile); + + NSLog(@"Test 1: adding first file..."); + + OZZipWriteStream *stream1= [zipFile writeFileInZipWithName:@"abc.txt" fileDate:[NSDate dateWithTimeIntervalSinceNow:-86400.0] compressionLevel:OZZipCompressionLevelBest]; + + XCTAssertNotNil(stream1); + + NSLog(@"Test 1: writing to first file's stream..."); + + NSString *text= @"abc"; + [stream1 writeData:[text dataUsingEncoding:NSUTF8StringEncoding]]; + + NSLog(@"Test 1: closing first file's stream..."); + + [stream1 finishedWriting]; + + NSLog(@"Test 1: adding second file..."); + + NSString *file2name= @"x/y/z/xyz.txt"; + OZZipWriteStream *stream2= [zipFile writeFileInZipWithName:file2name compressionLevel:OZZipCompressionLevelNone]; + + XCTAssertNotNil(stream2); + + NSLog(@"Test 1: writing to second file's stream..."); + + NSString *text2= @"XYZ"; + [stream2 writeData:[text2 dataUsingEncoding:NSUTF8StringEncoding]]; + + NSLog(@"Test 1: closing second file's stream..."); + + [stream2 finishedWriting]; + + NSLog(@"Test 1: closing zip file..."); + + [zipFile close]; + + NSLog(@"Test 1: opening zip file for reading..."); + + OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; + + XCTAssertNotNil(unzipFile); + + NSLog(@"Test 1: reading file infos..."); + + NSArray *infos= [unzipFile listFileInZipInfos]; + + XCTAssertEqual(2, infos.count); + + OZFileInZipInfo *info1= [infos objectAtIndex:0]; + + XCTAssertEqualWithAccuracy([[NSDate date] timeIntervalSinceReferenceDate], [info1.date timeIntervalSinceReferenceDate] + 86400, 5.0); + + NSLog(@"Test 1: - %@ %@ %lu (%d)", info1.name, info1.date, (unsigned long) info1.size, info1.level); + + OZFileInZipInfo *info2= [infos objectAtIndex:1]; + + XCTAssertEqualWithAccuracy([[NSDate date] timeIntervalSinceReferenceDate], [info2.date timeIntervalSinceReferenceDate], 5.0); + + NSLog(@"Test 1: - %@ %@ %lu (%d)", info2.name, info2.date, (unsigned long) info2.size, info2.level); + + NSLog(@"Test 1: opening first file..."); + + [unzipFile goToFirstFileInZip]; + OZZipReadStream *read1= [unzipFile readCurrentFileInZip]; + + XCTAssertNotNil(read1); + + NSLog(@"Test 1: reading from first file's stream..."); + + NSMutableData *data1= [[NSMutableData alloc] initWithLength:256]; + NSUInteger bytesRead1= [read1 readDataWithBuffer:data1]; + + XCTAssertEqual(3, bytesRead1); + + NSString *fileText1= [[NSString alloc] initWithBytes:[data1 bytes] length:bytesRead1 encoding:NSUTF8StringEncoding]; + + XCTAssertEqualObjects(@"abc", fileText1); + + NSLog(@"Test 1: closing first file's stream..."); + + [read1 finishedReading]; + + NSLog(@"Test 1: opening second file..."); + + [unzipFile locateFileInZip:file2name]; + OZZipReadStream *read2= [unzipFile readCurrentFileInZip]; + + XCTAssertNotNil(read2); + + NSLog(@"Test 1: reading from second file's stream..."); + + NSMutableData *data2= [[NSMutableData alloc] initWithLength:256]; + NSUInteger bytesRead2= [read2 readDataWithBuffer:data2]; + + XCTAssertEqual(3, bytesRead1); + + NSString *fileText2= [[NSString alloc] initWithBytes:[data2 bytes] length:bytesRead2 encoding:NSUTF8StringEncoding]; + + XCTAssertEqualObjects(@"XYZ", fileText2); + + NSLog(@"Test 1: closing second file's stream..."); + + [read2 finishedReading]; + + NSLog(@"Test 1: closing zip file..."); + + [unzipFile close]; + + NSLog(@"Test 1: test terminated succesfully"); + + } @catch (OZZipException *ze) { + NSLog(@"Test 1: zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + XCTFail(@"Zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + } @catch (NSException *e) { + NSLog(@"Test 1: generic exception caught: %@ - %@", [[e class] description], [e description]); + + XCTFail(@"Generic exception caught: %@ - %@", [[e class] description], [e description]); + + } @finally { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + } +} + +- (void) test02ZipAndUnzip5GB { + +#warning Remove to enable this test, but be careful: takes 5 minutes and consumes 5 GB of disk space + return; + + NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + NSString *filePath= [documentsDir stringByAppendingPathComponent:@"huge_test.zip"]; + + @try { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + + NSLog(@"Test 2: opening zip file for writing..."); + + OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate]; + + XCTAssertNotNil(zipFile); + + NSLog(@"Test 2: adding file..."); + + OZZipWriteStream *stream= [zipFile writeFileInZipWithName:@"huge_file.txt" compressionLevel:OZZipCompressionLevelBest]; + + XCTAssertNotNil(stream); + + NSLog(@"Test 2: writing to file's stream..."); + + NSMutableData *data= [[NSMutableData alloc] initWithLength:HUGE_TEST_BLOCK_LENGTH]; + SecRandomCopyBytes(kSecRandomDefault, [data length], [data mutableBytes]); + + NSData *checkData= [data subdataWithRange:NSMakeRange(0, 100)]; + + NSMutableData *buffer= [[NSMutableData alloc] initWithLength:HUGE_TEST_BLOCK_LENGTH]; // For use later + + for (int i= 0; i < HUGE_TEST_NUMBER_OF_BLOCKS; i++) { + [stream writeData:data]; + + if (i % 100 == 0) + NSLog(@"Test 2: written %lu KB...", ([data length] / 1024) * (i +1)); + } + + NSLog(@"Test 2: closing file's stream..."); + + [stream finishedWriting]; + + NSLog(@"Test 2: closing zip file..."); + + [zipFile close]; + + NSLog(@"Test 2: opening zip file for reading..."); + + OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; + + XCTAssertNotNil(unzipFile); + + NSLog(@"Test 2: opening file..."); + + [unzipFile goToFirstFileInZip]; + OZZipReadStream *read= [unzipFile readCurrentFileInZip]; + + XCTAssertNotNil(read); + + NSLog(@"Test 2: reading from file's stream..."); + + for (int i= 0; i < HUGE_TEST_NUMBER_OF_BLOCKS; i++) { + NSUInteger bytesRead= [read readDataWithBuffer:buffer]; + + XCTAssertEqual([data length], bytesRead); + + NSRange range= [buffer rangeOfData:checkData options:0 range:NSMakeRange(0, [buffer length])]; + + XCTAssertEqual(0, range.location); + + if (i % 100 == 0) + NSLog(@"Test 2: read %lu KB...", ([buffer length] / 1024) * (i +1)); + } + + NSLog(@"Test 2: closing file's stream..."); + + [read finishedReading]; + + NSLog(@"Test 2: closing zip file..."); + + [unzipFile close]; + + NSLog(@"Test 2: test terminated succesfully"); + + } @catch (OZZipException *ze) { + NSLog(@"Test 2: zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + XCTFail(@"Zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + } @catch (NSException *e) { + NSLog(@"Test 2: generic exception caught: %@ - %@", [[e class] description], [e description]); + + XCTFail(@"Generic exception caught: %@ - %@", [[e class] description], [e description]); + + } @finally { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + } +} + +- (void) test03UnzipMacZipFile { + NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + NSString *filePath= [documentsDir stringByAppendingPathComponent:@"mac_test_file.zip"]; + + NSData *macZipData= [[NSData alloc] initWithBase64EncodedString:MAC_TEST_ZIP options:0]; + [macZipData writeToFile:filePath atomically:NO]; + + @try { + NSLog(@"Test 3: opening zip file for reading..."); + + OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; + + XCTAssertNotNil(unzipFile); + + NSLog(@"Test 3: opening file..."); + + [unzipFile goToFirstFileInZip]; + OZZipReadStream *read= [unzipFile readCurrentFileInZip]; + + XCTAssertNotNil(read); + + NSLog(@"Test 3: reading from file's stream..."); + + NSMutableData *buffer= [[NSMutableData alloc] initWithLength:1024]; + + NSUInteger bytesRead= [read readDataWithBuffer:buffer]; + + NSString *fileText= [[NSString alloc] initWithBytes:[buffer bytes] length:bytesRead encoding:NSUTF8StringEncoding]; + + XCTAssertEqualObjects(@"Objective-Zip Mac test file\n", fileText); + + NSLog(@"Test 3: closing file's stream..."); + + [read finishedReading]; + + NSLog(@"Test 3: closing zip file..."); + + [unzipFile close]; + + NSLog(@"Test 3: test terminated succesfully"); + + } @catch (OZZipException *ze) { + NSLog(@"Test 3: zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + XCTFail(@"Zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + } @catch (NSException *e) { + NSLog(@"Test 3: generic exception caught: %@ - %@", [[e class] description], [e description]); + + XCTFail(@"Generic exception caught: %@ - %@", [[e class] description], [e description]); + + } @finally { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + } +} + +- (void) test04UnzipWinZipFile { + NSString *documentsDir= [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; + NSString *filePath= [documentsDir stringByAppendingPathComponent:@"win_test_file.zip"]; + + NSData *winZipData= [[NSData alloc] initWithBase64EncodedString:WIN_TEST_ZIP options:0]; + [winZipData writeToFile:filePath atomically:NO]; + + @try { + NSLog(@"Test 4: opening zip file for reading..."); + + OZZipFile *unzipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeUnzip]; + + XCTAssertNotNil(unzipFile); + + NSLog(@"Test 4: opening file..."); + + [unzipFile goToFirstFileInZip]; + OZZipReadStream *read= [unzipFile readCurrentFileInZip]; + + XCTAssertNotNil(read); + + NSLog(@"Test 4: reading from file's stream..."); + + NSMutableData *buffer= [[NSMutableData alloc] initWithLength:1024]; + + NSUInteger bytesRead= [read readDataWithBuffer:buffer]; + + NSString *fileText= [[NSString alloc] initWithBytes:[buffer bytes] length:bytesRead encoding:NSUTF8StringEncoding]; + + XCTAssertEqualObjects(@"Objective-Zip Windows test file\r\n", fileText); + + NSLog(@"Test 4: closing file's stream..."); + + [read finishedReading]; + + NSLog(@"Test 4: closing zip file..."); + + [unzipFile close]; + + NSLog(@"Test 4: test terminated succesfully"); + + } @catch (OZZipException *ze) { + NSLog(@"Test 4: zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + XCTFail(@"Zip exception caught: %ld - %@", (long) ze.error, [ze reason]); + + } @catch (NSException *e) { + NSLog(@"Test 4: generic exception caught: %@ - %@", [[e class] description], [e description]); + + XCTFail(@"Generic exception caught: %@ - %@", [[e class] description], [e description]); + + } @finally { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + } +} + +- (void) test05ErrorWrapping { + NSString *filePath= @"/root.zip"; + + @try { + NSLog(@"Test 5: opening impossible zip file for writing..."); + + OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate]; + + [zipFile close]; + + NSLog(@"Test 5: test failed, no error reported"); + + XCTFail(@"No error reported"); + + } @catch (OZZipException *ze) { + + XCTAssertEqual(ERROR_NO_SUCH_FILE, ze.error); + + } @catch (NSException *e) { + NSLog(@"Test 5: generic exception caught: %@ - %@", [[e class] description], [e description]); + + XCTFail(@"Generic exception caught: %@ - %@", [[e class] description], [e description]); + + } @finally { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + } + + @try { + NSLog(@"Test 5: opening again impossible zip file for writing..."); + + NSError *error= nil; + OZZipFile *zipFile= [[OZZipFile alloc] initWithFileName:filePath mode:OZZipFileModeCreate error:&error]; + + [zipFile close]; + + XCTAssertNil(zipFile); + XCTAssertNotNil(error); + XCTAssertEqual(ERROR_NO_SUCH_FILE, error.code); + + NSLog(@"Test 5: test terminated succesfully"); + + } @catch (NSException *e) { + NSLog(@"Test 5: generic exception caught: %@ - %@", [[e class] description], [e description]); + + XCTFail(@"Generic exception caught: %@ - %@", [[e class] description], [e description]); + + } @finally { + [[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL]; + } +} + + +@end diff --git a/Objective-Zip.xcodeproj/project.pbxproj b/Objective-Zip.xcodeproj/project.pbxproj index c265646..c0f149e 100755 --- a/Objective-Zip.xcodeproj/project.pbxproj +++ b/Objective-Zip.xcodeproj/project.pbxproj @@ -7,59 +7,89 @@ objects = { /* Begin PBXBuildFile section */ - 1D3623260D0F684500981E51 /* Objective_ZipAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* Objective_ZipAppDelegate.m */; }; - 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; - 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; - 2899E5220DE3E06400AC0155 /* Objective_ZipViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* Objective_ZipViewController.xib */; }; - 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; - 28D7ACF80DDB3853001CB0EB /* Objective_ZipViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* Objective_ZipViewController.m */; }; - 8C14E8191773A09F00B84597 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C14E8181773A09F00B84597 /* Security.framework */; }; - 8C1D598D1771057D006D69C3 /* GETTING_STARTED.md in Resources */ = {isa = PBXBuildFile; fileRef = 8C1D598B1771057D006D69C3 /* GETTING_STARTED.md */; }; - 8C1D598E1771057D006D69C3 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 8C1D598C1771057D006D69C3 /* README.md */; }; - 8C6D352D10E56A9000B63EFA /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352510E56A9000B63EFA /* ioapi.c */; }; - 8C6D352F10E56A9000B63EFA /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352910E56A9000B63EFA /* unzip.c */; }; - 8C6D353010E56A9000B63EFA /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352B10E56A9000B63EFA /* zip.c */; }; - 8C6D354010E56BD300B63EFA /* OZZipFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D353F10E56BD300B63EFA /* OZZipFile.m */; }; - 8C6D356B10E56F4D00B63EFA /* OZZipException.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D356A10E56F4D00B63EFA /* OZZipException.m */; }; - 8C6D357610E5797600B63EFA /* OZZipWriteStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D357510E5797600B63EFA /* OZZipWriteStream.m */; }; - 8C83F49510E7CBCB002FB3CB /* OZFileInZipInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C83F49410E7CBCB002FB3CB /* OZFileInZipInfo.m */; }; - 8C8F2D3A10EBC94B00F75833 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C8F2D3910EBC94B00F75833 /* Default.png */; }; - 8C8F2D9310EBCE0300F75833 /* ObjectiveZipIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 8C8F2D9210EBCE0300F75833 /* ObjectiveZipIcon.png */; }; - 8CBE431810E95FA300AC9ED3 /* OZZipReadStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CBE431710E95FA300AC9ED3 /* OZZipReadStream.m */; }; - 8CD8B40317766067005212EC /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3E917766067005212EC /* adler32.c */; }; - 8CD8B40417766067005212EC /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EA17766067005212EC /* compress.c */; }; - 8CD8B40517766067005212EC /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EB17766067005212EC /* crc32.c */; }; - 8CD8B40617766067005212EC /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3ED17766067005212EC /* deflate.c */; }; - 8CD8B40717766067005212EC /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EF17766067005212EC /* gzclose.c */; }; - 8CD8B40817766067005212EC /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F117766067005212EC /* gzlib.c */; }; - 8CD8B40917766067005212EC /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F217766067005212EC /* gzread.c */; }; - 8CD8B40A17766067005212EC /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F317766067005212EC /* gzwrite.c */; }; - 8CD8B40B17766067005212EC /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F417766067005212EC /* infback.c */; }; - 8CD8B40C17766067005212EC /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F517766067005212EC /* inffast.c */; }; - 8CD8B40D17766067005212EC /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F817766067005212EC /* inflate.c */; }; - 8CD8B40E17766067005212EC /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FA17766067005212EC /* inftrees.c */; }; - 8CD8B40F17766067005212EC /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FC17766067005212EC /* trees.c */; }; - 8CD8B41017766067005212EC /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FE17766067005212EC /* uncompr.c */; }; - 8CD8B41117766067005212EC /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B40117766067005212EC /* zutil.c */; }; - 8CE370031777427E0082BEE9 /* mac_test_file.zip in Resources */ = {isa = PBXBuildFile; fileRef = 8CE370011777427E0082BEE9 /* mac_test_file.zip */; }; - 8CE370041777427E0082BEE9 /* win_test_file.zip in Resources */ = {isa = PBXBuildFile; fileRef = 8CE370021777427E0082BEE9 /* win_test_file.zip */; }; + 8CC2FC631B91E63E00D5E05F /* libObjective-Zip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CC2FC581B91E63E00D5E05F /* libObjective-Zip.a */; }; + 8CC2FC7E1B91E65200D5E05F /* libObjective-Zip_OS_X.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8CC2FC731B91E65200D5E05F /* libObjective-Zip_OS_X.a */; }; + 8CC2FC8A1B91E6F000D5E05F /* OZZipFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D353F10E56BD300B63EFA /* OZZipFile.m */; }; + 8CC2FC8B1B91E6F000D5E05F /* OZZipException.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D356A10E56F4D00B63EFA /* OZZipException.m */; }; + 8CC2FC8C1B91E6F000D5E05F /* OZZipWriteStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D357510E5797600B63EFA /* OZZipWriteStream.m */; }; + 8CC2FC8D1B91E6F000D5E05F /* OZFileInZipInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C83F49410E7CBCB002FB3CB /* OZFileInZipInfo.m */; }; + 8CC2FC8E1B91E6F000D5E05F /* OZZipReadStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CBE431710E95FA300AC9ED3 /* OZZipReadStream.m */; }; + 8CC2FC8F1B91E6FD00D5E05F /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352510E56A9000B63EFA /* ioapi.c */; }; + 8CC2FC901B91E6FD00D5E05F /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352910E56A9000B63EFA /* unzip.c */; }; + 8CC2FC911B91E6FD00D5E05F /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352B10E56A9000B63EFA /* zip.c */; }; + 8CC2FC921B91E6FD00D5E05F /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3E917766067005212EC /* adler32.c */; }; + 8CC2FC931B91E6FD00D5E05F /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EA17766067005212EC /* compress.c */; }; + 8CC2FC941B91E6FD00D5E05F /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EB17766067005212EC /* crc32.c */; }; + 8CC2FC951B91E6FD00D5E05F /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3ED17766067005212EC /* deflate.c */; }; + 8CC2FC961B91E6FD00D5E05F /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EF17766067005212EC /* gzclose.c */; }; + 8CC2FC971B91E6FD00D5E05F /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F117766067005212EC /* gzlib.c */; }; + 8CC2FC981B91E6FD00D5E05F /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F217766067005212EC /* gzread.c */; }; + 8CC2FC991B91E6FD00D5E05F /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F317766067005212EC /* gzwrite.c */; }; + 8CC2FC9A1B91E6FD00D5E05F /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F417766067005212EC /* infback.c */; }; + 8CC2FC9B1B91E6FD00D5E05F /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F517766067005212EC /* inffast.c */; }; + 8CC2FC9C1B91E6FD00D5E05F /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F817766067005212EC /* inflate.c */; }; + 8CC2FC9D1B91E6FD00D5E05F /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FA17766067005212EC /* inftrees.c */; }; + 8CC2FC9E1B91E6FD00D5E05F /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FC17766067005212EC /* trees.c */; }; + 8CC2FC9F1B91E6FD00D5E05F /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FE17766067005212EC /* uncompr.c */; }; + 8CC2FCA01B91E6FD00D5E05F /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B40117766067005212EC /* zutil.c */; }; + 8CC2FCA11B91E70D00D5E05F /* OZZipFile.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D353F10E56BD300B63EFA /* OZZipFile.m */; }; + 8CC2FCA21B91E70D00D5E05F /* OZZipException.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D356A10E56F4D00B63EFA /* OZZipException.m */; }; + 8CC2FCA31B91E70D00D5E05F /* OZZipWriteStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D357510E5797600B63EFA /* OZZipWriteStream.m */; }; + 8CC2FCA41B91E70D00D5E05F /* OZFileInZipInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C83F49410E7CBCB002FB3CB /* OZFileInZipInfo.m */; }; + 8CC2FCA51B91E70D00D5E05F /* OZZipReadStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CBE431710E95FA300AC9ED3 /* OZZipReadStream.m */; }; + 8CC2FCA61B91E71700D5E05F /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352510E56A9000B63EFA /* ioapi.c */; }; + 8CC2FCA71B91E71700D5E05F /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352910E56A9000B63EFA /* unzip.c */; }; + 8CC2FCA81B91E71700D5E05F /* zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C6D352B10E56A9000B63EFA /* zip.c */; }; + 8CC2FCA91B91E71700D5E05F /* adler32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3E917766067005212EC /* adler32.c */; }; + 8CC2FCAA1B91E71700D5E05F /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EA17766067005212EC /* compress.c */; }; + 8CC2FCAB1B91E71700D5E05F /* crc32.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EB17766067005212EC /* crc32.c */; }; + 8CC2FCAC1B91E71700D5E05F /* deflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3ED17766067005212EC /* deflate.c */; }; + 8CC2FCAD1B91E71700D5E05F /* gzclose.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3EF17766067005212EC /* gzclose.c */; }; + 8CC2FCAE1B91E71700D5E05F /* gzlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F117766067005212EC /* gzlib.c */; }; + 8CC2FCAF1B91E71700D5E05F /* gzread.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F217766067005212EC /* gzread.c */; }; + 8CC2FCB01B91E71700D5E05F /* gzwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F317766067005212EC /* gzwrite.c */; }; + 8CC2FCB11B91E71700D5E05F /* infback.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F417766067005212EC /* infback.c */; }; + 8CC2FCB21B91E71700D5E05F /* inffast.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F517766067005212EC /* inffast.c */; }; + 8CC2FCB31B91E71700D5E05F /* inflate.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3F817766067005212EC /* inflate.c */; }; + 8CC2FCB41B91E71700D5E05F /* inftrees.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FA17766067005212EC /* inftrees.c */; }; + 8CC2FCB51B91E71700D5E05F /* trees.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FC17766067005212EC /* trees.c */; }; + 8CC2FCB61B91E71700D5E05F /* uncompr.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B3FE17766067005212EC /* uncompr.c */; }; + 8CC2FCB71B91E71700D5E05F /* zutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 8CD8B40117766067005212EC /* zutil.c */; }; + 8CC2FCB91B91EB3500D5E05F /* ObjectiveZip_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CC2FCB81B91EB3500D5E05F /* ObjectiveZip_Tests.m */; }; + 8CC2FCBA1B91EB3500D5E05F /* ObjectiveZip_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CC2FCB81B91EB3500D5E05F /* ObjectiveZip_Tests.m */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 8CC2FC641B91E63E00D5E05F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8CC2FC571B91E63E00D5E05F; + remoteInfo = "Objective-Zip"; + }; + 8CC2FC7F1B91E65200D5E05F /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8CC2FC721B91E65200D5E05F; + remoteInfo = "Objective-Zip OS X"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 8CC2FC561B91E63E00D5E05F /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D3623240D0F684500981E51 /* Objective_ZipAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Objective_ZipAppDelegate.h; sourceTree = ""; }; - 1D3623250D0F684500981E51 /* Objective_ZipAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Objective_ZipAppDelegate.m; sourceTree = ""; }; - 1D6058910D05DD3D006BFB54 /* Objective-Zip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Objective-Zip.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 2899E5210DE3E06400AC0155 /* Objective_ZipViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Objective_ZipViewController.xib; sourceTree = ""; }; - 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = ""; }; - 28D7ACF60DDB3853001CB0EB /* Objective_ZipViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Objective_ZipViewController.h; sourceTree = ""; }; - 28D7ACF70DDB3853001CB0EB /* Objective_ZipViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Objective_ZipViewController.m; sourceTree = ""; }; - 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 32CA4F630368D1EE00C91783 /* Objective_Zip_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Objective_Zip_Prefix.pch; sourceTree = ""; }; 8C14E8181773A09F00B84597 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 8C1D598B1771057D006D69C3 /* GETTING_STARTED.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GETTING_STARTED.md; sourceTree = ""; }; 8C1D598C1771057D006D69C3 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; sourceTree = ""; }; @@ -78,10 +108,14 @@ 8C6D357510E5797600B63EFA /* OZZipWriteStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OZZipWriteStream.m; path = "Objective-Zip/OZZipWriteStream.m"; sourceTree = ""; }; 8C83F49310E7CBCB002FB3CB /* OZFileInZipInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OZFileInZipInfo.h; path = "Objective-Zip/OZFileInZipInfo.h"; sourceTree = ""; }; 8C83F49410E7CBCB002FB3CB /* OZFileInZipInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OZFileInZipInfo.m; path = "Objective-Zip/OZFileInZipInfo.m"; sourceTree = ""; }; - 8C8F2D3910EBC94B00F75833 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - 8C8F2D9210EBCE0300F75833 /* ObjectiveZipIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ObjectiveZipIcon.png; sourceTree = ""; }; 8CBE431610E95FA300AC9ED3 /* OZZipReadStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OZZipReadStream.h; path = "Objective-Zip/OZZipReadStream.h"; sourceTree = ""; }; 8CBE431710E95FA300AC9ED3 /* OZZipReadStream.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OZZipReadStream.m; path = "Objective-Zip/OZZipReadStream.m"; sourceTree = ""; }; + 8CC2FC581B91E63E00D5E05F /* libObjective-Zip.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libObjective-Zip.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8CC2FC621B91E63E00D5E05F /* Objective-Zip Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Objective-Zip Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8CC2FC681B91E63E00D5E05F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8CC2FC731B91E65200D5E05F /* libObjective-Zip_OS_X.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libObjective-Zip_OS_X.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8CC2FC7D1B91E65200D5E05F /* Objective-Zip OS X Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Objective-Zip OS X Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8CC2FCB81B91EB3500D5E05F /* ObjectiveZip_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ObjectiveZip_Tests.m; path = "Objective-Zip Tests/ObjectiveZip_Tests.m"; sourceTree = SOURCE_ROOT; }; 8CC6A7931B8F5B360062D97E /* Objective-Zip.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "Objective-Zip.h"; path = "Objective-Zip/Objective-Zip.h"; sourceTree = ""; }; 8CC6A7941B8F5C370062D97E /* OZZipFileMode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OZZipFileMode.h; path = "Objective-Zip/OZZipFileMode.h"; sourceTree = ""; }; 8CC6A7951B8F5C810062D97E /* OZZipCompressionLevel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OZZipCompressionLevel.h; path = "Objective-Zip/OZZipCompressionLevel.h"; sourceTree = ""; }; @@ -115,41 +149,49 @@ 8CD8B40017766067005212EC /* zlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = ZLib/zlib.h; sourceTree = ""; }; 8CD8B40117766067005212EC /* zutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = ZLib/zutil.c; sourceTree = ""; }; 8CD8B40217766067005212EC /* zutil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = ZLib/zutil.h; sourceTree = ""; }; - 8CE370011777427E0082BEE9 /* mac_test_file.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = mac_test_file.zip; sourceTree = ""; }; - 8CE370021777427E0082BEE9 /* win_test_file.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = win_test_file.zip; sourceTree = ""; }; - 8D1107310486CEB800E47090 /* Objective_Zip-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Objective_Zip-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { + 8CC2FC551B91E63E00D5E05F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8C14E8191773A09F00B84597 /* Security.framework in Frameworks */, - 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, - 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, - 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC5F1B91E63E00D5E05F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8CC2FC631B91E63E00D5E05F /* libObjective-Zip.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC701B91E65200D5E05F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC7A1B91E65200D5E05F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8CC2FC7E1B91E65200D5E05F /* libObjective-Zip_OS_X.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 080E96DDFE201D6D7F000001 /* Classes */ = { - isa = PBXGroup; - children = ( - 1D3623240D0F684500981E51 /* Objective_ZipAppDelegate.h */, - 1D3623250D0F684500981E51 /* Objective_ZipAppDelegate.m */, - 28D7ACF60DDB3853001CB0EB /* Objective_ZipViewController.h */, - 28D7ACF70DDB3853001CB0EB /* Objective_ZipViewController.m */, - ); - path = Classes; - sourceTree = ""; - }; 19C28FACFE9D520D11CA2CBB /* Products */ = { isa = PBXGroup; children = ( - 1D6058910D05DD3D006BFB54 /* Objective-Zip.app */, + 8CC2FC581B91E63E00D5E05F /* libObjective-Zip.a */, + 8CC2FC621B91E63E00D5E05F /* Objective-Zip Tests.xctest */, + 8CC2FC731B91E65200D5E05F /* libObjective-Zip_OS_X.a */, + 8CC2FC7D1B91E65200D5E05F /* Objective-Zip OS X Tests.xctest */, ); name = Products; sourceTree = ""; @@ -160,9 +202,7 @@ 8C6D353B10E56BA400B63EFA /* Objective-Zip */, 8C6D350110E56A4B00B63EFA /* MiniZip */, 8CD8B3E817766056005212EC /* ZLib */, - 080E96DDFE201D6D7F000001 /* Classes */, - 29B97315FDCFA39411CA2CEA /* Other Sources */, - 29B97317FDCFA39411CA2CEA /* Resources */, + 8CC2FC661B91E63E00D5E05F /* Objective-Zip Tests */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 19C28FACFE9D520D11CA2CBB /* Products */, 8C1D598B1771057D006D69C3 /* GETTING_STARTED.md */, @@ -171,36 +211,11 @@ name = CustomTemplate; sourceTree = ""; }; - 29B97315FDCFA39411CA2CEA /* Other Sources */ = { - isa = PBXGroup; - children = ( - 32CA4F630368D1EE00C91783 /* Objective_Zip_Prefix.pch */, - 29B97316FDCFA39411CA2CEA /* main.m */, - ); - name = "Other Sources"; - sourceTree = ""; - }; - 29B97317FDCFA39411CA2CEA /* Resources */ = { - isa = PBXGroup; - children = ( - 8CE370011777427E0082BEE9 /* mac_test_file.zip */, - 8CE370021777427E0082BEE9 /* win_test_file.zip */, - 8C8F2D9210EBCE0300F75833 /* ObjectiveZipIcon.png */, - 8C8F2D3910EBC94B00F75833 /* Default.png */, - 2899E5210DE3E06400AC0155 /* Objective_ZipViewController.xib */, - 28AD733E0D9D9553002E5188 /* MainWindow.xib */, - 8D1107310486CEB800E47090 /* Objective_Zip-Info.plist */, - ); - name = Resources; - sourceTree = ""; - }; 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( 8C14E8181773A09F00B84597 /* Security.framework */, - 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 1D30AB110D05D00D00671497 /* Foundation.framework */, - 288765A40DF7441C002DB57D /* CoreGraphics.framework */, ); name = Frameworks; sourceTree = ""; @@ -243,6 +258,25 @@ name = "Objective-Zip"; sourceTree = ""; }; + 8CC2FC661B91E63E00D5E05F /* Objective-Zip Tests */ = { + isa = PBXGroup; + children = ( + 8CC2FCB81B91EB3500D5E05F /* ObjectiveZip_Tests.m */, + 8CC2FC671B91E63E00D5E05F /* Supporting Files */, + ); + name = "Objective-Zip Tests"; + path = "Objective-ZipTests"; + sourceTree = ""; + }; + 8CC2FC671B91E63E00D5E05F /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 8CC2FC681B91E63E00D5E05F /* Info.plist */, + ); + name = "Supporting Files"; + path = "../Objective-Zip Tests"; + sourceTree = ""; + }; 8CD8B3E817766056005212EC /* ZLib */ = { isa = PBXGroup; children = ( @@ -278,14 +312,25 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 8CC2FC711B91E65200D5E05F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* Objective-Zip */ = { + 8CC2FC571B91E63E00D5E05F /* Objective-Zip */ = { isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Objective-Zip" */; + buildConfigurationList = 8CC2FC691B91E63E00D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip" */; buildPhases = ( - 1D60588D0D05DD3D006BFB54 /* Resources */, - 1D60588E0D05DD3D006BFB54 /* Sources */, - 1D60588F0D05DD3D006BFB54 /* Frameworks */, + 8CC2FC541B91E63E00D5E05F /* Sources */, + 8CC2FC551B91E63E00D5E05F /* Frameworks */, + 8CC2FC561B91E63E00D5E05F /* CopyFiles */, + 8CC2FCBC1B91ECB000D5E05F /* ShellScript */, ); buildRules = ( ); @@ -293,8 +338,61 @@ ); name = "Objective-Zip"; productName = "Objective-Zip"; - productReference = 1D6058910D05DD3D006BFB54 /* Objective-Zip.app */; - productType = "com.apple.product-type.application"; + productReference = 8CC2FC581B91E63E00D5E05F /* libObjective-Zip.a */; + productType = "com.apple.product-type.library.static"; + }; + 8CC2FC611B91E63E00D5E05F /* Objective-Zip Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8CC2FC6C1B91E63E00D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip Tests" */; + buildPhases = ( + 8CC2FC5E1B91E63E00D5E05F /* Sources */, + 8CC2FC5F1B91E63E00D5E05F /* Frameworks */, + 8CC2FC601B91E63E00D5E05F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8CC2FC651B91E63E00D5E05F /* PBXTargetDependency */, + ); + name = "Objective-Zip Tests"; + productName = "Objective-ZipTests"; + productReference = 8CC2FC621B91E63E00D5E05F /* Objective-Zip Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 8CC2FC721B91E65200D5E05F /* Objective-Zip OS X */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8CC2FC841B91E65300D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip OS X" */; + buildPhases = ( + 8CC2FC6F1B91E65200D5E05F /* Sources */, + 8CC2FC701B91E65200D5E05F /* Frameworks */, + 8CC2FC711B91E65200D5E05F /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Objective-Zip OS X"; + productName = "Objective-Zip OS X"; + productReference = 8CC2FC731B91E65200D5E05F /* libObjective-Zip_OS_X.a */; + productType = "com.apple.product-type.library.static"; + }; + 8CC2FC7C1B91E65200D5E05F /* Objective-Zip OS X Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8CC2FC871B91E65300D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip OS X Tests" */; + buildPhases = ( + 8CC2FC791B91E65200D5E05F /* Sources */, + 8CC2FC7A1B91E65200D5E05F /* Frameworks */, + 8CC2FC7B1B91E65200D5E05F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8CC2FC801B91E65200D5E05F /* PBXTargetDependency */, + ); + name = "Objective-Zip OS X Tests"; + productName = "Objective-Zip OS XTests"; + productReference = 8CC2FC7D1B91E65200D5E05F /* Objective-Zip OS X Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -303,6 +401,20 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 0640; + TargetAttributes = { + 8CC2FC571B91E63E00D5E05F = { + CreatedOnToolsVersion = 6.4; + }; + 8CC2FC611B91E63E00D5E05F = { + CreatedOnToolsVersion = 6.4; + }; + 8CC2FC721B91E65200D5E05F = { + CreatedOnToolsVersion = 6.4; + }; + 8CC2FC7C1B91E65200D5E05F = { + CreatedOnToolsVersion = 6.4; + }; + }; }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Objective-Zip" */; compatibilityVersion = "Xcode 3.2"; @@ -318,117 +430,486 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 1D6058900D05DD3D006BFB54 /* Objective-Zip */, + 8CC2FC571B91E63E00D5E05F /* Objective-Zip */, + 8CC2FC611B91E63E00D5E05F /* Objective-Zip Tests */, + 8CC2FC721B91E65200D5E05F /* Objective-Zip OS X */, + 8CC2FC7C1B91E65200D5E05F /* Objective-Zip OS X Tests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 1D60588D0D05DD3D006BFB54 /* Resources */ = { + 8CC2FC601B91E63E00D5E05F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC7B1B91E65200D5E05F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */, - 2899E5220DE3E06400AC0155 /* Objective_ZipViewController.xib in Resources */, - 8C8F2D3A10EBC94B00F75833 /* Default.png in Resources */, - 8C8F2D9310EBCE0300F75833 /* ObjectiveZipIcon.png in Resources */, - 8C1D598D1771057D006D69C3 /* GETTING_STARTED.md in Resources */, - 8C1D598E1771057D006D69C3 /* README.md in Resources */, - 8CE370031777427E0082BEE9 /* mac_test_file.zip in Resources */, - 8CE370041777427E0082BEE9 /* win_test_file.zip in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 8CC2FCBC1B91ECB000D5E05F /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "##########################################\n#\n# c.f. http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4\n#\n# Version 2.7\n#\n# Latest Change:\n# - Supports iPhone 5 / iPod Touch 5 (uses Apple's workaround to lipo bug)\n#\n# Purpose:\n# Automatically create a Universal static library for iPhone + iPad + iPhone Simulator from within XCode\n#\n# Author: Adam Martin - http://twitter.com/redglassesapps\n# Based on: original script from Eonil (main changes: Eonil's script WILL NOT WORK in Xcode GUI - it WILL CRASH YOUR COMPUTER)\n#\n\nset -e\nset -o pipefail\n\n#################[ Tests: helps workaround any future bugs in Xcode ]########\n#\nDEBUG_THIS_SCRIPT=\"false\"\n\nif [ $DEBUG_THIS_SCRIPT = \"true\" ]\nthen\necho \"########### TESTS #############\"\necho \"Use the following variables when debugging this script; note that they may change on recursions\"\necho \"BUILD_DIR = $BUILD_DIR\"\necho \"BUILD_ROOT = $BUILD_ROOT\"\necho \"CONFIGURATION_BUILD_DIR = $CONFIGURATION_BUILD_DIR\"\necho \"BUILT_PRODUCTS_DIR = $BUILT_PRODUCTS_DIR\"\necho \"CONFIGURATION_TEMP_DIR = $CONFIGURATION_TEMP_DIR\"\necho \"TARGET_BUILD_DIR = $TARGET_BUILD_DIR\"\nfi\n\n#####################[ part 1 ]##################\n# First, work out the BASESDK version number (NB: Apple ought to report this, but they hide it)\n# (incidental: searching for substrings in sh is a nightmare! Sob)\n\nSDK_VERSION=$(echo ${SDK_NAME} | grep -o '.\\{3\\}$')\n\n# Next, work out if we're in SIM or DEVICE\n\nif [ ${PLATFORM_NAME} = \"iphonesimulator\" ]\nthen\nOTHER_SDK_TO_BUILD=iphoneos${SDK_VERSION}\nelse\nOTHER_SDK_TO_BUILD=iphonesimulator${SDK_VERSION}\nfi\n\necho \"XCode has selected SDK: ${PLATFORM_NAME} with version: ${SDK_VERSION} (although back-targetting: ${IPHONEOS_DEPLOYMENT_TARGET})\"\necho \"...therefore, OTHER_SDK_TO_BUILD = ${OTHER_SDK_TO_BUILD}\"\n#\n#####################[ end of part 1 ]##################\n\n#####################[ part 2 ]##################\n#\n# IF this is the original invocation, invoke WHATEVER other builds are required\n#\n# Xcode is already building ONE target...\n#\n# ...but this is a LIBRARY, so Apple is wrong to set it to build just one.\n# ...we need to build ALL targets\n# ...we MUST NOT re-build the target that is ALREADY being built: Xcode WILL CRASH YOUR COMPUTER if you try this (infinite recursion!)\n#\n#\n# So: build ONLY the missing platforms/configurations.\n\nif [ \"true\" == ${ALREADYINVOKED:-false} ]\nthen\necho \"RECURSION: I am NOT the root invocation, so I'm NOT going to recurse\"\nelse\n# CRITICAL:\n# Prevent infinite recursion (Xcode sucks)\nexport ALREADYINVOKED=\"true\"\n\necho \"RECURSION: I am the root ... recursing all missing build targets NOW...\"\necho \"RECURSION: ...about to invoke: xcodebuild -configuration \\\"${CONFIGURATION}\\\" -project \\\"${PROJECT_NAME}.xcodeproj\\\" -target \\\"${TARGET_NAME}\\\" -sdk \\\"${OTHER_SDK_TO_BUILD}\\\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO\" BUILD_DIR=\\\"${BUILD_DIR}\\\" BUILD_ROOT=\\\"${BUILD_ROOT}\\\" SYMROOT=\\\"${SYMROOT}\\\"\n\nxcodebuild -configuration \"${CONFIGURATION}\" -project \"${PROJECT_NAME}.xcodeproj\" -target \"${TARGET_NAME}\" -sdk \"${OTHER_SDK_TO_BUILD}\" ${ACTION} RUN_CLANG_STATIC_ANALYZER=NO BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\" SYMROOT=\"${SYMROOT}\"\n\nACTION=\"build\"\n\n#Merge all platform binaries as a fat binary for each configurations.\n\n# Calculate where the (multiple) built files are coming from:\nCURRENTCONFIG_DEVICE_DIR=${SYMROOT}/${CONFIGURATION}-iphoneos\nCURRENTCONFIG_SIMULATOR_DIR=${SYMROOT}/${CONFIGURATION}-iphonesimulator\n\necho \"Taking device build from: ${CURRENTCONFIG_DEVICE_DIR}\"\necho \"Taking simulator build from: ${CURRENTCONFIG_SIMULATOR_DIR}\"\n\nCREATING_UNIVERSAL_DIR=${SYMROOT}/${CONFIGURATION}-universal\necho \"...I will output a universal build to: ${CREATING_UNIVERSAL_DIR}\"\n\n# ... remove the products of previous runs of this script\n# NB: this directory is ONLY created by this script - it should be safe to delete!\n\nrm -rf \"${CREATING_UNIVERSAL_DIR}\"\nmkdir \"${CREATING_UNIVERSAL_DIR}\"\n\n#\necho \"lipo: for current configuration (${CONFIGURATION}) creating output file: ${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\"\nxcrun -sdk iphoneos lipo -create -output \"${CREATING_UNIVERSAL_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_DEVICE_DIR}/${EXECUTABLE_NAME}\" \"${CURRENTCONFIG_SIMULATOR_DIR}/${EXECUTABLE_NAME}\"\n\n#########\n#\n# Added: StackOverflow suggestion to also copy \"include\" files\n# (untested, but should work OK)\n#\necho \"Fetching headers from ${PUBLIC_HEADERS_FOLDER_PATH}\"\necho \" (if you embed your library project in another project, you will need to add\"\necho \" a \"User Search Headers\" build setting of: (NB INCLUDE THE DOUBLE QUOTES BELOW!)\"\necho ' \"$(TARGET_BUILD_DIR)/usr/local/include/\"'\nif [ -d \"${CURRENTCONFIG_DEVICE_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\" ]\nthen\nmkdir -p \"${CREATING_UNIVERSAL_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\"\n# * needs to be outside the double quotes?\ncp -r \"${CURRENTCONFIG_DEVICE_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\"* \"${CREATING_UNIVERSAL_DIR}${PUBLIC_HEADERS_FOLDER_PATH}\"\nfi\nfi\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ - 1D60588E0D05DD3D006BFB54 /* Sources */ = { + 8CC2FC541B91E63E00D5E05F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 1D60589B0D05DD56006BFB54 /* main.m in Sources */, - 1D3623260D0F684500981E51 /* Objective_ZipAppDelegate.m in Sources */, - 28D7ACF80DDB3853001CB0EB /* Objective_ZipViewController.m in Sources */, - 8C6D352D10E56A9000B63EFA /* ioapi.c in Sources */, - 8C6D352F10E56A9000B63EFA /* unzip.c in Sources */, - 8C6D353010E56A9000B63EFA /* zip.c in Sources */, - 8C6D354010E56BD300B63EFA /* OZZipFile.m in Sources */, - 8C6D356B10E56F4D00B63EFA /* OZZipException.m in Sources */, - 8C6D357610E5797600B63EFA /* OZZipWriteStream.m in Sources */, - 8C83F49510E7CBCB002FB3CB /* OZFileInZipInfo.m in Sources */, - 8CBE431810E95FA300AC9ED3 /* OZZipReadStream.m in Sources */, - 8CD8B40317766067005212EC /* adler32.c in Sources */, - 8CD8B40417766067005212EC /* compress.c in Sources */, - 8CD8B40517766067005212EC /* crc32.c in Sources */, - 8CD8B40617766067005212EC /* deflate.c in Sources */, - 8CD8B40717766067005212EC /* gzclose.c in Sources */, - 8CD8B40817766067005212EC /* gzlib.c in Sources */, - 8CD8B40917766067005212EC /* gzread.c in Sources */, - 8CD8B40A17766067005212EC /* gzwrite.c in Sources */, - 8CD8B40B17766067005212EC /* infback.c in Sources */, - 8CD8B40C17766067005212EC /* inffast.c in Sources */, - 8CD8B40D17766067005212EC /* inflate.c in Sources */, - 8CD8B40E17766067005212EC /* inftrees.c in Sources */, - 8CD8B40F17766067005212EC /* trees.c in Sources */, - 8CD8B41017766067005212EC /* uncompr.c in Sources */, - 8CD8B41117766067005212EC /* zutil.c in Sources */, + 8CC2FC8F1B91E6FD00D5E05F /* ioapi.c in Sources */, + 8CC2FC901B91E6FD00D5E05F /* unzip.c in Sources */, + 8CC2FC911B91E6FD00D5E05F /* zip.c in Sources */, + 8CC2FC921B91E6FD00D5E05F /* adler32.c in Sources */, + 8CC2FC931B91E6FD00D5E05F /* compress.c in Sources */, + 8CC2FC941B91E6FD00D5E05F /* crc32.c in Sources */, + 8CC2FC951B91E6FD00D5E05F /* deflate.c in Sources */, + 8CC2FC961B91E6FD00D5E05F /* gzclose.c in Sources */, + 8CC2FC971B91E6FD00D5E05F /* gzlib.c in Sources */, + 8CC2FC981B91E6FD00D5E05F /* gzread.c in Sources */, + 8CC2FC991B91E6FD00D5E05F /* gzwrite.c in Sources */, + 8CC2FC9A1B91E6FD00D5E05F /* infback.c in Sources */, + 8CC2FC9B1B91E6FD00D5E05F /* inffast.c in Sources */, + 8CC2FC9C1B91E6FD00D5E05F /* inflate.c in Sources */, + 8CC2FC9D1B91E6FD00D5E05F /* inftrees.c in Sources */, + 8CC2FC9E1B91E6FD00D5E05F /* trees.c in Sources */, + 8CC2FC9F1B91E6FD00D5E05F /* uncompr.c in Sources */, + 8CC2FCA01B91E6FD00D5E05F /* zutil.c in Sources */, + 8CC2FC8A1B91E6F000D5E05F /* OZZipFile.m in Sources */, + 8CC2FC8B1B91E6F000D5E05F /* OZZipException.m in Sources */, + 8CC2FC8C1B91E6F000D5E05F /* OZZipWriteStream.m in Sources */, + 8CC2FC8D1B91E6F000D5E05F /* OZFileInZipInfo.m in Sources */, + 8CC2FC8E1B91E6F000D5E05F /* OZZipReadStream.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC5E1B91E63E00D5E05F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8CC2FCB91B91EB3500D5E05F /* ObjectiveZip_Tests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC6F1B91E65200D5E05F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8CC2FCA61B91E71700D5E05F /* ioapi.c in Sources */, + 8CC2FCA71B91E71700D5E05F /* unzip.c in Sources */, + 8CC2FCA81B91E71700D5E05F /* zip.c in Sources */, + 8CC2FCA91B91E71700D5E05F /* adler32.c in Sources */, + 8CC2FCAA1B91E71700D5E05F /* compress.c in Sources */, + 8CC2FCAB1B91E71700D5E05F /* crc32.c in Sources */, + 8CC2FCAC1B91E71700D5E05F /* deflate.c in Sources */, + 8CC2FCAD1B91E71700D5E05F /* gzclose.c in Sources */, + 8CC2FCAE1B91E71700D5E05F /* gzlib.c in Sources */, + 8CC2FCAF1B91E71700D5E05F /* gzread.c in Sources */, + 8CC2FCB01B91E71700D5E05F /* gzwrite.c in Sources */, + 8CC2FCB11B91E71700D5E05F /* infback.c in Sources */, + 8CC2FCB21B91E71700D5E05F /* inffast.c in Sources */, + 8CC2FCB31B91E71700D5E05F /* inflate.c in Sources */, + 8CC2FCB41B91E71700D5E05F /* inftrees.c in Sources */, + 8CC2FCB51B91E71700D5E05F /* trees.c in Sources */, + 8CC2FCB61B91E71700D5E05F /* uncompr.c in Sources */, + 8CC2FCB71B91E71700D5E05F /* zutil.c in Sources */, + 8CC2FCA11B91E70D00D5E05F /* OZZipFile.m in Sources */, + 8CC2FCA21B91E70D00D5E05F /* OZZipException.m in Sources */, + 8CC2FCA31B91E70D00D5E05F /* OZZipWriteStream.m in Sources */, + 8CC2FCA41B91E70D00D5E05F /* OZFileInZipInfo.m in Sources */, + 8CC2FCA51B91E70D00D5E05F /* OZZipReadStream.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8CC2FC791B91E65200D5E05F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8CC2FCBA1B91EB3500D5E05F /* ObjectiveZip_Tests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 8CC2FC651B91E63E00D5E05F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8CC2FC571B91E63E00D5E05F /* Objective-Zip */; + targetProxy = 8CC2FC641B91E63E00D5E05F /* PBXContainerItemProxy */; + }; + 8CC2FC801B91E65200D5E05F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8CC2FC721B91E65200D5E05F /* Objective-Zip OS X */; + targetProxy = 8CC2FC7F1B91E65200D5E05F /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ - 1D6058940D05DD3E006BFB54 /* Debug */ = { + 8CC2FC6A1B91E63E00D5E05F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Gianluca Bertani (42HXKD6D45)"; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Objective_Zip_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = ""; - GCC_THUMB_SUPPORT = NO; - INFOPLIST_FILE = "Objective_Zip-Info.plist"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; IPHONEOS_DEPLOYMENT_TARGET = 5.1; - PRODUCT_NAME = "Objective-Zip"; - PROVISIONING_PROFILE = "8D9AD182-36E0-47FE-AB6B-E87632E60994"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; }; name = Debug; }; - 1D6058950D05DD3E006BFB54 /* Release */ = { + 8CC2FC6B1B91E63E00D5E05F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; - CODE_SIGN_IDENTITY = "iPhone Developer: Gianluca Bertani (42HXKD6D45)"; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = YES; - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = Objective_Zip_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = ""; - GCC_THUMB_SUPPORT = NO; - INFOPLIST_FILE = "Objective_Zip-Info.plist"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; IPHONEOS_DEPLOYMENT_TARGET = 5.1; - PRODUCT_NAME = "Objective-Zip"; - PROVISIONING_PROFILE = "8D9AD182-36E0-47FE-AB6B-E87632E60994"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 8CC2FC6D1B91E63E00D5E05F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "Objective-Zip Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 5.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 8CC2FC6E1B91E63E00D5E05F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "Objective-Zip Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 5.1; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 8CC2FC851B91E65300D5E05F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + EXECUTABLE_PREFIX = lib; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "Objective-Zip_OS_X"; + SDKROOT = macosx; + }; + name = Debug; + }; + 8CC2FC861B91E65300D5E05F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + EXECUTABLE_PREFIX = lib; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "Objective-Zip_OS_X"; + SDKROOT = macosx; + }; + name = Release; + }; + 8CC2FC881B91E65300D5E05F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "Objective-Zip Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Debug; + }; + 8CC2FC891B91E65300D5E05F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COMBINE_HIDPI_IMAGES = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "Objective-Zip Tests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.7; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; }; name = Release; }; C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer: Gianluca Bertani (42HXKD6D45)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Gianluca Bertani (42HXKD6D45)"; GCC_C_LANGUAGE_STANDARD = c99; - GCC_THUMB_SUPPORT = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE = "8D9AD182-36E0-47FE-AB6B-E87632E60994"; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "8D920AE2-DF44-48C7-A9B5-0AB3D42590BB"; SDKROOT = iphoneos; }; name = Debug; @@ -436,15 +917,9 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer: Gianluca Bertani (42HXKD6D45)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Gianluca Bertani (42HXKD6D45)"; GCC_C_LANGUAGE_STANDARD = c99; - GCC_THUMB_SUPPORT = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; - PROVISIONING_PROFILE = "8D9AD182-36E0-47FE-AB6B-E87632E60994"; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "8D920AE2-DF44-48C7-A9B5-0AB3D42590BB"; SDKROOT = iphoneos; }; name = Release; @@ -452,14 +927,37 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Objective-Zip" */ = { + 8CC2FC691B91E63E00D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1D6058940D05DD3E006BFB54 /* Debug */, - 1D6058950D05DD3E006BFB54 /* Release */, + 8CC2FC6A1B91E63E00D5E05F /* Debug */, + 8CC2FC6B1B91E63E00D5E05F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 8CC2FC6C1B91E63E00D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8CC2FC6D1B91E63E00D5E05F /* Debug */, + 8CC2FC6E1B91E63E00D5E05F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 8CC2FC841B91E65300D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip OS X" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8CC2FC851B91E65300D5E05F /* Debug */, + 8CC2FC861B91E65300D5E05F /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; + 8CC2FC871B91E65300D5E05F /* Build configuration list for PBXNativeTarget "Objective-Zip OS X Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8CC2FC881B91E65300D5E05F /* Debug */, + 8CC2FC891B91E65300D5E05F /* Release */, ); defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; }; C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Objective-Zip" */ = { isa = XCConfigurationList; diff --git a/ObjectiveZipIcon.png b/ObjectiveZipIcon.png deleted file mode 100644 index 761e92e..0000000 Binary files a/ObjectiveZipIcon.png and /dev/null differ diff --git a/Objective_ZipViewController.xib b/Objective_ZipViewController.xib deleted file mode 100644 index eec37aa..0000000 --- a/Objective_ZipViewController.xib +++ /dev/null @@ -1,554 +0,0 @@ - - - - 1296 - 14F27 - 7706 - 1348.17 - 758.70 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 7703 - - - IBProxyObject - IBUIButton - IBUITextView - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - - - - 292 - {{20, 20}, {280, 37}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - 3 - MQA - - Zip & Unzip - - 3 - MC41AA - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 - - - - - 292 - {{20, 196}, {280, 37}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - Error Wrapping - - - - - - - 292 - {{20, 64}, {280, 37}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - 5 GB Zip & Unzip (use with caution) - - - - - - - 292 - {{20, 108}, {280, 37}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - Unzip & Check Mac OS X Zip File - - - - - - - 292 - {{20, 152}, {280, 37}} - - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - Unzip & Check Windows Zip File - - - - - - - 292 - {{20, 243}, {280, 197}} - - - - - 3 - MAA - - NO - 0.5 - IBCocoaTouchFramework - - - - 274 - {{20, 243}, {280, 197}} - - - - NO - YES - YES - IBCocoaTouchFramework - NO - NO - NO - NO - NO - - - - IBCocoaTouchFramework - - - 1 - 0 - 17 - - - HelveticaNeue - 17 - 16 - - - - {{0, 20}, {320, 460}} - - - - NO - - - IBUISimulatedFreeformSizeMetricsSentinel - Freeform - - IBCocoaTouchFramework - - - - - - - view - - - - 7 - - - - _textView - - - - 11 - - - - zipUnzip - - - 7 - - 14 - - - - zipUnzip2 - - - 7 - - 17 - - - - zipCheck1 - - - 7 - - 22 - - - - zipCheck2 - - - 7 - - 23 - - - - errorWrapping - - - 7 - - 26 - - - - - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 6 - - - - - - - - - - - - - - 8 - - - - - 9 - - - - - - 10 - - - - - 15 - - - - - 18 - - - - - 19 - - - - - 24 - - - - - - - Objective_ZipViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 26 - - - - - Objective_ZipViewController - UIViewController - - id - id - id - id - id - - - - errorWrapping - id - - - zipCheck1 - id - - - zipCheck2 - id - - - zipUnzip - id - - - zipUnzip2 - id - - - - _textView - UITextView - - - _textView - - _textView - UITextView - - - - IBProjectSource - ../Classes/Objective_ZipViewController.h - - - - Objective_ZipViewController - - id - id - id - id - id - - - - errorWrapping - id - - - zipCheck1 - id - - - zipCheck2 - id - - - zipUnzip - id - - - zipUnzip2 - id - - - - IBProjectSource - ../Classes/Objective_ZipViewController.m - - - - - - UIButton - UIControl - - IBFrameworkSource - UIKit.framework/Headers/UIButton.h - - - - UIControl - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIControl.h - - - - UIGestureRecognizer - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIGestureRecognizer.h - - - - UIResponder - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIScrollView - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIScrollView.h - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UITextView - UIScrollView - - IBFrameworkSource - UIKit.framework/Headers/UITextView.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h - - - - - 0 - IBCocoaTouchFramework - NO - - com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 - - - YES - 3 - - diff --git a/Objective_Zip_Prefix.pch b/Objective_Zip_Prefix.pch deleted file mode 100644 index cbd3029..0000000 --- a/Objective_Zip_Prefix.pch +++ /dev/null @@ -1,9 +0,0 @@ -// -// Prefix header for all source files of the 'Objective-Zip' target in the 'Objective-Zip' project -// - -#ifdef __OBJC__ - #import - #import - #import -#endif diff --git a/mac_test_file.zip b/mac_test_file.zip deleted file mode 100644 index 68cebb0..0000000 Binary files a/mac_test_file.zip and /dev/null differ diff --git a/main.m b/main.m deleted file mode 100644 index a9b6b10..0000000 --- a/main.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// main.m -// Objective-Zip -// -// Created by Gianluca Bertani on 25/12/09. -// Copyright Flying Dolphin Studio 2009. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// * Neither the name of Gianluca Bertani nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. -// - -#import - -int main(int argc, char *argv[]) { - @autoreleasepool { - int retVal = UIApplicationMain(argc, argv, nil, nil); - return retVal; - } -} diff --git a/win_test_file.zip b/win_test_file.zip deleted file mode 100644 index 5fbd6ac..0000000 Binary files a/win_test_file.zip and /dev/null differ