Tập tin Cameron MyApp.app không thể mở được vì bạn không có quyền xem nó khi chạy ứng dụng trong Xcode 6 Beta 4


273

Bất cứ khi nào tôi cố chạy ứng dụng của mình trong Xcode 6 Beta 4, tôi đều gặp lỗi:

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

Lỗi này xuất hiện cho dù tôi nhắm mục tiêu giả lập hay thiết bị nào.

Tôi đã thử:

  • Xóa tất cả dữ liệu phái sinh khỏi Trình tổ chức trong Xcode
  • Sửa chữa quyền trên ổ đĩa của tôi
  • Nâng cao thủ công các quyền của MyApp.app được xây dựng
  • Khởi động lại máy tính của tôi

Có ai khác gặp phải vấn đề này và tìm ra giải pháp?

Ảnh chụp màn hình


1
Tôi đang gặp vấn đề tương tự với XCode 6.1. Lúc đầu, vấn đề chỉ là với trình giả lập, bây giờ, sau khi theo dõi một số khách hàng tiềm năng trong bài đăng này, tôi cũng gặp lỗi tương tự khi chạy điện thoại mục tiêu của mình.
Bamaco

1
Tôi đã làm theo giải pháp @YuAn. Nó hoạt động rất tốt cho các mô phỏng. Cảm ơn Nhưng khi tôi cố gắng xây dựng nó trên thiết bị, tôi vẫn nhận được thông báo 'Tôi không có quyền xem nó'. Tệp myapp.app trong thư mục sản phẩm trong xcode và cả trong thư mục dữ liệu dẫn xuất đang bị chặn ngay cả sau khi cố gắng xây dựng sau khi xóa nội dung của dữ liệu dẫn xuất.
Srinivasan N

4
Một cách khác (ngu ngốc) để kích hoạt vấn đề này: Biên dịch một ứng dụng chỉ có tài nguyên và không có tệp nguồn. Đừng hỏi tôi làm thế nào tôi biết điều đó :)
Krumelur

4
Sản phẩm> Làm sạch giải quyết vấn đề này cho tôi
mazorati

Trong trường hợp của tôi, không ai trong số này không hoạt động !! Khi tôi xóa tệp pilst khỏi Xcode và đính kèm lại với dự án, nó hoạt động như một bùa mê !! Hy vọng giúp các bạn !!
Ravi

Câu trả lời:


252

Tôi sử dụng Xcode6 GM. Tôi gặp phải vấn đề tương tự. Những gì tôi đã làm là đi đến Cài đặt bản dựng -> Tùy chọn bản dựng. Sau đó, tôi đã thay đổi giá trị của "Trình biên dịch cho C / C ++ / Objective-C" thành Trình biên dịch mặc định.nhập mô tả hình ảnh ở đây


146

Có vấn đề trên DEVICE quá (không chỉ giả lập)?


Các giải pháp khác chỉ sửa nó cho tôi trên trình giả lập, không phải thiết bị.

Đối với tôi, sự cố này đã xảy ra (trong Xcode 6) khi tôi cố gắng thay đổi các thuộc tính thông tin chính.plist trong khi cố gắng thay đổi tên ứng dụng của mình.

Trong info.plist tôi đã đổi Executable Filetên thành một cái gì đó khác với mặc định ${EXECUTABLE_NAME}...

Tôi đã nhầm trường này với trường thay đổi tên của ứng dụng dưới biểu tượng trên bàn đạp.


10
Trong trường hợp của tôi, điều này làm việc cảm ơn bạn. Tôi đã thay đổi các trường tương tự khác trong tệp <appname> -Info.plist của mình và một khi tôi đã thay đổi Tệp thực thi trở lại $ {EXECUTABLE_NAME} như bạn đã đề xuất, nó được xây dựng và chạy.
Slowburner

Cảm ơn..Same là trường hợp của tôi
Bala Vishnu

Cảm ơn rất nhiều @Albert Renshaw, câu trả lời của bạn đã giải quyết vấn đề của tôi. Tôi đang tìm kiếm giải pháp cho điều đó kể từ hai ngày qua.
Nilesh Kikani

Cùng một vấn đề, tên của trường là "Tên hiển thị gói" để thay đổi tên dưới biểu tượng
WebOrCode

