2012-06-27 23 views
11

Vấn đềXcode Instruments được tước hiệu bất chấp tất cả xây dựng các thiết lập ngược lại

Instruments' Time Profiler được tước tất cả những biểu tượng ngoại trừ các thư viện hệ thống từ ứng dụng của tôi, mặc dù thực tế rằng tôi đã vô hiệu hóa hành vi này trong tất cả xây dựng có liên quan cài đặt trong Xcode - nhưng chỉ trên một máy phát triển. Máy dev khác hoạt động bình thường.

Mô tả

Instruments' Time Profiler được tước tất cả những biểu tượng ngoại trừ các thư viện hệ thống, mặc dù thực tế rằng tôi đã vô hiệu hóa hành vi này trong tất cả các thiết lập xây dựng có liên quan trong Xcode - nhưng điều này chỉ xảy ra trên một trong những phát triển của tôi máy móc. Tôi có hai máy phát triển chạy cùng phiên bản OS X, Xcode và Instruments và mỗi máy đang sử dụng một bản sao giống hệt nhau của cùng một dự án Xcode với cài đặt, sơ đồ và cấu hình khác giống hệt nhau và ứng dụng được định dạng bằng thiết bị thử nghiệm (iPhone 4S có phiên bản công khai mới nhất của iOS 5).

Máy 1
- Mac OS X 10.7.4
- Xcode 4.3.2 (4E2002)
- Instruments 4.3 (4321)

Máy 2
- Mac OS X 10.7 .4
- Xcode 4.3.2 (4E2002)
- Instruments 4,3 (4321)

Các bước để sao chép

  1. Mở dự án mẫu được bao gồm trên mỗi máy.
  2. Đảm bảo iPhone 4S được chọn làm thiết bị thử nghiệm.
  3. Chọn Sản phẩm> Tiểu sử
  4. Khi Công cụ khởi chạy, chọn Trình thu thập thời gian và tiếp tục.
  5. Chạy ứng dụng.
  6. Lưu ý cách các biểu tượng bị tước khi chạy trên iMac (Máy 1) nhưng không trên MacBook Air (Máy 2).

Dự kiến ​​hành vi

Biểu tượng từ mã của riêng tôi sẽ xuất hiện trong Time Profiler trên cả hai máy.

Regression

Tôi đã thử tất cả những điều sau đây, không có thay đổi trong các kết quả thực tế:

  1. Khởi động lại máy.

  2. Cố Xcode khác dự án

  3. Xóa "Có nguồn gốc dữ liệu" cho tất cả các dự án trong Xcode Organizer.

  4. Re-symbolicating các tài liệu Instruments (cẩn thận lựa chọn các tập tin DSYM đúng trong ~/Library/blahblahblah ...)

cuối cùng Ghi chú

Đây là một liên kết đến một .zip tệp của dự án mẫu: Sample Project .zip

Trả lời

6

cuối cùng tôi đã có thể để làm cho nó hoạt động bằng cách một phương pháp đó chỉ là nhút nhát của một kịch bản nuke-and-Pave:

  1. Hoàn toàn chắc chắn tất cả các biểu tượng tước bị vô hiệu hóa cho cấu hình build hiện tại của bạn. Hãy chắc chắn rằng bạn đã thực hiện việc này cho cấu hình Phát hành của bạn nếu đó là những gì đang được lược tả cho Công cụ.
  2. Xóa ứng dụng khỏi thiết bị iOS.
  3. Khởi động lại thiết bị iOS.
  4. Khởi động lại máy Mac (Tôi không tin Xcode hoặc Lion ở tất cả để thoát khỏi tất cả các quy trình có liên quan khác).
  5. Khởi chạy Xcode, đi tới Trình sắp xếp> Dự án và xóa Dữ liệu có nguồn gốc cho dự án bị ảnh hưởng.
  6. Làm sạch dự án của bạn. Địa ngục, tại sao không?
  7. Xây dựng và hồ sơ cho Công cụ.
  8. Chọn Trình biên tập thời gian trong Công cụ để làm rõ.
  9. Lần chạy đầu tiên sẽ không hiển thị các biểu tượng, nhưng không thoát. Rời khỏi Nhạc cụ đang chạy!
  10. Biểu tượng lại tài liệu trong Công cụ, điều hướng cẩn thận đến tệp dSYM chính xác cho bản dựng hiện tại.Điều này sẽ dễ dàng hơn vì bạn đã xóa dữ liệu có nguồn gốc ở bước 5.
  11. Bây giờ bạn sẽ có thể thấy các biểu tượng của mình. Nó giúp nếu bạn ẩn các ký hiệu không phải khách quan-C.

