Skip to content
This repository has been archived by the owner. It is now read-only.
develop
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
src
 
 
web
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Announcement

This project is no longer maintained. Further issue reports and/or pull requests will not be attended. We thank you for all your contributions and we hope this project has had a positive impact on your iOS development.


objc2swift

demo.gif

Project Goal

We created objc2swift for our own good, to reduce the redundant task when rewriting Obj-C code to Swift.

Generally, rewriting process consists of two phases: first simply replacing the syntax from Obj-C to Swift, then adopting new features that are introduced to Swift.

objc2swift is aimed at reducing the first half of the process, so that we can focus more on the creative / intellectual work.

Please do not expect complete conversion.

Features

  • Merges @interface and @implementation and create a single Swift class.
  • Converts properties, including those that have it's own getter/setter in the implementation.
  • Converts message-send to method-call.
  • Converts init-process such as [[MyThing alloc] initWithThing:...] into MyThing(thing: ...).
  • Converts corresponding types and functions: NSInteger -> Int, NSLog -> print
  • ...and more!

Quick Start

CLI

Build jar:

$ git clone https://github.com/yahoojapan/objc2swift.git
$ cd objc2swift
$ ./gradlew jar

Create an alias, and pass the Obj-C source files you want to convert.

$ alias objc2swift='java -jar /path/to/objc2swift/build/libs/objc2swift-1.0.jar'
$ objc2swift src/test/resources/sample.*

WEB-UI

Install typesafe-activator, and run.

$ brew install typesafe-activator
$ cd web/
$ activator run

Access localhost:9000, and there you are!

Developer's Guide

objc2swift is made with ANTLR. More detail coming soon.

LICENSE

This software is released under the MIT License, see LICENSE.txt.

About

Open Source Obj-C to Swift Converter.

Resources

License

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages

You can’t perform that action at this time.