1
Điều này dẫn tôi đến giải pháp của mình, đó là tôi đã nhận được thêm Info.plist khi tôi đưa nguồn cho thư viện bên ngoài vào mã của mình và họ có Info.plist trong thư mục nhóm tài sản của họ. Xóa thêm Info.plist đã khắc phục sự cố của tôi.
chadbag

145

Trong Xcode, hãy làm như sau

Cửa sổ -> Trình tổ chức -> Dự án -> Ứng dụng có vấn đề -> nút xóa trong Dữ liệu đã tạo.

Sau đó tôi đã làm sạch dự án và thì đấy

làm


Tôi đã làm theo giải pháp @YuAn. Nó hoạt động rất tốt cho trình giả lập nhưng khi tôi cố gắng xây dựng nó trên thiết bị, tôi vẫn nhận được thông báo 'Tôi không có quyền xem nó'. Tệp myapp.app trong thư mục sản phẩm trong xcode và cả trong thư mục dữ liệu dẫn xuất đang bị chặn ngay cả sau khi cố gắng xây dựng sau khi xóa nội dung của dữ liệu dẫn xuất. Bất cứ ý tưởng những gì đã đi sai?
Srinivasan N

Điều này làm việc cho tôi NHƯNG nó tiếp tục xảy ra. Tôi không thể liên tục xóa dữ liệu dẫn xuất mỗi lần tôi muốn chạy ứng dụng trong trình giả lập ...
zumzum

Tôi đang đối mặt với cùng một vấn đề đã thử nhiều giải pháp nhưng không hiệu quả với tôi .. Trợ giúp sẽ được đánh giá cao
Giriraj.Mulay


45

Tôi đã sửa nó bằng cách dọn dẹp thư mục build. Chỉ cần vào menu 'Sản phẩm' và Tùy chọn + Nhấp vào 'Làm sạch'. Sau đó, một vấn đề đã được giải quyết.


30

Có một vấn đề với Info.plist của dự án. Tôi đã tạo một dự án mới có cùng tên trong Xcode 6 beta 4 và sau đó thay thế Info.plist của dự án thực sự bằng dự án mới. Dự án sau đó được xây dựng và chạy tốt.

Nhìn vào sự khác biệt, có vẻ như người chơi có thể đã bị lẫn lộn với tiếng nói của sân chơi. Mã định danh gói là "com.apple.dt.playground.iOS-18300-13" và tên gói và tệp thực thi là "iOS" cùng với một số điều kỳ lạ khác.

Đây là khác biệt đầy đủ trong trường hợp bất cứ ai cần nó để tham khảo:

        <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>

vâng, tôi đã có một vấn đề tương tự. Tệp Info.plist ở định dạng tệp nhị phân. Phải chuyển đổi nó
Luca Torella

28

Tôi đã gặp lỗi tương tự trong Xcode 8.2. Lý do tôi tìm ra cho tôi, một Info.plist khác được thêm vào trong dự án của tôi trong khi thêm thư viện (sao chép thủ công).

Vì vậy, Xcode đang bị lẫn lộn khi chọn Info.plist chính xác .

Tôi vừa xóa Info.plist khỏi thư viện đã thêm.

Sau đó, nó đang hoạt động tốt mà không có bất kỳ cảnh báo cho phép.


Bạn cũng có thể thay đổi tên của Info.plist thành FRAMEWORK_NAME_HEREInfo.plist
Jeremy Kelleher

Tương tự ở đây, sao chép từ một projet khác
Firas Shrourou

Đây chính xác là vấn đề của tôi. Tôi đã thêm một thư mục khác của các tập tin swift và nó có một tập tin plist trong đó. Tôi đã xóa tập tin plist đó và tất cả đều tốt .. Cảm ơn bạn!
Lkabo

17

Vui lòng kiểm tra xem bạn đã thay đổi tệp Thực thi => $ (EXECUTABLE_NAME) thành bất kỳ tên nào khác. Nếu bạn đã thay đổi tên này thì nó hiển thị lỗi này. Vui lòng thay thế bằng $ (EXECUTABLE_NAME).


