极其缓慢的Xamarin.iOS构建

3
我们的Xamarin.iOS构建需要将近5分钟时间。有没有人知道为什么这么慢呢?我们链接了许多本地库。如果我们可以在不清理的情况下进行构建,那就不会那么糟糕。但是,由于这个Xamarin bug(https://bugzilla.xamarin.com/show_bug.cgi?id=52165),我们只能进行清理构建。谢谢。
Tasks perfomance summary:
     0.165 ms  AssignCulture                                           1 calls
     4.000 ms  AssignProjectConfiguration                              4 calls
    16.440 ms  AssignTargetPath                                       18 calls
 24836.932 ms  Codesign                                                1 calls
  7561.935 ms  CodesignVerify                                          1 calls
    30.837 ms  CollectBundleResources                                  2 calls
     0.487 ms  CollectFrameworks                                       1 calls
    15.252 ms  CollectITunesArtwork                                    1 calls
    18.556 ms  CompileAppManifest                                      1 calls
    25.155 ms  CompileEntitlements                                     1 calls
    27.335 ms  CompileITunesMetadata                                   1 calls
    15.406 ms  ComputeBundleResourceOutputPaths                        1 calls
   737.619 ms  Copy                                                    8 calls
     0.689 ms  CreateAssetPackManifest                                 1 calls
     0.925 ms  CreateDebugConfiguration                                1 calls
    12.812 ms  CreateDebugSettings                                     1 calls
    87.254 ms  CreateItem                                            108 calls
     0.839 ms  CreatePkgInfo                                           1 calls
     0.193 ms  CreateProperty                                          1 calls
  2997.449 ms  Csc                                                     1 calls
     1.307 ms  Delete                                                  4 calls
     0.669 ms  DetectDebugNetworkConfiguration                         1 calls
     2.607 ms  DetectSdkLocations                                      1 calls
   138.342 ms  DetectSigningIdentity                                   1 calls
 24605.093 ms  DSymUtil                                                1 calls
    30.904 ms  EmbedMobileProvision                                    1 calls
     1.635 ms  FindAppConfigFile                                       1 calls
     1.453 ms  FindItemWithLogicalName                                 1 calls
     7.779 ms  FindUnderPath                                           1 calls
     1.678 ms  GetNativeExecutableName                                 1 calls
     0.589 ms  GetReferenceAssemblyPaths                               1 calls
     1.546 ms  MakeDir                                                 2 calls
     0.622 ms  Message                                                 2 calls
  1359.395 ms  MSBuild                                                 5 calls
272271.284 ms  MTouch                                                  1 calls
  3888.247 ms  OptimizeImage                                           1 calls
   157.087 ms  OptimizePropertyList                                    5 calls
     0.598 ms  ParseExtraMtouchArgs                                    1 calls
     0.319 ms  ReadLinesFromFile                                       1 calls
     0.989 ms  RemoveDir                                               3 calls
    46.349 ms  RemoveDuplicates                                        1 calls
    81.335 ms  ResolveAssemblyReference                                1 calls
   121.745 ms  SmartCopy                                               1 calls
  6812.551 ms  SpotlightIndexer                                        1 calls
     1.953 ms  Touch                                                   2 calls
   180.862 ms  UnpackLibraryResources                                  1 calls
     2.020 ms  ValidateAppBundleTask                                   1 calls
     1.478 ms  WriteItemsToFile                                        2 calls
     4.712 ms  WriteLinesToFile                                        2 calls

构建成功。 0个警告 0个错误

耗时00:05:46.1791850


1
哪些本地库和依赖项被链接? - apollosoftware.org
它们实际上是第三方的.a库,我们正在使用gcc命令进行链接。 - JRosanowski
你是从源代码构建.a库,还是在构建脚本期间复制它们的预编译版本?你能否省略这些库的构建,在构建时手动复制它们? - apollosoftware.org
我们不是在构建它们,只是复制预编译的并链接它们。 - JRosanowski
1个回答

1

有几件事情可以做来加快编译速度。

启用增量构建和启用设备特定构建

它们位于:

Properties -> iOS Build

只会构建已更改的代码部分,而设备特定的构建将仅构建所选设备。

更新链接器行为

在为设备构建时,您可以将链接器行为更新为全部链接不链接以用于模拟器。 至于增量和设备特定的构建,则可以在以下位置找到:

Properties -> iOS Build

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接