title: MSMessage url stays nil after setting it to url of a file
body: <p>I have an app with an iOS 10 iMessage app. When I attach my file URL to an <code>MSMessage</code> <code>message.URL</code> is <code>(null)</code>. I really don't know what's causing this. When I check the logs, I see a proper url: <code>URL: file:///thisuser/...</code> etc. However, <code>message.URL</code> logs <code>(null)</code>.</p>
  
  <p>I've build an <code>Exporter</code> class, this saves the file to disk and then returns the path for it.</p>
  
  <pre><code>+ (NSString *) saveToDisk:(NSDictionary *)dictionary {
      // Figure out destination name (in public docs dir)
      NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
      NSString *documentsDirectory = [paths objectAtIndex:0];
      NSString *zippedName = [self getExportFileName:dictionary withExtension:YES];
      NSString *zippedPath = [documentsDirectory stringByAppendingPathComponent:zippedName];
  
      // Export to data buffer
      NSData *gzData = [NSKeyedArchiver archivedDataWithRootObject:dictionary];
  
      if (gzData == nil) return FALSE;
  
      // Write to disk
      [gzData writeToFile:zippedPath atomically:YES];
  
      return zippedPath;
  }
  </code></pre>
  
  <p>This will return something like: <code>/Users/thisuses/Library/Developer/CoreSimulator/Devices/.../Documents/new-save.rst</code>, where <code>.rst</code> is a custom file extension just for my app. This, in turn, is added to the <code>MSMessage</code>.</p>
  
  <pre><code>MSConversation *conversation = [self activeConversation];
  
  MSMessageTemplateLayout *layout = [[MSMessageTemplateLayout alloc] init];
  layout.image = [UIImage imageNamed:@"test"];
  layout.caption = url.host;
  
  MSMessage *message = [[MSMessage alloc] init];
  message.layout = layout;
  
  NSLog(@"Converter: %@", [Converter toDictionary:array]);
  NSLog(@"Exporter: %@", [Exporter saveToDisk:[Converter toDictionary:array]]);
  NSLog(@"URL: %@", [NSURL fileURLWithPath:[Exporter saveToDisk:[Converter toDictionary:array]]]);
  
  message.URL = [NSURL fileURLWithPath:[Exporter saveToDisk:[Converter toDictionary:array]]];
  
  NSLog(@"Message URL 1: %@", message.URL);
  
  [conversation insertMessage:message completionHandler:^(NSError * error) {
      NSLog(@"MSConvo error: %@",error);
  }];
  </code></pre>
  
  <p>==
  Edit: I added a check to the code to see if the Exporter returns a valid file path and turns out, it does.</p>
  
  <pre><code>NSURL *fileURL = [NSURL fileURLWithPath:[Exporter saveRequestToDisk:[Converter databaseToRequest:history]]];
  
  if ([fileURL isFileURL]) {
      NSLog(@"is File URL!");
      message.URL = fileURL;
  }
  </code></pre>