web-dev-qa-db-ja.com

「Xcode 6 Beta 4でアプリを実行すると、ファイル「MyApp.app」を開くことができませんでした。表示する権限がありません」

Xcode 6 Beta 4でアプリを実行しようとするとエラーが発生します。

The file "MyApp.app" couldn't be opened because you don't have permission to view it.

このエラーは、シミュレータやデバイスの種類に関係なく表示されます。

私が試してみました:

  • Xcodeでオーガナイザーからすべての派生データを削除する
  • ドライブのアクセス許可を修復する
  • 構築したMyApp.appの権限を手動で昇格する
  • コンピュータを再起動する

他の誰かがこの問題に遭遇し、解決策を見つけましたか?

Screenshot

261
drewag

プロジェクトのInfo.plistに問題がありました。私はXcode 6 Beta 4で同じ名前の新しいプロジェクトを作成してから、実際のプロジェクトのInfo.plistを新しいプロジェクトに置き換えました。その後、プロジェクトは構築され、正常に実行されました。

差分を見て、どうやらplistが遊び場のplistと混同されたかもしれないように見えます。バンドルIDは「com.Apple.dt.playground.iOS-18300-13」、実行ファイル名とバンドル名は「iOS」、その他の奇妙な要素です。

誰かが参照のためにそれを必要とする場合、これは完全なdiffです:

        <key>CFBundleDevelopmentRegion</key>
        <string>en</string>
        <key>CFBundleExecutable</key>
-       <string>iOS</string>
+       <string>${EXECUTABLE_NAME}</string>
        <key>CFBundleIdentifier</key>
-       <string>com.Apple.dt.playground.iOS-18300-13</string>
+       <string>com.myCompany.${PRODUCT_NAME:rfc1034identifier}</string>
        <key>CFBundleInfoDictionaryVersion</key>
        <string>6.0</string>
        <key>CFBundleName</key>
-       <string>iOS</string>
+       <string>${PRODUCT_NAME}</string>
        <key>CFBundlePackageType</key>
-       <string>AAPL</string>
+       <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>1.0</string>
-       <key>CFBundleSupportedPlatforms</key>
-       <array>
-               <string>iPhoneSimulator</string>
-       </array>
+       <key>CFBundleSignature</key>
+       <string>????</string>
        <key>CFBundleVersion</key>
        <string>1</string>
-       <key>DTPlatformName</key>
-       <string>iphonesimulator</string>
-       <key>DTSDKName</key>
-       <string>iphonesimulator8.0</string>
-       <key>LSBackgroundOnly</key>
-       <true/>
        <key>LSRequiresIPhoneOS</key>
        <true/>
+       <key>UIMainStoryboardFile</key>
+       <string>Main</string>
        <key>UIRequiredDeviceCapabilities</key>
        <array>
                <string>armv7</string>
        </array>
+       <key>UISupportedInterfaceOrientations</key>
+       <array>
+               <string>UIInterfaceOrientationPortrait</string>
+               <string>UIInterfaceOrientationLandscapeLeft</string>
+               <string>UIInterfaceOrientationLandscapeRight</string>
+       </array>
 </dict>
 </plist>
27
drewag

私はXcode 6 GMを使います。私は同じ問題に遭遇しました。私がしたことはビルド設定 - >ビルドオプションに行くことでした。それから、「C/C++/Objective-C用のコンパイラ」の値をデフォルトのコンパイラに変更しました。 enter image description here

Xcodeで次の操作を行います。

ウィンドウ - >オーガナイザー - >プロジェクト - >問題のあるアプリ - >派生データの削除ボタン。

私はそれからプロジェクトをきれいにし、大丈夫です

作品

146
Tom

DEVICEにも問題がある(シミュレータだけではない)?


他の解決策はシミュレータではなくデバイスではなく私のためにそれを修正しました。

私にとっては、この問題はメインコードを変更しようとしたときに(Xcode 6で)発生しました info.plist 私のアプリ名を変更しようとしながらプロパティ。

