Подтвердить что ты не робот

Создание приложения для iPhone без Xcode

Возможно ли это? Если это так, я хотел бы попробовать это, если только узнать больше. Кажется, что Xcode делает это автоматически, я хотел бы знать, что действительно нужно, чтобы сделать приложение для iPhone без предварительной настройки для меня.

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

В идеале я хотел бы сохранить возможность запуска приложения в симуляторе или на моем телефоне. (Как еще я смогу проверить и отладить?).

Спасибо!


РЕДАКТИРОВАТЬ 1

Из некоторых ответов, которые у нас есть, я вижу, что мое намерение необходимо уточнить. Идея состоит в том, чтобы узнать больше о том, что Xcode предоставляет в процессе разработки приложений для iPhone. Я не хочу обходить Xcode, я просто хочу знать, что он на самом деле делает.

Может быть, какой-то список может быть местом для начала. Что-то вроде: to avoid using Xcode you would need to figure out how to create targets, code sign, etc.

Надеюсь, это поможет.

4b9b3361

Ответ 1

Если вы действительно хотите знать, как все работает, вы можете начать с изучения формата двоичного исполняемого файла и фактического используемого машинного кода процессора. Затем вы узнаете, как создать массив шестнадцатеричных или восьмеричных кодов операций как для armv7 или armv64, так и для машинного кода x86. Тогда вы сможете создать приложение без использования компилятора Xcode LLVM или генератора кода.

Добавлено: Но вам все равно понадобятся инструменты XCode для кодирования подписи пакета до его установки на немодифицированное устройство iOS.

Ответ 2

Все неправильно... Xcode просто создает двоичный диск из nibs и позволяет вам называть их объектами... вы можете делать то же самое, используя GCC самостоятельно...

  • Создайте main.m, RootControlViewer.h, RootControlViewer.m и AppNameApplication.h
  • делегат...
  • Создайте файл makefile...
  • включают необходимые флаги компилятора, адресатов в фреймворки и необходимые файлы include...
  • И из оболочки введите "make", и у вас есть application.app generated...

  • Поместите их в папку с полезной нагрузкой...

  • zip и переименовать zip в IPA...
  • затем используйте команду sign для подписи пакета...

Я работаю над клоном XCODE для Windows, Mac и Linux...:-) все элементы управления генерируются в чистом коде (без перьев), и я уже завершил построитель интерфейсов и могу создать рабочий устанавливаемый приложения... В настоящее время я пишу "интерпретатор", который будет использоваться, чтобы синтаксис был более "ОСНОВНЫМ", и когда вы нажимаете build..all код преобразуется в obj-c... построен с использованием gcc... и готов к развертыванию:-)

Ответ 3

Посмотрите это.

Я не использовал его сам, но, похоже, делает все, что делает Xcode.

Ответ 4

Если вы сделали джейлбрейк на своем устройстве iOS, вы можете установить gcc toolchain из Cydia и разработать и скомпилировать приложения прямо на вашем устройстве. Вы не сможете разместить эти приложения в AppStore, но это прекрасный способ изучить API Apple.

Если вам интересно, прокомментируйте, и я раскрою это сообщение с практическим и небольшим примером.

Ответ 5

Ограничения жизни без Xcode

Это действительно зависит от того, какой уровень боли и какие компромиссы вы хотите сделать. По сути, для App Store нет iOS-разработки без Mac и Xcode.

Некоторые проблемы и примеры без Xcode

  • CodeSigning codesign
  • Загрузка в AppStore
  • Библиотеки UIKit
  • Toolchain clang

Это не значит, что проблемы не могут быть преодолены до некоторой степени, но это начинает выталкивать вас из AppStore в мир джейлбрейков. Так что если вы все еще хотите разрабатывать для устройства, симулятора и собственно AppStore, вы многое можете сделать без проектов Xcode.

Выбор отладчика и IDE

Вы можете использовать vi или AppCode. Подойдет любой текстовый редактор. Вы по-прежнему хотите установить Xcode на свой компьютер для того, чтобы иметь набор инструментов компилятора и необходимые библиотеки. На самом деле не обойтись. Затем для отладки вы можете использовать lldb в командной строке. Установка и управление приложениями может осуществляться через ios-deploy.

Привет мир сортов - Untitled.app

Github Project

Я собираюсь создать (чрезвычайно) базовое приложение для iPhone Simulator. Основной идиомой приложения является папка с расширением .app содержащая Info.plist и двоичный файл, скомпилированный для цели. Info.plist содержит отображаемое имя, идентификатор пакета и двоичное имя.

Makefile

Создание приложения, вероятно, самая сложная часть. Makefile не нужен, но он помогает вам оставаться в здравом уме.

default: main

.PHONY: clean

clean:
    rm main

