“File” MyApp.app “tidak dapat dibuka karena Anda tidak memiliki izin untuk melihatnya” ketika menjalankan aplikasi di Xcode 6 Beta 4

273

Setiap kali saya mencoba menjalankan aplikasi saya di Xcode 6 Beta 4 saya mendapatkan kesalahan:

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

Kesalahan ini muncul terlepas dari simulator atau perangkat apa yang saya targetkan.

Saya telah mencoba:

  • Menghapus semua Data Turunan dari Organizer di Xcode
  • Memperbaiki izin pada drive saya
  • Secara manual meningkatkan izin MyApp.app yang dibangun
  • Mulai ulang komputer saya

Adakah orang lain yang mengalami masalah ini dan menemukan solusinya?

Tangkapan layar

drewag
sumber
1
Saya mendapatkan masalah yang sama dengan XCode 6.1. Pada awalnya, masalahnya hanya dengan simulator, sekarang, setelah mengikuti beberapa petunjuk dalam posting ini, saya memiliki kesalahan yang sama dengan menjalankan ponsel target saya juga.
Bamaco
1
Saya mengikuti solusi @YuAn. Ini bekerja sangat baik untuk simulator. Terima kasih Tetapi ketika saya mencoba membangunnya di perangkat, saya masih menerima pesan yang mengatakan 'Saya tidak punya izin untuk melihatnya'. File myapp.app dalam direktori produk dalam xcode dan juga dalam direktori data turunan ditampilkan diblokir bahkan setelah mencoba membangun setelah menghapus isi dari data yang diturunkan.
Srinivasan N
4
Cara lain (bodoh) untuk memicu masalah ini: Kompilasi aplikasi dengan hanya sumber daya, dan tanpa file sumber. Jangan tanya saya bagaimana saya tahu itu :)
Krumelur
4
Produk> Bersihkan selesaikan ini untuk saya
mazorati
Dalam kasus saya tidak ada yang tidak berfungsi !! Setelah saya menghapus file pilst dari Xcode dan lagi melampirkan proyek, itu berfungsi seperti pesona !! Semoga bisa membantu kalian !!
Ravi

Jawaban:

252

Saya menggunakan Xcode6 GM. Saya mengalami masalah yang sama. Apa yang saya lakukan adalah pergi ke Pengaturan Bangun -> Opsi Bangun. Lalu saya mengubah nilai "Compiler untuk C / C ++ / Objective-C" ke Default Compiler.masukkan deskripsi gambar di sini

YuAn Shaolin Maculelê Lai
sumber
146

Memiliki masalah pada PERANGKAT juga (bukan hanya simulator)?


Solusi lain hanya memperbaikinya untuk saya di simulator, bukan di perangkat.

Bagi saya masalah ini terjadi (dalam Xcode 6) ketika saya mencoba mengubah properti info.plist utama sembari mencoba mengubah nama aplikasi saya.

Di info.plist saya telah mengubah Executable Filenama menjadi sesuatu selain dari standar ${EXECUTABLE_NAME}...

Saya telah salah mengira bidang ini sebagai bidang yang mengubah nama aplikasi di bawah ikon di loncatan.

Albert Renshaw
sumber
10
Dalam kasus saya, ini berhasil, terima kasih. Saya telah mengubah bidang serupa lainnya di file <appname> -Info.plist saya, dan begitu saya mengubah File yang Dapat Dieksekusi kembali ke $ {EXECUTABLE_NAME} seperti yang Anda sarankan, itu dibangun dan dijalankan.
Slowburner
Terima kasih .. Sama halnya dengan saya
Bala Wisnu
Terima kasih banyak @Albert Renshaw, Anda menjawab masalah saya. Saya mencari solusi untuk itu sejak dua hari terakhir.
Nilesh Kikani
Masalah yang sama, nama bidang adalah "Nama tampilan bundel" untuk mengubah nama di bawah ikon
WebOrCode
1
Ini membawa saya ke solusi saya, yaitu saya mendapatkan Info.plist tambahan ketika saya memasukkan sumber untuk perpustakaan eksternal ke dalam kode saya, dan mereka memiliki Info.plist di dalam folder grup aset mereka. Menghapus Info.plist tambahan itu memperbaiki masalah saya.
chadbag
145

