Skip to content

Commit

Permalink
Enhancements
Browse files Browse the repository at this point in the history
  • Loading branch information
priore committed Feb 17, 2016
1 parent 017ccf1 commit a3fa41a
Show file tree
Hide file tree
Showing 24 changed files with 124 additions and 53 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
1.26, Feb 17, 2016
- uses NSProgress to track the sending and received data progress.
- runs notifications, blocks and delegates in the main thread.
- supports Enterprise license with bundle-id extended style.
- fixes in delegate and block for the wrong totals of data sent.
- fixes crash when not found a value for soapAction attribute on WSDL declaration.
- fixes when forKey in requestURL is nil.
- various optimizations.

1.25.2, Feb 1, 2016
- fixes message "containsString unrecognized selector" on the previous versions of iOS 8.0.
- fixes message "containsString unrecognized selector" on the previous versions of iOS 8.0. fixes.

1.25.1, Gen 28, 2016
- recompile iOS binary for bitcode support.
Expand Down
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
**SOAPEngine**
================

This generic [SOAP](http://www.wikipedia.org/wiki/SOAP) client allows you to access web services using a your [iOS](http://www.wikipedia.org/wiki/IOS) app, [Mac OS X](http://www.wikipedia.org/wiki/OS_X) app and [AppleTv](http://www.apple.com/tv/) app.
This generic [SOAP](http://www.wikipedia.org/wiki/SOAP) client allows you to access web services using a your [iOS](http://www.wikipedia.org/wiki/IOS) app, [Mac OS X](http://www.wikipedia.org/wiki/OS_X) app and [Apple TV](http://www.apple.com/tv/) app.

With this Framework you can create [iPhone](http://www.wikipedia.org/wiki/IPhone), [iPad](http://www.wikipedia.org/wiki/IPad), [Mac OS X](http://www.wikipedia.org/wiki/OS_X) and [AppleTv](http://www.apple.com/tv/) apps that supports [SOAP](http://www.wikipedia.org/wiki/SOAP) Client Protocol. This framework able executes methods at remote web services with [SOAP](http://www.wikipedia.org/wiki/SOAP) standard protocol.

Expand All @@ -19,7 +19,7 @@ With this Framework you can create [iPhone](http://www.wikipedia.org/wiki/IPhone
## Requirements for [iOS](http://www.wikipedia.org/wiki/IOS)
---
* [iOS](http://www.wikipedia.org/wiki/IOS) 7.1, and later
* [XCode](http://www.wikipedia.org/wiki/Xcode) 5.1.1 or later
* [XCode](http://www.wikipedia.org/wiki/Xcode) 7.1 or later
* Security.framework
* Accounts.framework
* Foundation.framework
Expand All @@ -29,15 +29,15 @@ With this Framework you can create [iPhone](http://www.wikipedia.org/wiki/IPhone
## Requirements for [Mac OS X](http://www.wikipedia.org/wiki/OS_X)
---
* [OS X](http://www.wikipedia.org/wiki/OS_X) 10.9 and later
* [XCode](http://www.wikipedia.org/wiki/Xcode) 5.1.1 or later
* [XCode](http://www.wikipedia.org/wiki/Xcode) 7.1 or later
* Security.framework
* Accounts.framework
* Foundation.framework
* AppKit.framework
* Cocoa.framework
* libxml2.dylib

## Requirements for [AppleTv](http://www.apple.com/tv/)
## Requirements for [Apple TV](http://www.apple.com/tv/)
---
* [iOS](http://www.wikipedia.org/wiki/IOS) 9.0, and later
* [XCode](http://www.wikipedia.org/wiki/Xcode) 7.1 or later
Expand All @@ -63,7 +63,7 @@ To resolve this, add few keys in info.plist, the steps are:
2. Add a Key called `NSAppTransportSecurity` as a Dictionary.
3. Add a Subkey called `NSAllowsArbitraryLoads` as Boolean and set its value to YES as like following image.

![NSAppTransportSecurity](/screen/NSAppTransportSecurity.png)
![NSAppTransportSecurity](https://github.com/priore/SOAPEngine/raw/master/screen/NSAppTransportSecurity.png)

ref link: http://stackoverflow.com/a/32631185/4069848

Expand Down Expand Up @@ -485,33 +485,35 @@ this is not optimized, very slow, instead you can use the optimization below :
## Install in your apps
---
1. add `-lxml2` in Build Settings --> Other Linker Flags.
![Other Linker Flags](/screen/otherlinkerflags.png)
![Other Linker Flags](https://github.com/priore/SOAPEngine/raw/master/screen/otherlinkerflags.png)
2. add `/usr/include/libxml2` in Build Settings --> Header Search Paths.
![Header Search Paths](/screen/headersearchpaths.png)
![Header Search Paths](https://github.com/priore/SOAPEngine/raw/master/screen/headersearchpaths.png)
3. add SOAPEngine Framework
* SOAPEngine64.framework for iOS.
* SOAPEngineOSX.framework for Mac OS X.
* SOAPEngineTV.framework for AppleTV.
4. add Security.framework.
5. add Accounts.framework (not for AppleTv).
6. add AppKit.framework (only for Mac OS X).
![Frameworks](/screen/frameworks.png)
7. in your class import `<SOAPEngine64/SOAPEngine.h>` or `<SOAPEngineOSX/SOAPEngine.h>`.
![import](/screen/codeimport.png)
6. add AppKit.framework (only for Mac OS X).
![Frameworks](https://github.com/priore/SOAPEngine/raw/master/screen/frameworks.png)
7. import in your class.
![import](https://github.com/priore/SOAPEngine/raw/master/screen/codeimport.png)
8. set the property named `licenseKey` with your license code (*only for test on your devices or publishing the app, not needed for run the app in simulator mode*).
9. and don't forget to add your app, that use our framework, in the list of [CocoaControls](https://www.cocoacontrols.com/controls/soapengine), thanks!
## Licenses
---
Trial (only simulator) | Single App | Enterprise (multi App)
------------- | ------------- | -------------
[![TRIAL LICENSE](/screen/freetrial.png)](https://github.com/priore/SOAPEngine/archive/master.zip) | [![BUY SINGLE LICENSE](/screen/1299.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G3RXTN3YD7VRG) | [![BUY ENTERPRISE LICENSE](/screen/7799.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YH9LJRNXPTHE)
[![TRIAL LICENSE](https://github.com/priore/SOAPEngine/raw/master/screen/freetrial.png)](https://github.com/priore/SOAPEngine/archive/master.zip) | [![BUY SINGLE LICENSE](https://github.com/priore/SOAPEngine/raw/master/screen/1299.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=G3RXTN3YD7VRG) | [![BUY ENTERPRISE LICENSE](https://github.com/priore/SOAPEngine/raw/master/screen/7799.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6YH9LJRNXPTHE)
##Contacts
---
[![TWITTER](/screen/twitter.png)](https://twitter.com/DaniloPriore) [![FACEBOOK](/screen/facebook.png)](https://www.facebook.com/prioregroup) [![LINKED-IN](/screen/linked-in.png)](http://it.linkedin.com/in/priore/)
[![TWITTER](https://github.com/priore/SOAPEngine/raw/master/screen/twitter.png)](https://twitter.com/DaniloPriore) [![FACEBOOK](https://github.com/priore/SOAPEngine/raw/master/screen/facebook.png)](https://www.facebook.com/prioregroup) [![LINKED-IN](https://github.com/priore/SOAPEngine/raw/master/screen/linked-in.png)](http://it.linkedin.com/in/priore/)
2 changes: 1 addition & 1 deletion SOAPEngine.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'SOAPEngine'
s.version = '1.25.2'
s.version = '1.26'
s.summary = 'This generic SOAP client allows you to access web services using a your iOS and Mac OS X app.'
s.license = { :type => 'Shareware', :file => 'LICENSE.txt' }
s.authors = { 'Danilo Priore' => '[email protected]' }
Expand Down
34 changes: 27 additions & 7 deletions SOAPEngine64.framework/Headers/SOAPEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
//
// email support: [email protected]
//
// Version : 1.25.2
// Version : 1.26
// Changelog : https://github.com/priore/SOAPEngine/blob/master/CHANGELOG.txt
// Updates : https://github.com/priore/SOAPEngine
//
#define SOAPEngineFrameworkVersion @"1.25.2" DEPRECATED_ATTRIBUTE
#define SOAPEngineFrameworkVersion @"1.26" DEPRECATED_ATTRIBUTE

#import <Foundation/Foundation.h>

Expand Down Expand Up @@ -50,11 +50,13 @@ extern const NSString *SOAPEngineErrorKey; // errors
extern const NSString *SOAPEngineDataSizeKey; // send/receive data size
extern const NSString *SOAPEngineTotalDataSizeKey; // send/receive total data size

typedef __block void(^SOAPEngineCompleteBlock)(NSInteger statusCode, NSString *stringXML) DEPRECATED_ATTRIBUTE;
typedef __block void(^SOAPEngineCompleteBlockWithDictionary)(NSInteger statusCode, NSDictionary *dict);
typedef __block void(^SOAPEngineFailBlock)(NSError *error);
typedef __block void(^SOAPEngineReceiveDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef __block void(^SOAPEngineSendDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef void(^SOAPEngineCompleteBlock)(NSInteger statusCode, NSString *stringXML) DEPRECATED_ATTRIBUTE;
typedef void(^SOAPEngineCompleteBlockWithDictionary)(NSInteger statusCode, NSDictionary *dict);
typedef void(^SOAPEngineFailBlock)(NSError *error);
typedef void(^SOAPEngineReceiveDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef void(^SOAPEngineSendDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef void(^SOAPEngineReceivedProgressBlock)(NSProgress *progress);
typedef void(^SOAPEngineSendedProgressBlock)(NSProgress *progress);

typedef enum
{
Expand Down Expand Up @@ -201,6 +203,7 @@ typedef enum
@property (nonatomic, assign) id<SOAPEngineDelegate> delegate;

+ (SOAPEngine *)sharedInstance;
+ (SOAPEngine *)manager;

// returns the value for a webservice that returns a single value
- (NSInteger)integerValue;
Expand Down Expand Up @@ -316,6 +319,14 @@ completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
failWithError:(SOAPEngineFailBlock)fail
receivedDataSize:(SOAPEngineReceiveDataSizeBlock)receive;

- (void)requestURL:(id)asmxURL
soapAction:(NSString *)soapAction
value:(id)value
forKey:(NSString*)key
completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
failWithError:(SOAPEngineFailBlock)fail
receivedProgress:(SOAPEngineReceivedProgressBlock)receive;

- (void)requestURL:(id)asmxURL
soapAction:(NSString *)soapAction
value:(id)value
Expand All @@ -325,6 +336,15 @@ completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
receivedDataSize:(SOAPEngineReceiveDataSizeBlock)receive
sendedDataSize:(SOAPEngineSendDataSizeBlock)sended;

- (void)requestURL:(id)asmxURL
soapAction:(NSString *)soapAction
value:(id)value
forKey:(NSString*)key
completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
failWithError:(SOAPEngineFailBlock)fail
receivedProgress:(SOAPEngineReceivedProgressBlock)receive
sendedProgress:(SOAPEngineSendedProgressBlock)sended;

// request with WSDL
// note: better use requestURL, read this https://github.com/priore/SOAPEngine#optimizations
- (void)requestWSDL:(id)wsdlURL operation:(NSString*)operation;
Expand Down
Binary file modified SOAPEngine64.framework/Info.plist
Binary file not shown.
Binary file modified SOAPEngine64.framework/SOAPEngine64
Binary file not shown.
Binary file modified SOAPEngine64.framework/_CodeSignature/CodeDirectory
Binary file not shown.
Binary file modified SOAPEngine64.framework/_CodeSignature/CodeRequirements
Binary file not shown.
6 changes: 3 additions & 3 deletions SOAPEngine64.framework/_CodeSignature/CodeResources
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
<dict>
<key>Headers/SOAPEngine.h</key>
<data>
vcfffYAiXwf+2yZ+adL8GiRF3d4=
n1thn4e41K1pNQ8su6d7D+J/7Jo=
</data>
<key>Info.plist</key>
<data>
DcJbT+LhOhvevfK8PLfO3os9K6s=
/JE/KebFCFM/e/zEHsLeSugAakM=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand All @@ -21,7 +21,7 @@
<dict>
<key>Headers/SOAPEngine.h</key>
<data>
vcfffYAiXwf+2yZ+adL8GiRF3d4=
n1thn4e41K1pNQ8su6d7D+J/7Jo=
</data>
<key>Modules/module.modulemap</key>
<data>
Expand Down
Binary file modified SOAPEngine64.framework/_CodeSignature/CodeSignature
Binary file not shown.
34 changes: 27 additions & 7 deletions SOAPEngineOSX.framework/Versions/A/Headers/SOAPEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
//
// email support: [email protected]
//
// Version : 1.25
// Version : 1.26
// Changelog : https://github.com/priore/SOAPEngine/blob/master/CHANGELOG.txt
// Updates : https://github.com/priore/SOAPEngine
//
#define SOAPEngineFrameworkVersion @"1.25" DEPRECATED_ATTRIBUTE
#define SOAPEngineFrameworkVersion @"1.26" DEPRECATED_ATTRIBUTE

#import <Foundation/Foundation.h>

Expand Down Expand Up @@ -50,11 +50,13 @@ extern const NSString *SOAPEngineErrorKey; // errors
extern const NSString *SOAPEngineDataSizeKey; // send/receive data size
extern const NSString *SOAPEngineTotalDataSizeKey; // send/receive total data size

typedef __block void(^SOAPEngineCompleteBlock)(NSInteger statusCode, NSString *stringXML) DEPRECATED_ATTRIBUTE;
typedef __block void(^SOAPEngineCompleteBlockWithDictionary)(NSInteger statusCode, NSDictionary *dict);
typedef __block void(^SOAPEngineFailBlock)(NSError *error);
typedef __block void(^SOAPEngineReceiveDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef __block void(^SOAPEngineSendDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef void(^SOAPEngineCompleteBlock)(NSInteger statusCode, NSString *stringXML) DEPRECATED_ATTRIBUTE;
typedef void(^SOAPEngineCompleteBlockWithDictionary)(NSInteger statusCode, NSDictionary *dict);
typedef void(^SOAPEngineFailBlock)(NSError *error);
typedef void(^SOAPEngineReceiveDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef void(^SOAPEngineSendDataSizeBlock)(NSUInteger current, NSUInteger total);
typedef void(^SOAPEngineReceivedProgressBlock)(NSProgress *progress);
typedef void(^SOAPEngineSendedProgressBlock)(NSProgress *progress);

typedef enum
{
Expand Down Expand Up @@ -201,6 +203,7 @@ typedef enum
@property (nonatomic, assign) id<SOAPEngineDelegate> delegate;

+ (SOAPEngine *)sharedInstance;
+ (SOAPEngine *)manager;

// returns the value for a webservice that returns a single value
- (NSInteger)integerValue;
Expand Down Expand Up @@ -316,6 +319,14 @@ completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
failWithError:(SOAPEngineFailBlock)fail
receivedDataSize:(SOAPEngineReceiveDataSizeBlock)receive;

- (void)requestURL:(id)asmxURL
soapAction:(NSString *)soapAction
value:(id)value
forKey:(NSString*)key
completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
failWithError:(SOAPEngineFailBlock)fail
receivedProgress:(SOAPEngineReceivedProgressBlock)receive;

- (void)requestURL:(id)asmxURL
soapAction:(NSString *)soapAction
value:(id)value
Expand All @@ -325,6 +336,15 @@ completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
receivedDataSize:(SOAPEngineReceiveDataSizeBlock)receive
sendedDataSize:(SOAPEngineSendDataSizeBlock)sended;

- (void)requestURL:(id)asmxURL
soapAction:(NSString *)soapAction
value:(id)value
forKey:(NSString*)key
completeWithDictionary:(SOAPEngineCompleteBlockWithDictionary)complete
failWithError:(SOAPEngineFailBlock)fail
receivedProgress:(SOAPEngineReceivedProgressBlock)receive
sendedProgress:(SOAPEngineSendedProgressBlock)sended;

// request with WSDL
// note: better use requestURL, read this https://github.com/priore/SOAPEngine#optimizations
- (void)requestWSDL:(id)wsdlURL operation:(NSString*)operation;
Expand Down
14 changes: 7 additions & 7 deletions SOAPEngineOSX.framework/Versions/A/Resources/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>15C50</string>
<string>15D21</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
Expand All @@ -17,31 +17,31 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.25</string>
<string>1.26</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.25</string>
<string>1.26</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>7C68</string>
<string>7C1002</string>
<key>DTPlatformVersion</key>
<string>GM</string>
<key>DTSDKBuild</key>
<string>15C43</string>
<key>DTSDKName</key>
<string>macosx10.11</string>
<key>DTXcode</key>
<string>0720</string>
<string>0721</string>
<key>DTXcodeBuild</key>
<string>7C68</string>
<string>7C1002</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2015 Danilo Priore. All rights reserved.</string>
<string>Copyright © 2016 Danilo Priore. All rights reserved.</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
Expand Down
Binary file modified SOAPEngineOSX.framework/Versions/A/SOAPEngineOSX
Binary file not shown.
Binary file modified SOAPEngineOSX.framework/Versions/A/_CodeSignature/CodeDirectory
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@
<dict>
<key>Resources/Info.plist</key>
<data>
jrDzAAHYbUEnHkNKgGgAzrb47L8=
IcDvWxL4ar3harsoCONP7lJP0EA=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/SOAPEngine.h</key>
<data>
/LtHakqtycgN50qeRWIKlh4sTkk=
n1thn4e41K1pNQ8su6d7D+J/7Jo=
</data>
<key>Modules/module.modulemap</key>
<data>
Mq/+VVzA/2WjOiipLKfO40YKl0k=
</data>
<key>Resources/Info.plist</key>
<data>
jrDzAAHYbUEnHkNKgGgAzrb47L8=
IcDvWxL4ar3harsoCONP7lJP0EA=
</data>
</dict>
<key>rules</key>
Expand Down
Binary file modified SOAPEngineOSX.framework/Versions/A/_CodeSignature/CodeSignature
Binary file not shown.
Loading

0 comments on commit a3fa41a

Please sign in to comment.