2017-01-20 4 views
0

В настоящее время я работаю над проектом со многими файлами, и иногда я ищу для запуска всего лишь блок кода без создания и запуска цели.Возможно ли запустить один файл Swift файла main() внутри Xcode?

Есть ли способ сделать это, как это с Android Studio, просто создавая:

public static void main(String[] args) { 
    // Some random code 
} 

я нашел только несколько советов, чтобы сделать это с помощью GCC, которые применяются только для ObjC кода. Кроме того, использование онлайн-песочницы не работает, так как мне нужно ссылаться на разные типы внутри моего проекта.

+0

Посмотрите на игровые площадки xCode. – Connor

+0

XCTests тоже будет работать –

+0

Я пробовал ваши решения, но считаю, что это слишком много работы, когда вы просто хотите быстро запустить несколько строк кода. – Louis

ответ

1

Добавить main.swift файл вашего проекта, содержащий этот код:

import UIKit 
UIApplicationMain(
    CommandLine.argc, 
    UnsafeMutableRawPointer(CommandLine.unsafeArgv) 
     .bindMemory(
      to: UnsafeMutablePointer<Int8>.self, 
      capacity: Int(CommandLine.argc)), 
    nil, 
    NSStringFromClass(AppDelegate.self) 
) 

Теперь найдите ваше приложение делегата быстрый файл и удалите этот термин @UIApplicationMain.

Теперь построить и запустить, чтобы доказать себе, что приложение все еще работает ...

Теперь вы можете закомментировать UIApplicationMain вызов и добавить код верхнего уровня по желанию. Но будьте осторожны, это может работать не так, как ожидалось, потому что теперь вы пытаетесь работать вне рамок приложения.

+0

Удалив термин @UIApplicationMain, а затем создав файл main.swift с вашим фрагментом, я получаю следующую ошибку: _выставки не разрешены на верхнем уровне_ – Louis

+0

@Slowbro Очевидно, я не знаю, что сделал _you_. Но я заверяю вас, что это работает; вы можете загрузить рабочий пример проекта из моей книги, здесь: https://github.com/mattneub/Programming-iOS-Book-Examples/tree/master/bk1ch06p297main/bk1ch06p297main – matt

Смежные вопросы