Tại sao tôi đề nghị bạn xóa ứng dụng và khởi động lại thiết bị iOS trong bước 2 và 3? Tôi nghi ngờ rằng Xcode không thực hiện cài đặt sạch của từng bản dựng, nhưng có thể cài đặt các vùng đồng bằng, sao cho địa chỉ biểu tượng có trong Công cụ là hỗn hợp của bản dựng hiện tại cộng với các bản dựng trước đó. Nếu vậy, thì vấn đề này thậm chí còn phổ biến hơn đối với một người như tôi, người chia sẻ một thiết bị thử nghiệm duy nhất giữa nhiều máy Mac. Giả định này có thể cực kỳ không chính xác.

Nếu các bước trên không hiệu quả với bạn, vui lòng cho tôi biết trong phần nhận xét. Tôi muốn tạo một báo cáo radar chi tiết tại một số điểm trong tương lai.

+0

Tôi không thử nghiệm phương pháp của bạn, nhưng chắc chắn nó sẽ làm việc, cho nó là một cài đặt hoàn toàn sạch của ứng dụng. Nhưng vâng, xin vui lòng nộp báo cáo radar và cập nhật ở đây, đó sẽ là rất tốt bụng của bạn :) –

+0

Tôi không thể làm điều này, khi tôi chọn các công cụ dsym nói rằng: "Re-Symbolication đòi hỏi MyApp.app.dSYM và AppleProfileKEventAction có các UUID phù hợp. " – Lio

+0

Tôi không chắc AppleProfileKEventAction là gì. Tôi biết rằng các tập tin .dSYM nhận được tên UUID dài (tìm thấy chúng trong bất kỳ thư mục Xcode là tiết kiệm chúng để xem những gì tôi có ý nghĩa). Hãy cho tôi biết những gì bạn khám phá. – jaredsinclair

-1

Thử mở XCode 3 và anh ta Organizer. Và thử thêm từ tổ chức này một thiết bị cho cả hai máy.

Chỉ cần mở Trình quản lý và chờ anh ta xử lý. Nếu bạn thấy nút "Sử dụng để phát triển" thì hãy nhấp vào nút đó.

Đôi khi, XCode 4 không thể thêm thiết bị đúng để phát triển đầy đủ.

0

Đã phải đối mặt với nhau và vấp ngã trên luồng này.

Tôi nhận ra rằng trước tiên tôi đã lược tả ứng dụng bằng bản phát hành bản phát hành và sau khi thay đổi lược đồ trong Xcode cho cùng một ứng dụng, trình thu thập thông tin vẫn không thể tượng trưng. Tôi đã thử tất cả các giải pháp rõ ràng mà bạn đã đề cập ở trên nhưng vô ích.

Trình thu thập thông tin bằng cách nào đó vẫn đang đề cập đến cài đặt xây dựng đầu tiên (bản phát hành) và do đó nó không thể tượng trưng được. Vì vậy, tôi vừa thay đổi số nhận dạng gói của ứng dụng cho mục đích thử nghiệm để ứng dụng mới được tạo hoàn toàn cho mục đích lược tả. Tôi có thể kiểm tra mã nơi rò rỉ tồn tại ngay bây giờ.

Hãy dùng thử và cho tôi biết nếu điều này phù hợp với bạn. Vẫn còn suy nghĩ về lý do tại sao cụ là không biểu tượng mặc dù.

+0

