anchor.diff:    // On iOS, we use Xcode to compile the snapshot into a static library that the
     // end-developer can link into their app.
     if (platform == TargetPlatform.ios) {
  -    printStatus('Building app.a...');
  +    printStatus('Building app.so...');
   
       // These names are known to from the engine.
       const String kDartVmIsolateSnapshotBuffer = 'kDartVmIsolateSnapshotBuffer';
  
positive.code:   } else {
      String artifactsDir = tools.getEngineArtifactsDirectory(platform, buildMode).path;
      entryPointsDir = artifactsDir;
      String hostToolsDir = path.join(artifactsDir, getNameForHostPlatform(getCurrentHostPlatform()));
      genSnapshot = path.join(hostToolsDir, 'gen_snapshot');
    }
  
    Directory outputDir = new Directory(outputPath);
  
negative.code:     runCheckedSync(<String>['xcrun', 'cc', '-c', kDartVmIsolateSnapshotBufferC, '-o', kDartVmIsolateSnapshotBufferO]);
      runCheckedSync(<String>['xcrun', 'cc', '-c', kDartIsolateSnapshotBufferC, '-o', kDartIsolateSnapshotBufferO]);
  
      String appSo = path.join(outputDir.path, 'app.so');
  
      List<String> linkCommand = <String>[
        'xcrun', 'ld', '-dylib', '-o', appSo,
        kDartVmIsolateSnapshotBufferO,
        kDartIsolateSnapshotBufferO,
      ];
      if (!interpreter)
        linkCommand.add(assemblyO);
      runCheckedSync(linkCommand);
    }
  
    return outputPath;
  