title: Expected method to read dictionary element not found on object of type 'id<NSCopying>'
body: <p>I am using Cocos2d-ObjC in my app and recently upgraded Xcode to v9.3. Now I have an error in "CCRendererBasicTypes.m" which says</p>
  
  <p><code>"Expected method to read dictionary element not found on object of type 'id&lt;NSCopying&gt;'"</code></p>
  
  <p>Everything else is working fine. This is the part of CCRendererBasicTypes</p>
  
  <pre><code>-(id)objectForKey:(id&lt;NSCopying&gt;)options
  {
      CCBlendMode *blendMode = [self rawObjectForKey:options];
      if(blendMode) return blendMode;
  
      // Normalize the blending mode to use for the key.
      id src = (options[CCBlendFuncSrcColor] ?: @(GL_ONE));
      id dst = (options[CCBlendFuncDstColor] ?: @(GL_ZERO));
      id equation = (options[CCBlendEquationColor] ?: @(GL_FUNC_ADD));
  
      NSDictionary *normalized = @{
          CCBlendFuncSrcColor: src,
          CCBlendFuncDstColor: dst,
          CCBlendEquationColor: equation,
  
          // Assume they meant non-separate blending if they didn't fill in the keys.
          CCBlendFuncSrcAlpha: (options[CCBlendFuncSrcAlpha] ?: src),
          CCBlendFuncDstAlpha: (options[CCBlendFuncDstAlpha] ?: dst),
          CCBlendEquationAlpha: (options[CCBlendEquationAlpha] ?: equation),
      };
  
      // Create the key using the normalized blending mode.
      blendMode = [super objectForKey:normalized];
  
      // Make an alias for the unnormalized version
      [self makeAlias:options forKey:normalized];
  
      return blendMode;
  }
  </code></pre>
  
  <p>The error appears in every line with</p>
  
  <pre><code>options[...]
  </code></pre>