Di Xcode lakukan hal berikut

Window -> Organizer -> Projects -> Aplikasi dengan masalah ini -> tombol delete di Derived Data

Saya kemudian membersihkan proyek dan voila

bekerja

Tom
sumber
Saya mengikuti solusi @YuAn. Ini bekerja sangat baik untuk simulator tetapi ketika saya mencoba membangunnya di perangkat, saya masih mendapatkan pesan yang mengatakan 'Saya tidak punya izin untuk melihatnya'. File myapp.app dalam direktori produk dalam xcode dan juga dalam direktori data turunan ditampilkan diblokir bahkan setelah mencoba membangun setelah menghapus isi dari data yang diturunkan. Ada ide apa yang salah?
Srinivasan N
ini bekerja untuk saya TAPI itu terus terjadi. Saya tidak bisa terus menghapus data yang diperoleh setiap kali saya ingin menjalankan aplikasi di simulator ...
zumzum
Saya menghadapi masalah yang sama mencoba berbagai solusi tetapi tidak berhasil untuk saya .. Bantuan akan dihargai
Giriraj.Mulay
53

Bagi saya, Produk sederhana -> Bersih bekerja dengan baik

SleepsOnNewspapers
sumber
45

Saya sudah memperbaikinya dengan membersihkan folder build. Baru saja masuk ke menu 'Produk' dan Opsi + Klik 'Bersihkan'. Setelah itu masalah terselesaikan.

yury.ku
sumber
30

Ada masalah dengan Info.plist proyek. Saya membuat proyek baru dengan nama yang sama di Xcode 6 beta 4 dan kemudian mengganti Info.plist proyek nyata dengan yang baru. Proyek kemudian dibangun dan berjalan dengan baik.

Lihatlah diff, sepertinya plist itu entah bagaimana bisa bercampur dengan plist taman bermain. Pengidentifikasi bundel adalah "com.apple.dt.playground.iOS-18300-13" dan nama yang dapat dieksekusi dan bundel adalah "iOS" bersama dengan beberapa keanehan lainnya.

Ini adalah perbedaan penuh jika seseorang membutuhkannya untuk referensi:

        <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>
drewag
sumber
ya, saya punya masalah yang sama. File Info.plist dalam format file biner. Harus mengonversinya
Luca Torella
28

Saya mengalami kesalahan yang sama di Xcode 8.2. Alasan saya mencari saya, Info.plist lain ditambahkan dalam proyek saya sambil menambahkan perpustakaan (secara manual menyalin).

Sehingga Xcode semakin bingung untuk memilih Info.plist yang benar .

Saya baru saja menghapus Info.plist dari perpustakaan yang ditambahkan.

Maka itu berfungsi dengan baik tanpa peringatan izin.

Antony Raphel
sumber
Anda juga dapat mengubah nama Info.plist menjadi FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher
Yang sama di sini, menyalin dari projet lain
Firas Shrourou
Persis seperti itulah masalah saya. Saya menambahkan folder lain file cepat dan ada file plist di sana. Saya menghapus file plist itu dan semuanya baik-baik saja .. Terima kasih!
Lkabo
17

Harap periksa apakah Anda telah mengubah file yang Dapat Dilakukan => $ (EXECUTABLE_NAME) ke nama lain. Jika Anda telah mengubah nama ini maka ini menunjukkan kesalahan ini. Harap ganti dengan $ (EXECUTABLE_NAME).