に info.plist Executable File名をデフォルトの${EXECUTABLE_NAME}..以外のものに変更しました。

私はこのフィールドを、飛び出し板のアイコンの下にあるアプリの名前を変更するフィールドと間違えていました。

141
Albert Renshaw

私にとっては、単純なProduct - > Cleanがうまくいった

52

私はビルドフォルダをきれいにすることでそれを修正しました。 'Product'メニューに行き、Option + 'Clean'をクリックしてください。その後問題は解決しました。

46
yury.ku

私はXcode 8.2で同じエラーを経験しました。私が見つけた理由は、ライブラリを追加している間に、手動でInfo.plistが追加されたことです。

そのため、Xcodeは正しいInfo.plistを選択することに混乱しています。

追加したライブラリからそのInfo.plistを削除しました。

それからそれはあらゆる許可警報なしでうまく働いています。

26
Antony Raphel

実行ファイル=> $(EXECUTABLE_NAME)を他の名前に変更していないか確認してください。この名前を変更した場合は、このエラーが表示されます。 $(EXECUTABLE_NAME)に置き換えてください。

17
Pratik Patel

製品 - >クリーン(コマンドシフトK)で固定

14

"cmd + shift + k"を試してプロジェクトをきれいにして再構築してください。少なくともそれは私のために働いた

13
Gellert Li

私の良さ!私はこの問題を解決するために何時間も費やしました。

OnXCode 7.3私は問題なくプロジェクトを進めていました。

間違えた

物理フォルダを追加し、そこにファイルを移動したところ、問題が発生しました。

全部試してみた

  • デフォルトコンパイラ
  • きれいにして造る
  • シミュレータをリセットし、シミュレータ、Xcode、iPhoneでさえMacを再起動します
  • 更新されたInfo.plist
  • 派生データの削除
  • プロジェクトのフォルダに対する権限を編集する
  • 私のアーキテクチャをチェックする

何もうまくいきませんでした:(

解決方法

私は新しいプロジェクトを作成しようとしていました、そしてそれらの物理フォルダを削除しました私は追加、クリーンビルド、そしてYESS !!

できます!!

enter image description here

13
swiftBoy

ダウンロードしたサンプルコードについても同様の問題(xCode 6.2)がありました。 Executable NameDefault in Info.plistに設定しようとしましたが、これはうまくいきませんでした。

代わりにC/C++/Objective-CのコンパイラをUnsupported Compilerの代わりにデフォルトのコンパイラ(Apple LLVM 6.0)に変更プロジェクト用(com.Apple.compilers.llvmgcc42)

Screenshot

11

新しいバージョンのXcodeで古いプロジェクトを開くと、このメッセージが表示されることがあります。

課題ナビゲーターに移動し、「更新された設定に更新」という警告のヒントに従います。

ブーム、魔法!

10
ManuQiao

1)まずビルドオプションを選択します。

2)次に、「C/C++/Objective-C用のコンパイラ」の値をデフォルトコンパイラに変更しました。

清潔で作業中:-)

10
Waseem Shah

私は、Build Optionsで私のコンパイラをLLVM 6.0に変更すれば十分であることがわかりました(xcode 6.1)

enter image description here

10

4年前にコミットされたgitHubからダウンロードしたプロジェクトで、私のXcode 6.1.1で同じエラーが発生しました。私にとっては、Architecturesをデフォルト値に設定する。Standard architectures(armv7、arm64)and C/C++/Objective-CからDefault Compiler(Building Settingsへ)が機能しました。

9
zeeawan

私のプロジェクトにも同じ問題がありました。後でプロジェクトで使用されている サードパーティ(fmdb)ファイルにInfo.plistが含まれていることがわかりました。

単にInfo.plistファイルを削除する私のために働いた!

Info.plist

9

私は更新するために食器棚から出ている私の古いプロジェクトの数でこのエラーがありました。 Xcode 6を古いコードと一緒に使用すると、何らかの理由でこれが発生するようです。

