2014-10-04 18 views
20

Tôi có một ứng dụng mà tôi cần đổi tên để mã có thể được sử dụng lại chỉ với những thay đổi nhỏ và tôi gặp khó khăn.Đổi tên ứng dụng trong Xcode 6

Tôi đi theo liên kết này và nó dường như để trang trải nó nhưng khi tôi đã cố gắng xây dựng nó tôi nhận được một lỗi khi liên kết mà cũng sau:

Liên kết đến tài nguyên:

http://matthewfecher.com/app-developement/xcode-tips-the-best-way-to-change-a-project-name-in-xcode/

Đây là liên kết lỗi tôi nhận được và thông tin tôi thấy

 
Ld /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/solfEightFiveTests.xctest/solfEightFiveTests normal arm64 
    cd "/Users/jeffjanes/Xcode Projects/solfEightFive/shell" 
    export IPHONEOS_DEPLOYMENT_TARGET=8.0 
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -L/Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos -F/Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/Developer/Library/Frameworks -filelist /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Intermediates/solfEightFive.build/Debug-iphoneos/solfEightFiveTests.build/Objects-normal/arm64/solfEightFiveTests.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -bundle_loader /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/shell.app/shell -framework XCTest -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=8.0 -Xlinker -dependency_info -Xlinker /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Intermediates/solfEightFive.build/Debug-iphoneos/solfEightFiveTests.build/Objects-normal/arm64/solfEightFiveTests_dependency_info.dat -o /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/solfEightFiveTests.xctest/solfEightFiveTests 

ld: file not found: /Users/jeffjanes/Library/Developer/Xcode/DerivedData/solfEightFive-aqlpurtbbyfkqmgjdryrxicllljh/Build/Products/Debug-iphoneos/shell.app/shell 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Có điều gì tôi thiếu không? Tôi đã thử làm sạch nó và điều đó dường như không có tác dụng.

Đây chỉ là một số giải thích quá trình được mô tả trong các liên kết ở trên cho thấy như sau:

Kích đúp chậm vào tên dự án trong khung hoa tiêu dự án ở phần trên bên trái của màn hình. Sau đó cho phép Xcode để đổi tên các tập tin

Đổi tên chương trình trong cùng một cách

Đó là tất cả tôi đã làm có lẽ đó bản thân nó là không đủ vì vậy nếu ai đó biết cách thích xin vui lòng cho tôi biết .

+0

Hãy thử một thư mục xây dựng sạch sẽ: Command-Shift-Option-K. Hãy cho tôi biết nếu nó hoạt động và tôi sẽ đăng nó như là một câu trả lời. – Undo

+0

Theo dòng cuối cùng trong câu hỏi đầu tiên của tôi, tôi đã thử và không khắc phục được, tôi đã thử lại để đảm bảo nhưng không thay đổi –

+0

Thử đóng xcode và xóa mọi thứ trong '' '~/Library/Developer/Xcode/DerivedData'' '. Sau đó mở lại xcode. Có lỗi liên kết cố định cho tôi trước đây. Làm sạch thường không đủ. – cypres

Trả lời

2

Trước hết, tôi đã cố gắng đăng bài này chỉ dưới dạng nhận xét, nhưng tôi chưa được phép làm như vậy.

Tôi không biết Xcode 6 rất tốt, nhưng kể từ khi tôi giả định tất cả các file dự án nó sử dụng là dựa trên văn bản, bạn có thể thử một cái gì đó như thế này trong vỏ, giả sử MyProjectDir là thư mục dự án của bạn và OldProjectName được tên cũ của dự án của bạn.

Bạn nên làm sạch và đóng dự án trong Xcode trước.

cd MyProjectDir 
find . -type f -exec grep -i OldProjectName {} \; -ls 

Danh sách này sẽ liệt kê tất cả các tệp có chứa tên dự án cũ (mỗi dòng đầu tiên có dòng trùng khớp, theo sau là mục nhập thư mục chứa tệp có định dạng "ls -l"). Bằng cách này, bạn nên biết ít nhất những tập tin nào vẫn chứa tên cũ. Có thể thay đổi điều đó bằng cách sử dụng trình soạn thảo văn bản sẽ thực hiện công việc.

Bạn cũng có thể làm

cd MyProjectDir 
find . -iname "*OldProjectName*" -ls 

để liệt kê tất cả các file chứa tên dự án cũ. Sau đó, bạn có thể đổi tên các tệp đó hoặc thậm chí xóa chúng nếu bạn chắc chắn rằng chúng được tạo bởi Xcode.

Tất nhiên, hãy chắc chắn tạo bản sao lưu dự án của bạn trước tiên!

4

tôi giải quyết này bằng cách mở MyProject.xcodeproj/project.pbxproj với một trình soạn thảo văn bản và tự thay thế những cái tên không chính xác (* .app)

12

tôi cũng có kinh nghiệm vấn đề này thời gian gần đây. Dự án XCode của bạn nên có hai mục tiêu. Một mục tiêu cho ứng dụng của bạn là mục tiêu khác cho các bài kiểm tra.

Trong cài đặt Xây dựng cho mục tiêu thử nghiệm, có tên thiết lập Máy chủ kiểm tra. Giá trị cho cài đặt này không được cập nhật khi bạn đổi tên mục tiêu ứng dụng của mình.

Sửa đổi đúng giá trị cài đặt Máy chủ kiểm tra và mọi thứ sẽ hoạt động.

+2

Đây là câu trả lời đúng ở đây. Đổi tên từ myoldproject.app/myoldproject thành mynewproject.app/mynewproject –

+1

hell yea. cảm ơn anh. người đàn ông vô gia cư này nhận thêm một ngày nữa !! điều này sẽ khiến một người anh trai phải mất ít nhất một ngày để sửa chữa. Cheers – SleepsOnNewspapers

+0

Tôi đã thấy câu trả lời ở những nơi khác .. Trong trường hợp của tôi, ai đó đã đổi tên để chứa khoảng trắng, vì vậy nó được tham chiếu bằng dấu "_" ở nhiều vị trí trong cấu hình, tuy nhiên, trong trường hợp này, đó là tên dự án chữ số – hanzolo

1

Tôi có vấn đề giống hệt nhau.

tôi giải quyết nó bằng cách:

  1. điều hướng đến thư mục vấn đề: trong trường hợp của bạn: shell.app.
  2. vỏ mv OLD_NAME. Nói cách khác: đổi tên tệp thành tên cũ của dự án của bạn.
  3. Làm sạch + Chạy
0

Nguyên nhân của việc này là một tham chiếu kéo dài đến sản phẩm ứng dụng cũ. Bạn cần xóa thư mục Derived Data và thực hiện xóa. Bạn nên được tất cả các thiết lập sau đó. Xem liên kết này để đọc hơn:

Delete Derived Data

+1

không hoạt động đối với tôi – SleepsOnNewspapers

0

Trong Xcode 7, sau khi đổi tên một dự án CocoaTouch Framework, tôi phải Quản lý Đề án, và bấm vào nút "Autocreate Schemes Now" nút. Sau đó, tôi loại bỏ các đề án với tên ban đầu.

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