Pratik Patel
sumber
Ya terjadi pada saya ketika mencoba mengubah nama aplikasi. Pengembang musim jadi hanya pergi ke plist linglung dan mengubah "File yang Dapat Dieksekusi" ketika pada kenyataannya saya bermaksud mengubah "Nama Bundel"
MobileMon
Ini memperbaikinya untuk saya. Itu terjadi setelah saya mengganti nama proyek saya. Terima kasih.
emiliomarin
14

Produk -> Bersih (perintah shift K) memperbaikinya untuk saya

James Zatsiorsky
sumber
Pengingat yang baik bahwa kadang-kadang solusi sederhana adalah yang berhasil.
Pescolly
Restart bersih dan Xcode diperlukan di sini di bawah Xcode 7.2.1. Membersihkan seorang diri membuat saya mengalami "kesalahan tidak dikenal" tanpa berusaha membangun.
Tommy
13

Ya ampun!! Saya menghabiskan waktu berjam-jam untuk menyelesaikan masalah ini.

Di XCode 7.3 saya memiliki proyek tanpa masalah.

Kesalahan saya lakukan

Saya baru saja menambahkan folder fisik dan memindahkan file saya ke dalamnya, masalah dimulai.

Saya mencoba segalanya

  • Kompiler default
  • Bersihkan dan bangun
  • Reset simulator dan reboot simulator, Xcode, iPhone bahkan mac
  • Info.plist yang diperbarui
  • Menghapus Data yang Diperoleh
  • Mengedit izin pada folder proyek
  • Memeriksa arsitektur saya

tidak ada yang berhasil :(

Bagaimana saya menyelesaikannya

Saya baru saja akan membuat proyek baru dan kemudian saya hanya menghapus folder fisik yang saya tambahkan, clean build, dan YESS !!

Berhasil!!

masukkan deskripsi gambar di sini

swiftBoy
sumber
1
YUP ini juga untukku.
yeahdixon
ini membantu saya. tapi saya pikir saya bisa menggunakan referensi folder. aneh.
user1105951
13

Coba "cmd + shift + k" untuk membersihkan proyek dan membangun kembali. Setidaknya itu berhasil untuk saya

One Eyed Raven
sumber
11

Saya memiliki masalah serupa (xCode 6.2) untuk kode sampel yang diunduh. Saya mencoba untuk set Executable Nameke Default in Info.plisttapi ini tidak bekerja.

Alih-alih, ubah Kompiler untuk C / C ++ / Objective-C ke Kompiler default (Apple LLVM 6.0) alih-alih Kompresor Tidak Didukung (com.apple.compilers.llvmgcc42) untuk proyek.

Tangkapan layar

Jayprakash Dubey
sumber
@iOSRocks: Selamat datang sobat!
Jayprakash Dubey
10

1) Pergi Pertama Membangun Opsi.

2) Kemudian mengubah nilai "Compiler untuk C / C ++ / Objective-C" ke Default Compiler.

bersih dan bekerja :-)

Waseem Shah
sumber
1
Untuk menghapusnya: 1. Buka Pengaturan Bangun (Pilih Semua dan Gabungan ) 2. Cari Opsi Bangun 3. Atur Kompiler untuk C / C ++ / Objective-C ke Kompiler Default
nburk
Mengapa orang memilih salinan ini dari jawaban berperingkat tertinggi?
Kiran
10

Terkadang membuka proyek lama dalam versi baru Xcode akan mendapatkan pesan ini.

Pergi ke Navigator masalah dan ikuti petunjuk peringatan 'Upate to recmmented settings'.

Boom, sihir!

ManuQiao
sumber
10

Saya menemukan bahwa mengubah kompiler saya ke LLVM 6.0 di Build Options sudah cukup bagi saya (xcode 6.1)

masukkan deskripsi gambar di sini

SleepsOnNewspapers
sumber
10

Saya mendapat kesalahan yang sama pada Xcode 6.1.1 saya untuk proyek yang diunduh dari gitHub yang dilakukan 4 tahun lalu. Bagi saya, pengaturan Arsitektur ke nilai standar Arsitektur standar (armv7, arm64) dan Kompiler untuk C / C ++ / Objective-C ke Kompiler Default dalam Pengaturan Bangunan berfungsi.

