title: iOS QuickStart for Google Sheets API fails after converting to Swift 3
body: <p>iOS QuickStart for Google Sheets API :
  <a href="https://developers.google.com/sheets/quickstart/ios?ver=swift" rel="nofollow noreferrer">https://developers.google.com/sheets/quickstart/ios?ver=swift</a></p>
  
  <p>In Xcode 8 the code works with Swift 2 but failures to get values of sheet from GTLRSheets_ValueRange. </p>
  
  <p>Reproduce the problem:</p>
  
  <ol>
  <li><p>Follow the instruction to create the project, pod, and copy-paste the code.</p></li>
  <li><p>Switch on "Use Legacy Swift Language Version" in the project Build Settings - set "Yes" and select "To Current Swift Syntax..." in the menu Edit/Convert</p></li>
  <li><p>Verify the application works fine.</p></li>
  <li><p>Switch off "Use Legacy Swift Language Version" in the project Build Settings - set "No" and select "To Current Swift Syntax..." in the menu Edit/Convert</p></li>
  <li><p>Apply conversion changes</p></li>
  <li><p>Verify the application starts, authorises to the google account and calls the method "displayResultWithTicket".</p></li>
  </ol>
  
  <p>Expected result:</p>
  
  <p>The instruction below populate the variable "rows" with values from the result object</p>
  
  <p>"let rows = result.values!"</p>
  
  <p>Actual result:</p>
  
  <p>The instruction below throws the error</p>
  
  <pre><code>"result.values"
  </code></pre>
  
  <p>However following instructions provide expected values:</p>
  
  <pre><code>result.range
  result.majorDimension 
  </code></pre>
  
  <p>I can see values within the result (in the internal structure).</p>
  
  <p>Same example works in Android well.</p>
  
  <p>UPD: added image with error and watching variables:</p>
  
  <p><a href="https://i.stack.imgur.com/q4OGV.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/q4OGV.jpg" alt="Error and variable list"></a></p>
  
  <p>The only difference between Swift 2 and 3 versions found so far in this code - field "values" is converting from Objective-C from "NSArray&lt;NSArray *> *values" to "[[AnyObject]]?" (in Swift 2) and to "[[Any]]?" (in Swift 3): <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0116-id-as-any.md" rel="nofollow noreferrer">SE-0116</a></p>
  
  <p><a href="https://i.stack.imgur.com/bikJP.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/bikJP.png" alt="enter image description here"></a></p>
  
  <p>UPD-2: Error points in instructions. Seems it is related to following operation. I tested bugs reported for such earlier - they are not reproduced.</p>
  
  <pre><code>Swift._arrayForceCast &lt;A, B&gt; (Swift.Array&lt;A&gt;) -&gt; Swift.Array&lt;B&gt;
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/g7msG.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/g7msG.jpg" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/KIHQ2.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/KIHQ2.jpg" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/UKJCI.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/UKJCI.jpg" alt="enter image description here"></a></p>