SYSROOT:=$(shell xcrun --sdk iphonesimulator --show-sdk-path)
main: main.m
    clang -isysroot $(SYSROOT) -framework Foundation -framework UIKit -lobjc -o Untitled.app/[email protected] $<

Папка Untitled.app и Info.plist

Создайте папку с именем Untitled.app и добавьте Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleDisplayName</key>
    <string>Untitled</string>
    <key>CFBundleExecutable</key>
    <string>main</string>
    <key>CFBundleIdentifier</key>
    <string>com.cameronpalmer.Untitled</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Untitled</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

main.m

#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(id)options {
    NSLog(@"%s", __PRETTY_FUNCTION__);
    CGRect mainScreenBounds = [[UIScreen mainScreen] bounds];
    self.window = [[UIWindow alloc] initWithFrame:mainScreenBounds];
    UIViewController *viewController = [[UIViewController alloc] init];
    viewController.view.backgroundColor = [UIColor whiteColor];
    viewController.view.frame = mainScreenBounds;
    self.window.rootViewController = viewController;

    [self.window makeKeyAndVisible];

    return YES;
}

@end

int main(int argc, char *argv[]) {
    NSLog(@"%s", __PRETTY_FUNCTION__);
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

Постройте и установите его на симуляторе

# Build
make
# Boot
xcrun simctl boot <UUID_OF_DESIRED_SIMULATOR>
# Install
xcrun simctl install <UUID_OF_BOOTED_SIMULATOR> ./Untitled.app
# Open Simulator app
XCODE_PATH=$( xcode-select --print-path )
open "${XCODE_PATH}/Applications/Simulator.app"

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

Ответ 6

В iPhone вы можете создать 2 вида приложений: a) Веб-приложения b) Native Apps

a) Веб-приложения могут быть созданы с использованием только Javascript и затем сохранены на рабочем столе устройства iOS. При нажатии на них они запускаются в браузере.

b) Родные приложения также двух видов.

  • Purely native: полностью используется Xcode. Может иметь шаблоны, плагины, вызовы в другие приложения и т.д.

  • Приложения, которые начинаются как приложения для веб-приложений/SAP/и т.д., а затем могут быть добавлены в приложения. В этой категории есть Sencha Touch, JQuery Mobile и т.д. Эти приложения запускаются изначально на телефоне, как правило, используют телефонную или подобную плагину в Xcode и могут быть помещены в AppStore.

Вы можете следовать этому руководству по созданию простого приложения XCode с нуля. http://techtalktone.wordpress.com/2011/11/26/hello-world/

Если вы хотите что-то, что НЕ потребует от вас сделать учетную запись ADC или зарегистрироваться в качестве разработчика и по-прежнему создавать потрясающие приложения, попробуйте этот учебник: http://techtalktone.wordpress.com/2011/12/05/testing-your-ios-apps-on-a-jailbroken-device-2/

Надеюсь, что это поможет:)

Ответ 7

Невозможно разрабатывать приложения для iOS без Xcode. Apple не допустит этого, вам даже понадобится Apple OS te разработать собственные приложения! Тем не менее, можно создавать мобильные приложения с фреймворками и платформами, такими как Phonegap. С их помощью вы можете создавать мобильные приложения с HTML, CSS и Javascript вместо родной цели c. Если вы используете фреймворки, вы можете использовать свое собственное программное обеспечение по выбору.

Edit:

Вы даже можете использовать MonoTouch, который вы готовы заплатить. Я разработал тестовое приложение с Mono, и я впечатлен возможностями.

Ответ 8

Возможно, если вы решите написать код на других языках, кроме Objective-C.

Вы можете использовать кросс-платформенный SDK для разработки таких приложений, как

Corona или Unity или PhoneGap как указано выше.

Ответ 9

Вы можете использовать инструмент под названием theos, который позволяет создавать приложения, которые можно запускать на /jailbroken/device. Он позволяет создавать собственные приложения, которые можно запускать на устройстве (не используя html или что-то еще). Вам также не нужно иметь идентификатор подписи кода для запуска этих приложений на вашем устройстве.

Heres ссылка о том, как установить, к сожалению, документации практически нет.

Ответ 10

Это не так. Эмуляция того, что Xcode делает, потребует обратной инженерии для многих технологий Apple и, несомненно, приведет к ярости Apple и, возможно, к юридическим действиям.

Ответ 11

Вы можете попробовать Xamarin MonoTouch, который утверждает, что разрешает создавать собственные приложения для iOS в С#/. NET. Хотя это не совсем одно и то же, но это дает вам возможность создавать собственные приложения iOS на С# (или, соответственно, они утверждают).

Я не тестировал его, но люди, похоже, считают, что он работает (я видел несколько статей об этом).

Насколько хороши в сравнении с разработкой XCode в обычном режиме? И будет ли он когда-нибудь взорваться? Я не знаю. Но это похоже на хороший проект.