zeeawan
sumber
9

Baru-baru ini saya menemukan masalah yang sama untuk menjalankan proyek lama (awalnya dibuat di Xcode 4.x) di Xcode 6.0.1.

Saya memperbaiki masalah dengan mengubah Arsitektur di Building Setting ke nilai default, yaitu " Arsitektur standar (armv7, arm64) ".

Semoga ini bisa membantu siapa saja yang punya masalah serupa :)

DRUN HunTer
sumber
Jawaban ini harus ditandai sebagai jawaban yang benar @drewag
Fede Cugliandolo
sepertinya ada masalah yang berbeda di balik pesan kesalahan samar ini, toh inilah yang memecahkan ptoblem saya dengan
XCode
9

Saya mengalami kesalahan ini dengan sejumlah proyek lama saya yang saya dapatkan dari lemari untuk diperbarui. Tampaknya menggunakan Xcode 6 dengan kode lama sepertinya menyebabkan hal ini karena beberapa alasan.

Saya telah memperbaiki ini di semua proyek yang telah saya lakukan dengan:

  1. Hapus Data Berasal
  2. dalam Produk: lakukan pembersihan
  3. pergi ke Pengaturan Bangun di Target proyek dan pergi ke Opsi Bangun dan ubah nilai dari "Kompiler untuk C / C ++ / Objective-C" ke ' Default Compiler '.
idmean
sumber
9

Saya memiliki masalah yang sama dalam proyek saya. Kemudian ditemukan bahwa file pihak ketiga ( fmdb untuk SQLite) yang digunakan dalam proyek berisi Info.plist .

Cukup menghapus file Info.plist yang berfungsi untuk saya!

Info.plist

Jayprakash Dubey
sumber
Bekerja untuk saya juga.
mkll
9

Aplikasi saya berfungsi dengan baik pada XCode 9.4, tetapi ketika saya membuka proyek saya di XCode 10 saya mengalami masalah ini. Bagi saya masalahnya adalah pengaturan build. Saya menemukan jawabannya di halaman ini https://forums.developer.apple.com/thread/112141 .

Singkatnya buka File> Pengaturan Workspace ...> Build System dan ubah ke "Legacy Build System"

informatiker
sumber
8

Nah dalam kasus saya, saya hanya mengganti nama Bundle Namedan Executable filenilai - nilai yang info.plistsama dengan nama proyek. Ini berhasil untuk saya.

Ans
sumber
8

Saya mencoba semua jawaban yang tercantum dan tidak ada yang berguna. Masalahnya adalah karena adanya file plist lain yang ditautkan dari submodule via cocoapods. Untungnya ini adalah modul saya sendiri, jadi saya baru saja menghapus plist ini dari proyek submodule dan menginstal ulang pod.

larutan

Belakangan saya mengerti bahwa kunci masalahnya adalah atas nama plist kedua itu: sederhana info.plist. Anda dapat mengganti nama file dan menghubungkannya kembali melalui sourcesbagian submodule

File plist kedua itu memiliki nama yang unik, jadi Xcode seharusnya tidak menjadi frustrasi. Bahkan pengaturan target saya menunjuk pada plist utama, bukan pada ainfo.plist . Sepertinya Xcode mengambil pertimbangan khusus tentang nama itu

Bug direproduksi dalam Xcode 6.4 dan Xcode 7.0

Tim
sumber
Hal serupa terjadi pada saya. Info.plist saya tidak dikonfigurasi dengan benar, jadi XCode mengambil yang pertama kali Info.plistditemukan di folder proyek, yang merupakan bagian dari ketergantungan yang tidak terkait.
Ohad Schneider
Terima kasih Tuhan, Anda baru saja menyelamatkan saya dari debuggin Xcode yang tidak berguna
Alex
6