Vâng đã xảy ra với tôi khi cố gắng thay đổi tên ứng dụng. Vì vậy, nhà phát triển mùa đã vô tình bỏ qua và thay đổi "Tệp thực thi" khi thực tế tôi muốn thay đổi "Tên gói"
MobileMon

CÁi này đã sửa nó giúp tôi. Nó đã xảy ra sau khi tôi đổi tên dự án của tôi. Cảm ơn.
emiliomarin

14

Sản phẩm -> Clean (lệnh shift K) đã sửa nó cho tôi


Tốt nhắc nhở rằng đôi khi giải pháp đơn giản là một trong những hoạt động.
Pescolly

Yêu cầu khởi động lại sạch và Xcode ở đây trong Xcode 7.2.1. Việc dọn dẹp một mình đã đưa tôi đến một "lỗi không xác định" mà không cố gắng xây dựng.
Tommy

13

Trời ơi!! Tôi đã dành hàng giờ để giải quyết vấn đề này.

Trên XCode 7.3 tôi đã có dự án không có vấn đề gì.

Sai lầm tôi đã làm

Tôi vừa thêm thư mục vật lý và chuyển các tập tin của mình vào chúng, vấn đề bắt đầu.

Tôi đã thử mọi cách

  • Trình biên dịch mặc định
  • Làm sạch và xây dựng
  • Đặt lại trình giả lập và khởi động lại trình giả lập, Xcode, iPhone thậm chí mac
  • Cập nhật thông tin.plist
  • Xóa dữ liệu phái sinh
  • Chỉnh sửa quyền trên thư mục của dự án
  • Kiểm tra kiến ​​trúc của tôi

không có gì làm việc :(

Tôi đã giải quyết như thế nào

Tôi đã định tạo dự án mới và sau đó tôi chỉ xóa những thư mục vật lý mà tôi đã thêm, xây dựng sạch và YESS !!

Nó hoạt động !!

nhập mô tả hình ảnh ở đây


1
YUP đây là nó cho tôi quá.
yeahdixon

Điều này đã giúp tôi. nhưng tôi nghĩ rằng tôi có thể sử dụng thư mục tham khảo. lạ.
dùng1105951

13

Hãy thử "cmd + shift + k" để làm sạch dự án và xây dựng lại. Ít nhất nó đã làm việc cho tôi


11

Tôi gặp vấn đề tương tự (xCode 6.2) đối với mã mẫu được tải xuống. Tôi cố gắng để thiết lập Executable Nameđể Default in Info.plistnhưng điều này không làm việc.

Thay vào đó, hãy thay đổi Trình biên dịch cho C / C ++ / Objective-C thành Trình biên dịch mặc định (Apple LLVM 6.0) thay vì Trình biên dịch không được hỗ trợ (com.apple.compilers.llvmgcc42) cho dự án.

Ảnh chụp màn hình


@iOSRocks: Chào bạn thân mến!
Jayprakash Dubey

10

1) Trước tiên hãy xây dựng tùy chọn.

2) Sau đó thay đổi giá trị của "Trình biên dịch cho C / C ++ / Objective-C" thành Trình biên dịch mặc định.

làm sạch và làm việc :-)


1
Để xóa nó: 1. Chuyển đến Cài đặt bản dựng (Chọn tất cảkết hợp ) 2. Tìm kiếm Tùy chọn bản dựng 3. Đặt Trình biên dịch cho C / C ++ / Objective-C thành Trình biên dịch mặc định
nburk

Tại sao mọi người bỏ phiếu sao chép câu trả lời được đánh giá cao nhất này?
Kiran

10

Đôi khi mở dự án cũ trong Xcode phiên bản mới sẽ nhận được thông báo này.

Chuyển đến Vấn đề điều hướng và làm theo gợi ý cảnh báo 'Upate to cài đặt lại'.

Bùng nổ, ma thuật!


10

Tôi thấy rằng việc thay đổi trình biên dịch của mình thành LLVM 6.0 trong Tùy chọn xây dựng là đủ cho tôi (xcode 6.1)

nhập mô tả hình ảnh ở đây


10

