Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v7.6.1 Master release #2122

Merged
merged 6 commits into from Jun 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 17 additions & 0 deletions CHANGELOG.md
@@ -1,4 +1,21 @@
# Changelog
## 7.6.1
* Supports [SDL RPC Spec 8.0.0](https://github.com/smartdevicelink/rpc_spec/releases/tag/8.0.0) and [SDL Protocol Spec 5.4.1](https://github.com/smartdevicelink/protocol_spec/releases/tag/5.4.1).

### Testing
* Xcode 14.3.1
* iOS 15.7.1 / iOS 16.2.1
* Core:
* Manticore (Core v8.2.0, Generic HMI v0.12.0)
* Ford Sync 3.4 (19353_DEVTEST)
* Ford Sync 3.4 (19317_DEVTEST)
* Ford Sync 4.0 (20016_DEVTEST)
* Core v8.2.0 with sdl_hmi v5.8.0 and generic_hmi v0.13.0

### Bug Fixes
* Fatal Exception: NSRangeException (https://github.com/smartdevicelink/sdl_ios/issues/2116)
* SDL App Crash (https://github.com/smartdevicelink/sdl_ios/issues/2112)

## 7.6.0
* Supports [SDL RPC Spec 8.0.0](https://github.com/smartdevicelink/rpc_spec/releases/tag/8.0.0) and [SDL Protocol Spec 5.4.1](https://github.com/smartdevicelink/protocol_spec/releases/tag/5.4.1).

Expand Down
2 changes: 1 addition & 1 deletion SmartDeviceLink-iOS.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "SmartDeviceLink-iOS"
s.version = "7.6.0"
s.version = "7.6.1"
s.summary = "Connect your app with cars!"
s.homepage = "https://github.com/smartdevicelink/SmartDeviceLink-iOS"
s.license = { :type => "New BSD", :file => "LICENSE" }
Expand Down
16 changes: 8 additions & 8 deletions SmartDeviceLink-iOS.xcodeproj/project.pbxproj
Expand Up @@ -9475,7 +9475,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -9497,7 +9497,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -9550,7 +9550,7 @@
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.smartdevicelink;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -9607,7 +9607,7 @@
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.smartdevicelink;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -9717,7 +9717,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example Swift";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -9743,7 +9743,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example Swift";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand Down Expand Up @@ -9794,7 +9794,7 @@
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SmartDeviceLinkSwift;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
Expand Down Expand Up @@ -9849,7 +9849,7 @@
"@loader_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
MARKETING_VERSION = 7.6.0;
MARKETING_VERSION = 7.6.1;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SmartDeviceLinkSwift;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
Expand Down
2 changes: 1 addition & 1 deletion SmartDeviceLink.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "SmartDeviceLink"
s.version = "7.6.0"
s.version = "7.6.1"
s.summary = "Connect your app with cars!"
s.homepage = "https://github.com/smartdevicelink/SmartDeviceLink-iOS"
s.license = { :type => "New BSD", :file => "LICENSE" }
Expand Down
20 changes: 17 additions & 3 deletions SmartDeviceLink/private/SDLIAPDataSession.m
Expand Up @@ -58,10 +58,24 @@ - (void)writeDataToSessionStream {
if (bytesWritten >= 0) {
if (bytesWritten == bytesRemaining) {
[self.sendDataQueue popBuffer];
} else if (bytesRemaining > bytesWritten) {
} else if (bytesRemaining > bytesWritten && remainder.length > bytesWritten) {
// Cleave the sent bytes from the data, the remainder will sit at the head of the queue
SDLLogV(@"SDLIAPDataSession writeDataToSessionStream bytes written %ld", (long)bytesWritten);
[remainder replaceBytesInRange:NSMakeRange(0, (NSUInteger)bytesWritten) withBytes:NULL length:0];
@try {
SDLLogV(@"SDLIAPDataSession writeDataToSessionStream bytes written %ld", (long)bytesWritten);
NSData *rem = [remainder subdataWithRange:NSMakeRange((NSUInteger)bytesWritten, remainder.length - (NSUInteger)bytesWritten)];
[remainder setLength:[rem length]];
[remainder setData:rem];
} @catch (NSException __unused *exception) {
SDLLogE(@"Unable to remove sent bytes using the subDataWithRange method. Will try with replaceBytesInRange:");
@try {
SDLLogV(@"SDLIAPDataSession writeDataToSessionStream bytes written %ld", (long)bytesWritten);
[remainder replaceBytesInRange:NSMakeRange(0, (NSUInteger)bytesWritten) withBytes:NULL length:0];
} @catch (NSException *exception) {
// Error processing current data. Remove corrupted buffer
SDLLogE(@"Unable to remove sent bytes. Bytes remaining is less than bytes written %lu < %lu. Clearing buffer", bytesRemaining, bytesWritten);
[self.sendDataQueue popBuffer];
}
}
} else {
// Error processing current data. Remove corrupted buffer
SDLLogE(@"Unable to remove sent bytes. Bytes remaining is less than bytes written %lu < %lu. Clearing buffer", bytesRemaining, bytesWritten);
Expand Down
18 changes: 9 additions & 9 deletions docs/Classes/SDLFileManager.html
Expand Up @@ -183,7 +183,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">start</span><span class="p">()</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">start</span><span class="p">()</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>



Expand Down Expand Up @@ -253,7 +253,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">delete</span><span class="p">(</span><span class="n">fileName</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="kt">Bool</span><span class="p">,</span> <span class="kt">UInt</span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">delete</span><span class="p">(</span><span class="n">fileName</span> <span class="nv">name</span><span class="p">:</span> <span class="kt">String</span><span class="p">)</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="kt">Bool</span><span class="p">,</span> <span class="kt">UInt</span><span class="p">)</span></code></pre>



Expand Down Expand Up @@ -281,7 +281,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">delete</span><span class="p">(</span><span class="n">fileNames</span> <span class="nv">names</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">])</span> <span class="k">async</span> <span class="k">throws</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">delete</span><span class="p">(</span><span class="n">fileNames</span> <span class="nv">names</span><span class="p">:</span> <span class="p">[</span><span class="kt">String</span><span class="p">])</span> <span class="n">async</span> <span class="k">throws</span></code></pre>



Expand All @@ -308,7 +308,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">file</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLFile.html">SDLFile</a></span><span class="p">)</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="kt">Bool</span><span class="p">,</span> <span class="kt">UInt</span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">file</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLFile.html">SDLFile</a></span><span class="p">)</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="kt">Bool</span><span class="p">,</span> <span class="kt">UInt</span><span class="p">)</span></code></pre>



Expand Down Expand Up @@ -339,7 +339,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">files</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLFile.html">SDLFile</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLFileManagerConstants.h@T@SDLFileManagerMultiUploadProgressHandler">SDLFileManagerMultiUploadProgressHandler</a></span><span class="p">?)</span> <span class="k">async</span> <span class="k">throws</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">files</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLFile.html">SDLFile</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLFileManagerConstants.h@T@SDLFileManagerMultiUploadProgressHandler">SDLFileManagerMultiUploadProgressHandler</a></span><span class="p">?)</span> <span class="n">async</span> <span class="k">throws</span></code></pre>



