Files
KanbanGit/native/src-tauri/gen/apple/Sources/kanbangit-native/main.mm
T
Twyco d07b17ebdb
CI/CD / preconditions (pull_request) Successful in 2s
CI/CD / test_and_check_app (pull_request) Successful in 6m59s
CI/CD / Publish immutable image (pull_request) Skipped
feat(KAN-54): add local iOS and iPadOS Xcode builds
2026-09-26 20:52:56 +02:00

37 lines
1.4 KiB
Plaintext

#include "bindings/bindings.h"
#import <UIKit/UIKit.h>
#include <cstdlib>
#include <unistd.h>
extern "C" void install_ios_workspace(void);
int main(int argc, char * argv[]) {
@autoreleasepool {
// Xcode mirrors os_log to stderr. Tauri 2.11 redirects stderr back to os_log,
// which can fill its pipe and block UIKit/XCTest. Keep Xcode's original streams.
const bool debuggerLogging = getenv("OS_ACTIVITY_DT_MODE") != nullptr
|| getenv("XCTestConfigurationFilePath") != nullptr;
__block int originalOut = debuggerLogging ? dup(STDOUT_FILENO) : -1;
__block int originalError = debuggerLogging ? dup(STDERR_FILENO) : -1;
[[NSNotificationCenter defaultCenter]
addObserverForName:UIApplicationDidBecomeActiveNotification
object:nil
queue:NSOperationQueue.mainQueue
usingBlock:^(NSNotification *notification) {
if (originalOut >= 0) {
dup2(originalOut, STDOUT_FILENO);
close(originalOut);
originalOut = -1;
}
if (originalError >= 0) {
dup2(originalError, STDERR_FILENO);
close(originalError);
originalError = -1;
}
install_ios_workspace();
}];
ffi::start_app();
return 0;
}
}