私はこれを使って行ったすべてのプロジェクトでこれを修正しました。

  1. 派生データを削除
  2. inProduct:きれいにする
  3. プロジェクトターゲットの[ビルド設定]に移動して[ビルドオプション]に移動し、[C/C++/Objective-C用のコンパイラ]の値を 'デフォルトのコンパイラに変更します。 - ) '。
9
user2431002

私は最近Xcode 6.0.1で古いプロジェクト(最初はXcode 4.xで作成された)を実行するのと同じ問題に出会います。

Building SettingArchitecturesをに変更して問題を解決しました。デフォルト値は "標準アーキテクチャ(armv7、arm64)"です。

これが同様の問題を抱えている人に役立つことを願っています:)

8
HunTer DRF

私は全ての答えを試してみましたが、どれも役に立ちませんでした。問題は、cocoapodを介してサブモジュールからリンクされた別のplistファイルが存在していたことが原因でした。幸いなことに、これは私自身のモジュールなので、サブモジュールプロジェクトからこのplistを削除してポッドを再インストールしました。

溶液

後で私は、問題の鍵がその2番目のplistの名前にあることを理解しました:単にinfo.plist。あなたはファイルの名前を変更して、サブモジュールのsourcesセクションを通してそれを再リンクすることができます

その2番目のplistファイルは固有の名前を持っていたので、Xcodeはイライラすることになっていませんでした。私のターゲット設定でさえinfo.plistではなくメインplistを指していました。 Xcodeはその名前について特別な考慮を払っているように見えます

バグはXcode 6.4およびXcode 7.0で再現されました

8
Tim

私の場合は、プロジェクト名と同じBundle NameExecutable fileinfo.plistの値を変更します。それは私のために働きました。

7
Ans

私もこれと同じ問題を抱えていました。どういうわけか私の重要な実行可能ファイルに対する価値が混乱しました。 $ {EXECUTABLE_NAME}に戻してください(プロジェクトの下にある>情報)。私のために働いた!

6
Viper

私にとっては、エラーは.plistファイルのキーCFBundleExecutableにあります。実行可能ファイルの名前を変更して、2つの単語の間にあるスペースを削除しました。 (例: "Wild Racer"から "WildRacer"へ)それを見つけるために1日かかりました!

Xcodeはデバッグには役に立ちません。

5
jeddi

問題が関連しているかどうかわからないが、多分それは私のように毛を引っ張る人のための解決策になるかもしれません。

私の場合は、たくさんのターゲットを持つプロジェクトがあります。各ターゲットはCocoa Touch Static LibraryとターゲットApplicationsであるベースプロジェクトのカスタマイズです。たとえmainファイルがライブラリのコンパイルに追加されても、各ターゲットには追加されていなくても、そのエラーメッセージは表示されます。だから私は何をしましたか?手動でmainファイルをCompile Sourcesセクションとbingoの各ターゲットに追加しました。

5
Gustavo Barbosa

私の場合、main(...)関数を含むmain.mは、「Build Phases」の「Compile Sources」のリストに含まれていませんでした。これが当てはまるかどうかを確認するには、Build Phasesに入り、main.mが "Compile Sources"リストに表示されているか調べます。

4
Awsed

xコード6.3.2付き

[ビルド設定]オプション[すべて] - [ビルドオプション] - [C/C++/Objective-C用コンパイラ] - [デフォルトコンパイラ(Apple LLVM 6.1)]

それからプロジェクトを再構築すれば、うまくいきます。

3
bruce

私にとってそれを解決したのは、アクティブアーキテクチャのみを構築からいいえに設定することでした。 はい.

3
Misha

私のアプリケーションはXCode 9.4で問題なく動作していましたが、XCode 10でプロジェクトを開いたときにこの問題が発生していました。私にとって問題はビルド設定でした。私はこのページで答えを見つけました https://forums.developer.Apple.com/thread/112141

手短に言うと、File> Workspace Settings…> Build Systemに行き、それを "Legacy Build System"に変更してください。