Expand Down Expand Up @@ -368,7 +368,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">files</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLFile.html">SDLFile</a></span><span class="p">])</span> <span class="k">async</span> <span class="k">throws</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">files</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLFile.html">SDLFile</a></span><span class="p">])</span> <span class="n">async</span> <span class="k">throws</span></code></pre>



Expand Down Expand Up @@ -426,7 +426,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">artwork</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLArtwork.html">SDLArtwork</a></span><span class="p">)</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="kt">Bool</span><span class="p">,</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">UInt</span><span class="p">)</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">artwork</span><span class="p">:</span> <span class="kt"><a href="../Classes/SDLArtwork.html">SDLArtwork</a></span><span class="p">)</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="kt">Bool</span><span class="p">,</span> <span class="kt">String</span><span class="p">,</span> <span class="kt">UInt</span><span class="p">)</span></code></pre>



Expand All @@ -453,7 +453,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">artworks</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLArtwork.html">SDLArtwork</a></span><span class="p">])</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">String</span><span class="p">]</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">artworks</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLArtwork.html">SDLArtwork</a></span><span class="p">])</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">String</span><span class="p">]</span></code></pre>



Expand Down Expand Up @@ -485,7 +485,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">artworks</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLArtwork.html">SDLArtwork</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLFileManagerConstants.h@T@SDLFileManagerMultiUploadArtworkProgressHandler">SDLFileManagerMultiUploadArtworkProgressHandler</a></span><span class="p">?)</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">String</span><span class="p">]</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="nv">artworks</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLArtwork.html">SDLArtwork</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLFileManagerConstants.h@T@SDLFileManagerMultiUploadArtworkProgressHandler">SDLFileManagerMultiUploadArtworkProgressHandler</a></span><span class="p">?)</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="p">[</span><span class="kt">String</span><span class="p">]</span></code></pre>



Expand Down
4 changes: 2 additions & 2 deletions docs/Classes/SDLManager.html
Expand Up @@ -447,7 +447,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">send</span><span class="p">(</span><span class="n">_</span> <span class="nv">requests</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLNotificationConstants.h@T@SDLMultipleAsyncRequestProgressHandler">SDLMultipleAsyncRequestProgressHandler</a></span><span class="p">?)</span> <span class="k">async</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">send</span><span class="p">(</span><span class="n">_</span> <span class="nv">requests</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLNotificationConstants.h@T@SDLMultipleAsyncRequestProgressHandler">SDLMultipleAsyncRequestProgressHandler</a></span><span class="p">?)</span> <span class="n">async</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>



Expand Down Expand Up @@ -479,7 +479,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">sendSequential</span><span class="p">(</span><span class="nv">requests</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLNotificationConstants.h@T@SDLMultipleSequentialRequestProgressHandler">SDLMultipleSequentialRequestProgressHandler</a></span><span class="p">?)</span> <span class="k">async</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">sendSequential</span><span class="p">(</span><span class="nv">requests</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Classes/SDLRPCRequest.html">SDLRPCRequest</a></span><span class="p">],</span> <span class="nv">progressHandler</span><span class="p">:</span> <span class="kt"><a href="../Type%20Definitions.html#/c:SDLNotificationConstants.h@T@SDLMultipleSequentialRequestProgressHandler">SDLMultipleSequentialRequestProgressHandler</a></span><span class="p">?)</span> <span class="n">async</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>



Expand Down
2 changes: 1 addition & 1 deletion docs/Classes/SDLPermissionManager.html
Expand Up @@ -54,7 +54,7 @@ <h4>Objective-C</h4>


<h4>Swift</h4>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">start</span><span class="p">()</span> <span class="k">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>
<pre class="highlight swift"><code><span class="kd">func</span> <span class="nf">start</span><span class="p">()</span> <span class="n">async</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">Bool</span></code></pre>



Expand Down