簡體   English   中英

可可豆莢和Watchkit Extesion

[英]Cocoa pods and Watchkit Extesion

我嘗試為我的應用程序構建一個WatchKit擴展...

我更新了pods文件,如下所示:

platform:ios, '8.0'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'

link_with 'my-team-ios', 'My Team WatchKit Extension'

def shared_pods
    pod 'DOSingleton'
    pod 'JSONModel'
    pod 'MagicalRecord'
end

target :'My App' do
    shared_pods
    pod 'Facebook-iOS-SDK', '~> 3.23.1'
    pod 'Reveal-iOS-SDK', :configurations => ['Debug']
    ... some more pods here...
end

target :'My Team WatchKit Extension' do
    shared_pods
end

我如何安裝pod並且沒有出錯...

但是,當我構建應用程序時,我收到此錯誤:

ld: framework not found Pods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我的問題在這里是什么?

使用CocoaPods時,需要打開xcworkspace文件而不是項目文件。

問題是當更新到cocoapods 0.36.x時,他們現在正在從每個pod庫中創建Frameworks。 查看有關它博客文章。

這會導致任何依賴於其他pod的pod庫出現問題,以及它們在import語句中引用它們的方式,以及代碼如何導入它們。 Pod進程現在將它們轉換為框架,以及何時將它們導入為

#import "ThisOtherPodClass.h"

現在需要導入為

#import <ThisPodsFrameworkName/ThisOtherPodClass.h>

有一個新版本的可可豆莢.38,旨在支持WatchKit。 但是,如果要使用當前版本,請檢查o確保將libPods.a添加到目標,包含的庫和框架中的WatchKit擴展。 其次,確保在General選項卡中將Pods.debug和Pods.release添加到Watchkit Extension

https://github.com/CocoaPods/CocoaPods/issues/3382

neonichu在2015年4月15日評論說,首先要確保OTHER_LDFLAGS不會被項目和目標中不必要的東西覆蓋。

在buids設置中設置OTHER_LDFLAGS解決了我的問題。

我正在使用Pod 1.2.1並面臨同樣的問題,即沒有這樣的模塊XYZ ,對於在這里遇到同樣問題的人,我做了什么來克服它:

use_frameworks!

def shared_pods
    pod 'XYZ'
end

target 'MyApp' do
    platform :ios, '8.0'

    shared_pods

    pod 'Blah'
    pod 'blah'

end

target 'Watch Extension' do
    platform :watchos, '3.2'
    shared_pods 
end

我剛剛在每個目標下添加了平台,例如platform :watchos, '3.2'之前丟失了,它解決了我的問題。

嘗試改變這一行

target :'My App'target :'My Team WatchKit Extension'

並刪除冒號:

target 'My App'target 'My Team WatchKit Extension'

我找到了一個“暫時解決方案”:切換回CocoaPods 0.35

現在一切正常,我對項目/ pod文件的任何更改(除了刪除'use_frameworks!')

我想,這不應該是這里的最終解決方案......

通過再次升級到0.36進行的短暫測試引發了與之前相同的問題......

這是GitHub問題的鏈接:

重命名目標,使其不包含任何空格 - >在podfile中以及在General - > Targets中的MyTeamWatchKitExtension。 這解決了我的問題

暫無
暫無

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

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