2014-06-06 4 views
5

Xcode와 Objective C/Swift를 처음 사용했습니다. 저는 코코아 나 다른 것에 의존하지 않는 Swift 라이브러리 프로젝트를 만들고자합니다. 따라서 Swift 파일 일뿐입니다. 어떤 유형의 프로젝트를 만들어야합니까? (여러 가지 방법이 있다고 가정합니다.) .so 파일로 빌드되도록 프로젝트를 구성해야하는 이유는 무엇입니까? 그리고 마지막으로 어떻게 빌드해야합니까? 그래서 파일?신속한 라이브러리 프로젝트를 .so 파일로 컴파일하는 방법?

을 내가 Xcode6 베타를 사용하고 있습니다.

+0

이전에 비슷한 일을하고 있었는데 "import foundation"없이는 언어에 대해 거의 아무것도 할 수 없다는 것을 알았습니다 (머리글을 살펴보십시오!). 그래서 우리는 얼마나 멀리 갈 수 있는지 잘 모르겠습니다. 코코아에 의존하지 않는다. 사람들이 자신의 시도로 더 많은 것을 얻게되면 듣기에 관심이있을 것입니다. – Saran

답변

0

을 ... 나는 빨리 신속하고 객관적인 C와 코코아와 함께 일할 준비가 당신이 생각의 기차 비트를 제한하거나 비약을 기대하고 생각 그래서 당신은 완벽하게 코코아를 피할 수는 없지만, 컴파일러가 당신을 위해 그것을 작성해야 할 필요는 없지만, 코코아 프레임 워크 나 재단 같은 모듈을 사용해야 할 것입니다 (프로그램 개발을위한 많은 특수 객체를 포함하고 있습니다), UIKit, CoreData 그러나 이것들은 당신이 코코아를 쓰지 않아도되고, .so 파일이 만들어 졌다는 착각을하지 않는다면 그래서 당신은 실제로 해당 파일을 만지지 마십시오하지만 프로그래밍 방식으로 모든 일을하고자하는 경우 오히려 지원하고있다 파일이 그것을

을 할

을 .swift 또는 XIB 할 경우 또는 스토리 보드는 그냥 빈을 선호하는 새 프로젝트를 만들 컴파일 (프로그래밍 언어를 설정하여 핵심 데이터를 원하거나 프로젝트 마법사를 끝내지 않을지 결정한 다음 YourAppDelegate.swift를 사용하여 다른 .swift 파일이나 스토리 보드를 만들 수 있으며 잘하면 작업 내용을 알 수 있습니다. 스위프트 책은 무료로 아이북 볼 수는 코코아와 신속한 완전히 분리되기 전에 어느

+1

내 목표는 이것을 osx 또는 ios 응용 프로그램에서 사용하지 않는 것입니다. 내 목표는이 라이브러리를 사용하여 iOS와 Android간에 공유 할 수있는 공유 라이브러리/코어 앱을 빌드하는 것입니다 (Android NDK를 통해). 이 라이브러리에는 UI 구성 요소가 없습니다. 언어 기능은 Cocoa에 의존해서는 안됩니다. 나는 코코아가 필요없는 공유 된 코드를 컴파일 할 수 있어야한다. 코코아의 역할을 오해하고있는 것일까 요? 지금까지 Swift에서 iBook 1/4을 읽었습니다. 그것은 컴파일에 대해 아무것도 알려주지 않습니다. 난 그냥 .so 파일을 컴파일하고 자바의 JNI를 통해 액세스 할 수 있는지보십시오. – spierce7

+0

오, 죄송합니다. 그럼 내 대답은 완전히 잘못되었습니다. 사용 방법 만 알고 싶다면 합리적인 것 같아요. 그러나 기본적인 빠른 언어 그러나 나는 youd가 어떻게 만드는지에 관해 명확히하지 않는다. 아마 당신은 a를 골라 낼 수있다.놀이터 파일과 나는 자바가 어떻게 접근 할지를 확신하지 못한다. 나는 미안하다 보니 계속 도움이되지 않을 것이다. – Snymax

+0

놀이터를 통해 피킹하는 nvm은 방금 시도했는데 .swift 파일과 타임 라인 파일이있다. 또한 신속한 파일과 plist만을 포함하는 응용 프로그램을 컴파일하고 컴파일하는 동안 다른 파일들을 추가하고 신속한 파일은 .o로 컴파일되어 일반 객체 디렉토리에 있습니다. – Snymax

1

당신은 새를 만들어 iOS 용의 발 빠른 라이브러리를 만들 수 있다면 그것은 ... 꽤있을 것입니다하지만 잘

작성 Xcode 프로젝트를 선택하고 iOS/OS X -> Framework & Library -> Cocoa Touch Framework를 선택하고 다음 화면에서 언어를 Swift로 설정하십시오.

이 프로젝트를 생성하고 나면 Cocoa 프레임 워크와 링크 할 필요가 없으며 필요한 경우 참조를 제거 할 수 있습니다.

이 프로젝트를 컴파일 할 때 Xcode는 링크 할 수 있어야하는 동적 라이브러리가 포함 된 .framework 폴더를 빌드 디렉토리에 만듭니다. 그러나 표준 동적 라이브러리 인 것처럼 보일지라도이 파일과 직접 연결하는 데 어떤 성공도 얻지 못했습니다.

Android에서이 공유 객체 파일을 사용하는 측면에서 Swift 언어 (Objective-C와 비슷 함)는 현재 다른 플랫폼에서는 사용할 수없는 런타임 라이브러리가 필요하기 때문에 운이 좋지 않을 것으로 생각됩니다.

+0

유용한 정보. 고맙습니다. 가능한 신속하게 목표 C와 같은 런타임을 사용합니다. 사람들은 안드로이드를위한 객관적인 C 런타임을 포함 할 수있었습니다 : https://www.apportable.com/ 나는이 질문을 너무 빨리 요청했을 수 있습니다. 애플은 아직 많은 정보를 공개하지 않았으며, 개발자들은 여전히이 언어를 실험하고있다. – spierce7

관련 문제