Bạn đã thử xóa ứng dụng khỏi thiết bị thử nghiệm, tắt nguồn và bật lại, sau đó xây dựng lại ứng dụng? – jaredsinclair

+0

Tôi nghi ngờ rằng Xcode không thực hiện cài đặt sạch cho mỗi bản dựng, nhưng có thể cài đặt các vùng đồng bằng, sao cho địa chỉ biểu tượng bị trộn lẫn. Giả định này có thể cực kỳ không chính xác. – jaredsinclair

+0

Có, tôi nghi ngờ như vậy. Đó là lý do tại sao tôi đã tạo một số nhận dạng gói ứng dụng mới và xây dựng nó trên hồ sơ cấp phép ký tự đại diện. –

1

Tôi không chắc chắn rằng nó đã được cố định trong 4.3 nhưng đây là một vấn đề được biết đến trong 4,2 seen here

Instruments Có một vấn đề được biết đến với hành động hồ sơ từ Xcode 4.2. Sau khi xây dựng trong đó không có tệp nguồn nào đã thay đổi, Công cụ sẽ không thể thu thập các biểu tượng cho ứng dụng đích.

này ảnh hưởng đến các dự án mà cả hai:

  1. Cấu hình phát hành được chọn để hành động hồ sơ. (mặc định)
  2. The Strip liên kết sản phẩm xây dựng thiết lập được thiết lập để "Yes”, hoặc một tùy chỉnh Run Script xây dựng dải giai đoạn sản phẩm. (Không phải mặc định)

Cách giải quyết là để làm bất kỳ một các nội dung sau:.

  1. Thực hiện một "sạch" trên sản phẩm trước khi bắt đầu các hồ sơ hành động
  2. Thực hiện sạch của sản phẩm và tạm thời đặt Dải Liên Kết sản phẩm thiết t xây dựng o "Không" trong khi Profiling.
  3. Đặt cấu hình của tác vụ Tiểu sử thành Gỡ lỗi.
  4. Chạy các cấu hình liên tiếp trực tiếp từ trong Công cụ khi bạn thực hiện không cần phải xây dựng lại. Khi phát triển ứng dụng Mac, sử dụng mẫu GC Monitor trong Công cụ có thể khiến Thiết bị gặp sự cố. Để giải quyết sự cố, hãy xem xét di chuyển ứng dụng của bạn sang ARC.
1

Tôi đã gặp sự cố tương tự trong nhiều ngày. Tôi đã có thể cấu hình cấu hình Gỡ lỗi, nhưng không thể phát hành. Trước tiên, tôi đã cố gắng tạo một bản sao của cấu hình phát hành (như được đề xuất ở đâu đó trên web), nhưng bản sao đó cũng không hoạt động.

Sau đó, tôi đã tạo một bản sao của Debug, được gọi là Hồ sơ, đã thử và biểu tượng Hồ sơ được hiển thị trong hồ sơ. Tuyệt quá! Sau đó tôi đã thay đổi các mức tối ưu hóa vv thành giống như Bản phát hành, và bây giờ nó hoạt động! Chỉ muốn chia sẻ điều này, vì nhận xét này sẽ khiến tôi mất thời gian ...

+1

Đây là nhận xét hữu ích nhất ở đây! Cảm ơn rất nhiều, nó đã hoạt động. Các giải pháp khác chỉ khiến tôi đập đầu vào tường. Giống như "định vị dSYM trong ~/Library /", khi hộp thoại mở tập tin không hiển thị ~/Library/ở tất cả, nó được ẩn trong Mountain Lion ... – Hrissan

0

Tôi gặp vấn đề tương tự khi không có biểu tượng trong ứng dụng os x mà tôi đã tạo từ dòng lệnh (vì vậy trong trường hợp này không phải là vấn đề về iphone hoặc xcode). Nó bật ra vấn đề là do một DYLD_LIBRARY_PATH xấu có chứa PATH của tôi.Khi tôi loại bỏ tất cả các đường dẫn không phải thư viện đó, chẳng hạn như/usr/bin /, nó hoạt động.

Các vấn đề liên quan