簡體   English   中英

iOS 8+框架,嵌套嵌入式框架

[英]iOS 8+ framework with nested embedded framework

我創建了一個自定義iOS框架LoginKit。 它反過來將Alamofire框架嵌入其中。 在模擬器中,一切正常,但在嘗試在設備上運行時,我收到錯誤:

Dyld錯誤消息:

  Library not loaded: @rpath/Alamofire.framework/Alamofire
  Referenced from: /Users/USER/Library/Developer/CoreSimulator/Devices/506B47DE-804F-477F-AA90-69DF039E07FA/data/Containers/Bundle/Application/26D0CA8F-7284-42B5-8091-E5915736DCDB/Bingo.app/Bingo
  Reason: image not found 

在父應用程序中,在嵌入式二進制文件部分中,我只有LoginKit.framework。 現在,如果我還嵌入了Alamofire.framework(取自LoginKit下面),那么錯誤就會消失。 這種行為有望嗎? 它不會破壞封裝的整個目的嗎?

您要創建的內容稱為“ 傘框架” 通過自定義bash腳本的一些黑客和使用情況,您可以創建嵌套的框架描述這樣一個框架這里

但是,Apple 非常不鼓勵創建傘形框架,因為這種方法可以創建奇怪的運行時和/或鏈接錯誤的所有國王。 此外,很明顯,如果您的應用程序包含多個框架,這些框架在不同版本中嵌入相同的框架甚至相同的框架,那么它將變得更大,更難維護。 這里可以找到對這些問題的一個很好的解釋。

目前,包含框架的框架仍然是應用程序開發中的一個大問題,因為Apple不提供良好的框架處理。 在這個問題最終解決之前,我強烈建議將所有框架和子框架直接嵌入到應用程序中。

暫無
暫無

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

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