Tôi đã gặp lỗi tương tự trên Xcode 6.1.1 của mình cho một dự án được tải xuống từ gitHub đã được cam kết 4 năm trước. Đối với tôi, việc đặt Kiến trúc thành giá trị mặc định Kiến trúc tiêu chuẩn (armv7, arm64)Trình biên dịch cho C / C ++ / Objective-C thành Trình biên dịch mặc định trong Cài đặt tòa nhà đã hoạt động.


9

Gần đây tôi gặp vấn đề tương tự khi chạy một dự án cũ (ban đầu được tạo trong Xcode 4.x) trong Xcode 6.0.1.

Tôi đã khắc phục sự cố bằng cách thay đổi Kiến trúc trong Cài đặt tòa nhà thành giá trị mặc định, đó là " Kiến trúc tiêu chuẩn (armv7, arm64) ".

Hy vọng điều này có thể giúp bất cứ ai gặp vấn đề tương tự :)


Câu trả lời này phải được đánh dấu là đúng @drewag
Fede Cugliandolo

Dường như có nhiều vấn đề khác nhau đằng sau thông báo lỗi khó hiểu này, dù sao đây cũng là điều đã giải quyết ptoblem của tôi với XCode 6.1
Fabio Napodano

9

Tôi đã gặp lỗi này với một số dự án cũ của tôi mà tôi đang rời khỏi tủ để cập nhật. Có vẻ như việc sử dụng Xcode 6 với mã cũ hơn dường như mang lại điều này vì một số lý do.

Tôi đã sửa lỗi này trong tất cả các dự án mà tôi đã thực hiện bằng:

  1. Xóa dữ liệu phái sinh
  2. trong sản phẩm: làm sạch
  3. đi tới Cài đặt bản dựng trong mục tiêu dự án và đi đến Tùy chọn bản dựng và thay đổi giá trị của "Trình biên dịch cho C / C ++ / Objective-C" thành ' Trình biên dịch mặc định '.

9

Tôi đã có cùng một vấn đề trong dự án của tôi. Sau đó, phát hiện thấy rằng tệp của bên thứ ba ( fmdb cho SQLite) được sử dụng trong dự án có chứa Info.plist .

Chỉ cần xóa tệp Info.plist làm việc cho tôi!

Thông tin


Làm việc cho tôi quá.
mkll

9

Ứng dụng của tôi đã hoạt động tốt trên XCode 9.4, nhưng khi tôi mở dự án của mình trong XCode 10, tôi đã gặp phải vấn đề này. Đối với tôi vấn đề là cài đặt xây dựng. Tôi tìm thấy câu trả lời trong trang này https://forums.developer.apple.com/thread/112141 .

Nói tóm lại, hãy đi tới Tệp> Cài đặt không gian làm việc, >> Xây dựng hệ thống và thay đổi thành "Hệ thống xây dựng kế thừa"


8

Trong trường hợp của tôi, tôi chỉ đổi tên Bundle NameExecutable filecác giá trị info.plistgiống như tên dự án. Nó làm việc cho tôi.


8

Tôi đã thử tất cả các câu trả lời được liệt kê và không có câu trả lời nào hữu ích. Vấn đề là do sự tồn tại của một tập tin plist khác được liên kết từ một mô hình con thông qua cocoapods. May mắn thay, đây là mô-đun của riêng tôi, vì vậy tôi chỉ cần xóa phần này khỏi dự án mô hình con và cài đặt lại các nhóm.

giải pháp

Sau này tôi mới hiểu rằng mấu chốt của vấn đề nằm ở cái tên thứ hai đó: đơn giản info.plist. Bạn có thể đổi tên tệp và phát lại nó thông qua một sourcesphần của mô hình con

Tệp plist thứ hai đó có một tên duy nhất, vì vậy Xcode không được phép trở nên thất vọng. Ngay cả các cài đặt mục tiêu của tôi cũng chỉ trên một bảng chính, không phải trên mộtinfo.plist . Có vẻ như Xcode có những cân nhắc đặc biệt về cái tên đó

Lỗi được sao chép trong Xcode 6.4Xcode 7.0


Một điều tương tự đã xảy ra với tôi. Info.plist của tôi không được định cấu hình chính xác, vì vậy XCode đã lấy thứ đầu tiên Info.plistnó tìm thấy trong thư mục của dự án, thuộc về một số phụ thuộc không liên quan.
Ohad Schneider