3
informatiker

私の場合は、Xcodeを閉じるのに役立ち、Disk Utilityを使ってアクセス許可を修復しました。 再起動した後で初めて、それは魅力のように働きました。

2
Markus Zeller

私も今日の朝この問題に直面していて、答えがどれも私を助けてくれなかったので特に私の場合。そして何時間も試した後、私はその問題を考え出しました。

実際に間違ってストーリーボードで作業している間に、 "Main.storyboard"を "。storyboard"に変更して元に戻しました。 「Main.storyboard」にすると問題が解決しました。

解決策(私の問題のとおり):xcodeが読み込めなかったためにファイル名を変更して問題が発生した可能性があります。例えば、上記のように "実行ファイル"の名前を変更する場合
考えられる問題領域:作業中のファイルが最後にいくつかある可能性があります。

2
rahulchona

私は同様の問題を抱えていました。どうやら私はプロジェクトフォルダの外からInfo.plistをインクルードしました。すべてのビルドの後に表示されるのと同じエラーが発生します(プロジェクトのクリーンアップ後に実行した後を除く)。

それを修正するには、プロジェクトフォルダからInfo.plistをインクルードするだけです。

2
Radek

私はXcode 6 GMを使っています。私は同じ問題に遭遇しました。私がしたのは「ビルド設定」 - >「ビルドオプション」(「compiler」を検索できます)に行き、「Compiler for C/C++/Objective-C」のオプションをDefault Compilerに変更することでした。

1
Harry Zhang

エラーメッセージは一般的なものであり、実際には何を意味するのか実際にはわかりません。

私にとっては、以前のgithubのバージョンを元に戻す必要がありました。

armv7 armv7s arm64

アーキテクチャへ。

1
SmallChess

私は名前を新しい名前に変更し、それから私は私のプロジェクトに古い名前を返しました。

1

実行/停止ボタンの右側にある必要なボタンを押して、スキームメニューを選択します。

Picture 1


スキーム編集...を押します。

Picture 2


実行ファイルを選択してください。

Picture 3

0
Borzh

SwiftプロジェクトにObjective Cファイルを追加した後、Xcode 10.1でこの問題が発生しました。以下のステップに従ってこれを動かしました、

  • [ターゲット] - > [ビルドフェーズ]の下でコンパイルソースに.mファイルを追加します。
  • .mファイルのすぐ隣にあるコンパイラフラグに-objcを追加します。
0
yaali

私はxcode 6.1より前のバックアップから自分のプロジェクトを復元することができました、

別のディレクトリからワークスペースを開くと、このエラーなしでターゲットを実行できました。シミュレータも今正常に動作します。

0
Bamaco

私のappdelegateクラスが私のメインのアプリターゲットに対してリンクされているのではなく、別の静的フレームワークに対してリンクされていたときに私はこの問題を抱えていました。ターゲットアプリに直接リンクすることで問題は解決しました。

0
StackRunner

Xcodeの設定から自分の派生データを消去することでこれを修正しました。

0
user3288482

私は自分自身で "arm32"と "arm64"のアーキテクチャを切り替えるのを修正しました。 "Build Settings"から、 "Architectures"と "Valid Architectures"を "arm32"から "arm64"に変更しました。他の多くの設定を変更した後、arm32とarm64を切り替えても違いはありません。そのため、これがルートの原因だったのであれば私は懐疑的です。

以前私はここで他のすべての提案を試してみました:

  • plistは変更されていません
  • EXECUTIBLE_NAMEは変更されていません
  • クリーンビルド
  • DerivedDataを削除します
  • デフォルトコンパイラ
0
brunobowden

プロジェクトフォルダの読み書き権限を確認します(Finder>情報を見るでプロジェクトフォルダを右クリック)。

0
Di B.

私はXcode 10と同じような問題を抱えていました。上記のすべての解決策は私を助けませんでした。

