簡體   English   中英

Xcode 7錯誤。 構建時缺少必需的架構

[英]Xcode 7 error. Missing required architechture when building

當我嘗試構建項目時,出現以下錯誤(請參見下文)

一些信息

iOS7目標

升級到xcode7。但是我也確實在xcode 6中遇到問題

BaseSdk IOS9

已安裝吊艙。 但是由於我的項目針對的是IOS7,所以我不能使用use_frameworks

該代碼可在我的同事機器上使用

ld: warning: ignoring file /Users/jvk/Code/*****/Security.framework/Security, missing required architecture x86_64 in file /Users/jvk/Code/****/Security.framework/Security (3 slices)
Undefined symbols for architecture x86_64:
  "_SecCertificateCopyData", referenced from:
      _AFCertificateTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecCertificateCreateWithData", referenced from:
      +[FABCertificatePinner createCertificationWithData:length:] in Fabric(FABCertificatePinner.o)
      _AFPublicKeyForCertificate in libPods.a(AFSecurityPolicy.o)
      -[AFSecurityPolicy evaluateServerTrust:forDomain:] in libPods.a(AFSecurityPolicy.o)
      _FABCertificateWithData in Fabric(FABCerts.o)
  "_SecPolicyCreateBasicX509", referenced from:
      _AFPublicKeyForCertificate in libPods.a(AFSecurityPolicy.o)
      -[AFSecurityPolicy evaluateServerTrust:forDomain:] in libPods.a(AFSecurityPolicy.o)
      _AFPublicKeyTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecPolicyCreateSSL", referenced from:
      -[AFSecurityPolicy evaluateServerTrust:forDomain:] in libPods.a(AFSecurityPolicy.o)
  "_SecTrustCopyPublicKey", referenced from:
      _AFPublicKeyForCertificate in libPods.a(AFSecurityPolicy.o)
      _AFPublicKeyTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecTrustCreateWithCertificates", referenced from:
      _AFPublicKeyForCertificate in libPods.a(AFSecurityPolicy.o)
      _AFPublicKeyTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecTrustEvaluate", referenced from:
      -[FABCertificatePinner evaluateTrust:result:] in Fabric(FABCertificatePinner.o)
      _AFPublicKeyForCertificate in libPods.a(AFSecurityPolicy.o)
      _AFServerTrustIsValid in libPods.a(AFSecurityPolicy.o)
      _AFPublicKeyTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecTrustGetCertificateAtIndex", referenced from:
      _AFCertificateTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
      _AFPublicKeyTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecTrustGetCertificateCount", referenced from:
      _AFCertificateTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
      _AFPublicKeyTrustChainForServerTrust in libPods.a(AFSecurityPolicy.o)
  "_SecTrustSetAnchorCertificates", referenced from:
      -[FABCertificatePinner evaluateTrust:result:] in Fabric(FABCertificatePinner.o)
      -[AFSecurityPolicy evaluateServerTrust:forDomain:] in libPods.a(AFSecurityPolicy.o)
  "_SecTrustSetAnchorCertificatesOnly", referenced from:
      -[FABCertificatePinner evaluateTrust:result:] in Fabric(FABCertificatePinner.o)
  "_SecTrustSetPolicies", referenced from:
      -[AFSecurityPolicy evaluateServerTrust:forDomain:] in libPods.a(AFSecurityPolicy.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我曾嘗試通過按他們的建議拖動手提箱圖標來遷移到Fabric。 在此操作失敗后,我選擇了Cocoapods路線來更新Crashlytics並將Fabric添加到我的應用程序。 我在這里收到相同的錯誤消息。

原來,當我嘗試將Fabric拖到前面時,我保留了用於將所有項目復制到本地的單選按鈕-當您執行此操作時,它也會在整個本地復制Security.framework文件。 我的目標正在引用此版本的Security.framework ,這顯然在它們沖突時導致了此問題,從而產生與根本未引用相同的錯誤。

當我從“ Linked Frameworks and Libraries刪除此文件,並將其從項目中刪除並移至回收站,然后正確地重新添加Security.framework時,此錯誤消失了。

Link Binary with Libraries中將Security.framework添加到目標中並進行構建

嘗試將x86_64添加為要構建的體系結構,並將其設置為始終為所有體系結構構建。 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM