私はここでたくさんの答えを見ましたが、誰も私の問題を修正していません。
カスタムフレームワークとiOSアプリプロジェクトを備えたXcodeワークスペースがあります。プロジェクトは今朝まで問題なく動作していましたが、ビルドされましたがすぐにクラッシュしました:
dyld: Library not loaded: @rpath/ONCKit.framework/ONCKit
Referenced from: /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/atero_t
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit: mmap() error 1 at address=0x100118000, size=0x000B8000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit
/private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit: mmap() error 1 at address=0x100280000, size=0x000B8000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Bundle/Application/4DF67A3F-6255-4276-8812-8C742A363995/atero_t.app/Frameworks/ONCKit.framework/ONCKit
私は一日中ビルド設定を試していましたが、完全に迷っています。
今日、この問題に遭遇し、同じ方法で解決しました。コード署名を取り消して再生成すると、この問題が解決します。しかし、その「なぜ」の部分に光を当てるには。
Appleは先に進み、証明書の内容を変更しました。より正確には、件名の下に新しい「OU」(組織単位)フィールドを追加しました。コード署名を取り消して再生成することにより、欠落していたフィールドが追加され、問題は解消されました。
これが誰かを助ける場合、ウェブで見つけ続けた解決策のどれも私のために働いていませんでした。私の髪を2日間引っ張って、すべてを試しました。社内証明書、新しいプロビジョニングプロファイル、埋め込みファイルへの追加などを取り消しました。
キーチェーンアクセスで「Apple WWDR and iOS Distributions certs are set to "Always Trust"
」の代わりに「Use Systems Default "。私の証明書を"Use Systems Defaults"
に戻し、すべてが正常に機能するようになりました。なぜ、どのように機能するのかはわかりませんが、機能しました。
Xcodeは、複数のデバイスでアプリを実行している場合に混同される可能性があるいくつかのデバイス固有のものをキャッシュすることがわかりました。簡単な修正は、Xcodeキャッシュを削除することです。次のコマンドでクリーンアップします
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Caches/com.Apple.dt.Xcode
Xcodeの派生データを消去する
Finderを起動>移動>フォルダに移動>下の行を貼り付け
~/Library/Developer/Xcode/DerivedData
Xcodeを再起動します。
まあ、私の場合は、cocoapodsを使用しています。podファイルから、次のように変更します。
target 'CoreMotionExample' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for CoreMotionExample
pod 'Firebase/Analytics'
に
target 'CoreMotionExample' do
# Comment the next line if you don't want to use dynamic frameworks
# use_frameworks!
# Pods for CoreMotionExample
pod 'Firebase/Analytics'
それから物事は働き始めます...なぜか分かりません
「use_frameworks!」を削除することで私の問題は解決しました。そして「use_modular_headers!」に置き換えます。ポッドファイルで、ターミナルでポッド更新とポッドインストールを行います。
この問題で1週間頭を悩ませた後、これが私と同じように役立つことを願っています。
私のように、最近この問題に遭遇し、どのコード署名エンティティをどこでどのように正確に取り消すのか疑問に思っている他の人のために(設定>アカウントにあります):
私にとっても、朝はすべてうまくいきました。再起動についてはどこかで読んだ。そのため、別の長い署名IDプロビジョニングプロファイルセッションを行う前に、マシンを再起動しました。そしてそれは明らかにそれ以上の努力を必要とせずにそれを修正しました。
OS X 10.11.4上のSwift、Xcode 7.3。
コード署名プロファイルを変更するだけで問題が解決しました。ターゲットに移動します。次に、「一般」->「署名」->「チーム」で別のオプションを選択しました