2016-10-29 26 views
11

enter image description here包格式無法識別的,無效的,或不適合

的Xcode:8.1

語言:Objective-C的

我可以在我的iPhone上運行的項目,但不能在模擬器上運行。

我想:

1)刪除DerivedData文件夾

2)清理項目並重新啓動該項目的所有數據。

3)刪除資源文件夾。

但這並不奏效!

+0

[This](http://stackoverflow.com/a/38905949/1126520)回答爲我工作cocoapods版本 - 1.1.0 – sco

回答

6

您是否在使用CocoaPods? 更新CocoaPods本身+然後所有的豆莢從我工作。

注意:這是在Xcode自動更新今天之後。

+0

謝謝,它的工作。 – fzh

+0

不適用於我 – Mutawe

+1

有沒有人有替代品?更新CocoaPods會導致我現在需要處理的問題太多。 – JoshK

7

我有同樣的問題。我做了下面的步驟,並且它清了。在導航中選擇Pods - > TARGETS - > FDTakeResources - > Signing(啓用開發簽名) - > Identity(選擇Info.plist文件)。然後我可以在我的模擬器上運行它。

+2

豆莢項目不應該被修改。 – aelam

+0

@aelam作爲JoshK在接受的答案上說 - 更新cocoaPods創造了太多的問題讓我現在處理,所以..這個工作,我現在可以繼續我的生活:) –

+0

@GuntisTreulands我很有點當然,現在你可以降級你的Xcode 8.0,並且無論使用什麼版本的cocoapods都可以。或者你可以使用Xcode 8.1 + Cocoapods 1.1.1 – aelam

0

這不是主題啓動器的解決方案,但在我的情況下,我收到了有關嘗試簽署任何框架的CocoaPods後構建嵌入框架操作期間「捆綁格式無法識別,無效或不合適」的錯誤。更重要的是,只有在Jenkins上運行構建時纔會重現該問題。

原因是非常愚蠢的。詹金斯正在使用自定義輸出目錄,其中包含空格字符。 CP構建後生成的腳本不能正確處理具有空格的路徑,因此codign工具實際上未提供正確的框架路徑。

SOLUTION:仔細檢查你有你的路:)

希望這會幫助別人,以節省一些時間:)

0

的另一件事需要注意的是,如果事情是越來越投入沒有空格輸出文件夾不應該在那裏或從該輸出文件夾中刪除。例如,在我們的舊版本中,我們將文檔放入現在已簽名的輸出文件夾中。現在我們不能這樣做,我們必須把它放在簽名輸出文件夾旁邊。移動出來解決了無法識別的捆綁格式錯誤。希望這可以幫助某人。

14

對於那些更新Cocoapods或將Xcode恢復爲8的人。0是不是一種選擇,這裏是爲我工作的解決方案:

  1. 在Project Navigator
  2. 點擊New File...
  3. 選擇Property List
  4. 保存名稱Pods-Info.plist下的文件右鍵單擊Pods(例如)並將其留空
  5. 在項目導航器中選擇Pods
  6. 選擇Pods項目,然後選擇Build Settings
  7. 搜索Info.plist
  8. Info.plist File值設置爲Pods-Info.plist
+1

這對我有效!謝謝。 – emiliomarin

+0

謝謝,它在我的情況下工作時,升級xcode從8.0到8.3.2 –

+0

驚人的。不知道爲什麼這樣做,但升級到> = 8.1後,也爲我工作。非常感謝 – Hless

0

我看到了類似的問題,用的CocoaPods 0.39.0,最後我通過修改我的莢規範解決了這個問題:

註釋掉

s.resource_bundles = { 
    'DHSErdi' => ['Pod/Assets/*.png'] 
} 

,加入這個

s.resources = ['Pod/Assets/*.xib', 'Pod/Assets/*.png', 'Pod/Assets/*.jpg', 'Pod/Assets/*.html', 'Pod/Assets/javascript/dist/**/*.js','Pod/Assets/javascript/src/**/*.html'] 
相關問題