cảm ơn chúa, bạn vừa tiết kiệm cho tôi hàng giờ gỡ lỗi Xcode vô nghĩa '
Alex

6

Tôi đã có vấn đề tương tự. Bằng cách nào đó, giá trị của tôi đối với Tệp thực thi chính đã bị xáo trộn. Chỉ cần thay đổi lại thành $ {EXECUTABLE_NAME} (Theo dự án của bạn> Thông tin). Đã làm cho tôi!


1
Một điều cần lưu ý, đó là của tôi đã được đặt thành $ (EXECUTABLE_NAME) và việc cập nhật nó thành $ {EXECUTABLE_NAME} đã khắc phục sự cố cho tôi.
Eric

5

Không biết vấn đề có liên quan hay không nhưng có lẽ nó có thể là giải pháp cho bất cứ ai nhổ tóc như tôi.

Trong trường hợp của tôi, tôi có một dự án với rất nhiều mục tiêu. Mỗi mục tiêu là một tùy chỉnh của dự án cơ sở đó là một Cocoa Touch Static Libraryvà các mục tiêu , Applications. Ngay cả khi maintệp được thêm vào biên dịch thư viện, nhưng không phải trong mỗi mục tiêu, thông báo lỗi đó sẽ xuất hiện. Vậy tôi đã làm gì? Thêm thủ công maintệp vào từng mục tiêu trong Compile Sourcesphần và lô tô, tất cả đều ổn.


Cảm ơn bạn, điều này đã giúp rất nhiều.
JakeP

5

Đối với tôi, lỗi là ở tệp .plist tại khóa CFBundleExecutable. Tôi đã đổi tên tập tin thực thi xóa một khoảng trắng nằm giữa hai từ. (Ví dụ: từ "Wild Racer" đến "WildRacer"). Mất 1 ngày để phát hiện ra nó !!

Xcode rất không hữu ích trong việc gỡ lỗi!


4

Trong trường hợp của tôi, main.m chứa hàm main (...) không có trong danh sách "Nguồn biên dịch" trong "Giai đoạn xây dựng". Để kiểm tra xem đây có phải là trường hợp không, hãy nhập vào Giai đoạn xây dựng và xem, nếu main.m của bạn xuất hiện trong danh sách "Nguồn biên dịch".


1
Tôi không biết làm thế nào bạn phát hiện ra điều này, và đó không phải là vấn đề chính xác của tôi nhưng nó dẫn tôi đến giải pháp THANKS !!
Ri_

3

Điều đã giải quyết nó cho tôi là thiết lập Build Active Architecture Chỉ từ Không thành .


3

với mã X 6.3.2

[Cài đặt bản dựng] Tùy chọn. [Tất cả] - [Tùy chọn bản dựng] - [Trình biên dịch cho C / C ++ / Objective-C] - [Trình biên dịch mặc định (Apple LLVM 6.1)]

Sau đó xây dựng lại dự án, và nó chạy ok.


2

Trong trường hợp của tôi, nó chỉ giúp đóng Xcode, sửa chữa các quyền với Disk Utility. Chỉ sau khi khởi động lại, nó hoạt động như một bùa mê.


Tôi đã có vấn đề này sau khi nâng cấp OSX ngày hôm nay. Điều này đã được sắp xếp trong một phút.
tonyedwardspz

2

Như tôi cũng đã phải đối mặt với vấn đề này sáng nay và không có câu trả lời nào giúp tôi đặc biệt trong trường hợp của tôi. Và sau khi cố gắng hàng giờ tôi đã tìm ra vấn đề.

Trên thực tế, trong khi làm việc trong bảng phân cảnh do nhầm lẫn, tôi chỉ đổi tên " Main.storyboard " của mình thành " .storyboard " và đổi nó thành " Main.storyboard " đã giải quyết vấn đề của tôi.

GIẢI PHÁP (Theo vấn đề của tôi) : Có thể bạn đã đổi tên bất kỳ tệp nào do xcode không thể tải nó và đưa ra một vấn đề. Ví dụ: như đã đề cập ở trên trường hợp thay đổi tên " Tệp thực thi "
Vùng có thể xảy ra: Có thể là vài tệp cuối cùng bạn đang làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.