私の解決策:同じ名前で新しいプロジェクトを作成します。そして、プロジェクトとワークスペースのファイルを、複製したプロジェクトのものと変更します。そしてそれはうまくいきます! (パスなどの小さなビルド問題の後)

0
evgenii

私の解決策は次のとおりです。

  1. 端末にこれを入力してください:open〜/ Library/Developer/CoreSimulator/Devices /

  2. 適切なフォルダを削除します

  3. もう一度コンパイルするとうまくいくはずです

0
CGN

提供された答えはどれも私にとってうまくいきませんでした。私の場合、arm64が欠落していたため、ビルド設定/アーキテクチャ/有効なアーキテクチャのターゲットアーキテクチャを$(ARCHS_STANDARD)に更新することで、最終的にエラーを修正しました。これはプロジェクトのビルドを禁止していませんでしたが、有効なアーキテクチャの更新を推奨する警告が発行されましたが、実行時に「アプリを開くことができませんでした」エラーが表示されました。

このエラーはかなり一般的なもので、許可の問題と常にリンクしているわけではありませんが、生成されたアプリパッケージが無効な場合に表示される可能性があります。

0
Daniel Mavrakis

Plistを使ってサードパーティのlibを追加したかどうかも確認してください。いつかサードパーティのlibが問題を引き起こしている情報plistを持っています。

0
Shreesh Garg

このメッセージは、ビルドフェーズ「ソースをコンパイル」で追加されていないプロジェクトで.mファイルを使用する場合にも表示されます。

0
Secondwave

私にとってはエラーはファイルinfo.plist、フィールドBundle identifierにありました。どういうわけかそれはに修正されました

com.myCompany.${PRODUCT_NAME:rfc1034identifier}

から

com.myCompany.${PRODUCT_NAME}

0

私の側では、このエラーの引き金となったのは、resourcesフォルダーのルートに、最終的な実行可能ファイルと同じ名前のフォルダーがあったことです。

そのため、実行ファイルを起動すると、Xcodeはフォルダを見つけて、フォルダの実行に問題があると思います。 ;-)

0
Nicolas Buquet

私はあなたのXcodeドキュメントがあるフォルダに行き、情報を得るためにcommand + Iを押します。下部にあるフォルダをロック解除してアクセス許可を編集します。パーミッションが良く見える場合は、囲まれたフォルダに適用するように言うボックスをチェックしてください。私は個人的にこれを見たことがないので、あなたがビルドパーミッションを編集するときにあなたがあなたの投稿で言っていたのかどうかわからない。

0
fingaz

私は私のココアポッドを更新し、ビルド設定で新しくサポートされたアーキテクチャを追加しました、そしてそれはそれを修正しました。

0
Scott Loomis

私はシミュレータとデバイスの両方でこの問題に遭遇しました。

そしてトリッキーな現象があります。プロジェクトを新しい場所にコピーすると、最初に実行したときにこの問題が発生する可能性があります。しかし、私が掃除して走った後、この問題が起こります。

私はこの質問に対する答えからほとんどすべての解決策を試してみましたが、どちらも行いません。

バージョン管理システムgitの助けを借りて、私はコードの前のバージョンをチェックして、どんな修正がこの問題を引き起こしたかを見ることができます。

私のプロジェクトではHEADバージョンが実行可能で、私の最新のコミットされていない修正はこの問題につながるでしょう。

そこで私は問題を見つけるために私のコードの実行可能なバージョンから各ファイルをチェックアウトします。 coin.xcodeproj/project.pbxproj(コインは私のアプリの名前です)をチェックアウトすると、この問題はなくなりました。

解決策:実行可能なcoin.xcodeproj/project.pbxprojをチェックアウトするだけです。私の場合はHEADバージョンを使用するだけで問題ありません。

git checkout HEAD coin.xcodeproj/project.pbxproj


要約すると、

0
Kris Roofe

AppDelegateが見つからないという問題がありました。

最小限のものを作成することで問題は解決しました。

import UIKit

@UIApplicationMain
final class AppDelegate: UIResponder,UIApplicationDelegate {
}
0
Etan