2014-11-04 1 views
0

Xcode 6.1에서 10.10을 실행 중입니다.Xcode는 앱을 올바르게 빌드하지만 실행할 수 없습니까?

그리고 내가 일하기 위해 작성한 앱을 다운로드하는 데 문제가 있습니다. 시간과 시간이 지나면 우연히 무언가를 엉망으로 만든 후에 마침내 제대로 빌드 할 수있게되었지만 이제 파일을 볼 수있는 권한이없는 오류가 발생합니다 (Xcode에서 직접 열 경우) 또는 열려고하면 오류가 발생합니다. Finder에서 응용 프로그램이 손상되었거나 손상되어 열려있을 수 없다고 말합니다. 중요하다면 Swift에 쓰여 있습니다.

필자는 말 그대로 6 시간을 보냈으며 (빌드를 시도하려고 시도했기 때문에) 도움을 주시면 대단히 감사하겠습니다! 오스틴은

여기에 엑스 코드 작업 공간, 프로젝트, 파일, 그리고 빌드는 사람이 좀 걸릴 할 필요가있는 경우 : http://pattersoncode.ca/ServerChecker.zip

답변

0

여기에 몇 가지 문제가 있습니다를. 나는 그들 모두를 도울 수는 없지만 적어도 나는 너를 올바른 길로 인도 할 수있다.

앱이 제대로 빌드되지 않았기 때문에 앱이 시작되지 않습니다. 특히 빌드 된 .app에는 실제 바이너리 실행 파일이 없습니다. 내장 된 Server Checker.app을 마우스 오른쪽 버튼으로 클릭하고 Show Package Contents을 선택하면이 사실을 알 수 있습니다. 여기에는 Contents 폴더가 있습니다. 열어. 그 안에는 MacOS이라는 폴더가 있어야하며 실제 이진 실행 파일은이 폴더에 있어야합니다. 그러나 거기에 있지 않습니다. 이것은 실제로 앱이 아닙니다.

이유는 신속하게 파일을 컴파일하지 못하게하는 사용자 정의 빌드 규칙을 가지고 있기 때문입니다. 그냥 제거하면 필요 없어.

Xcode에서 프로젝트의 최상위 항목 (ServerChecker, 대상 1, OS X SDK 10.10)을 클릭하십시오. 그런 다음 TARGETS에서 ServerChecker를 선택하십시오. 빌드 규칙을 클릭하십시오. 우리가 필요로하지 않는 "스크립트를 사용하여 신속한 소스 파일"을 말합니다. 오른쪽 상단에있는 작은 X를 클릭하고 메시지가 나타나면 삭제를 클릭하십시오. 이제 다시 빌드하십시오. 당신은 오류거야

: 당신이 main.swift 파일이 없기 때문에

Undefined symbols for architecture x86_64: 
    "_main", referenced from: 
    implicit entry/start for main executable 

이 앱은 메인 엔트리 포인트가 없습니다. Swift에서 NSApplicationMain 함수 (대개 main.swift에 있음)를 제공하거나 응용 프로그램 대리인을 대리인 클래스로 NSApplicationMain을 호출하는 효과가있는 NSApplicationMain으로 선언 할 수 있습니다. 나는 후자를 추천한다.

AppDelegate.swift를 열고 AppDelegate 클래스에 @NSApplicationMain을 추가하십시오. 모양은 다음과 같습니다 :

@NSApplicationMain 
class AppDelegate: NSObject, NSApplicationDelegate { 
... 
} 

이제 응용 프로그램을 다시 빌드해야합니다. 마우스 오른쪽 버튼을 클릭하고 Show Package Contents을 실행하여 거기에 실제로 실행 바이너리가 있는지 확인하십시오.

여전히 앱이 실행되지 않습니다. 실행시 라이브러리를로드 할 수 없다는 오류가 발생했습니다.

어쨌든 이동하면 도움이되기를 바랍니다. 나는 지금 일하러 돌아와야한다. :)

관련 문제