Saya punya masalah serupa ini. Entah bagaimana nilai saya untuk file Executable key ikut campur. Ubah saja kembali ke $ {EXECUTABLE_NAME} (Di bawah proyek Anda> Info). Bekerja untukku!

Ular berbisa
sumber
1
Satu hal yang perlu diperhatikan, adalah milik saya disetel ke $ (EXECUTABLE_NAME) dan memperbaruinya menjadi $ {EXECUTABLE_NAME} memperbaiki masalah untuk saya.
Eric
5

Tidak tahu apakah masalahnya terkait tetapi mungkin itu bisa menjadi solusi bagi siapa pun yang menarik rambut seperti saya.

Dalam kasus saya, saya punya proyek dengan banyak target. Setiap target adalah penyesuaian dari proyek dasar yang merupakan Cocoa Touch Static Librarydan target Applications,. Bahkan jika mainfile ditambahkan ke kompilasi perpustakaan, tetapi tidak di setiap target, pesan kesalahan itu muncul. Jadi apa yang saya lakukan? Menambahkan mainfile secara manual ke setiap target di Compile Sourcesbagian dan bingo, semuanya baik-baik saja.

Gustavo Barbosa
sumber
Terima kasih, ini banyak membantu.
JakeP
5

Bagi saya kesalahan ada di file .plist di tombol CFBundleExecutable. Saya telah mengubah nama executable menghapus ruang yang ada di antara dua kata. (Misalnya: dari "Pembalap Liar" ke "Pembalap Liar"). Butuh 1 hari untuk menemukannya !!

Xcode sangat tidak membantu dalam debugging!

jeddi
sumber
4

Dalam kasus saya main.m berisi fungsi utama (...) tidak terkandung dalam daftar "Sumber Kompilasi" di "Bangun Fase". Untuk memeriksa apakah ini masalahnya, masukkan ke dalam Fase Bangun dan lihat, jika main.m Anda muncul di daftar "Sumber Kompilasi".

Terpesona
sumber
1
Saya tidak tahu bagaimana Anda menemukan ini, dan itu bukan masalah saya yang sebenarnya, tetapi itu menuntun saya ke solusi, jadi TERIMA KASIH !!
Ri_18
3

Yang memecahkannya bagi saya adalah pengaturan Build Active Architecture Only dari Tidak ke Ya .

Misha
sumber
3

dengan X-kode 6.3.2

[Pengaturan Bangun] Opsi. [Semua] - [Opsi Bangun] - [Kompiler untuk C / C ++ / Objective-C] - [Kompiler default (Apple LLVM 6.1)]

Kemudian bangun kembali proyek, dan itu berjalan ok.

bruce
sumber
2

Dalam kasus saya itu membantu hanya untuk menutup Xcode, memperbaiki izin dengan Disk Utility. Hanya setelah reboot itu bekerja seperti pesona.

Markus Zeller
sumber
Saya mengalami masalah ini setelah memutakhirkan OSX hari ini. Ini diurutkan dalam waktu kurang dari satu menit.
tonyedwardspz
2

Karena saya juga menghadapi masalah ini hari ini pagi dan tidak ada jawaban yang membantu saya dalam kasus saya. Dan setelah mencoba selama berjam-jam saya menemukan masalah.

Sebenarnya saat bekerja di storyboard karena kesalahan, saya hanya mengganti nama " Main.storyboard " menjadi " .storyboard " dan mengubahnya kembali ke " Main.storyboard " menyelesaikan masalah saya.

SOLUSI (Sesuai masalah saya) : Mungkin Anda telah mengganti nama file apa pun karena xcode tidak dapat memuatnya dan menimbulkan masalah. Sebagai contoh: seperti yang disebutkan di atas kasus perubahan " File yang Dapat Dieksekusi " nama
Kemungkinan area Isu: Mungkin beberapa file terakhir yang Anda kerjakan.

rahulchona
sumber