Compiler une application de ligne de commande iOS Objective-C via gcc sur mac
Ici est très simple, Objective-C application console:
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
NSLog(@"Hello world!");
[pool drain];
return 0;
}
Je le compile avec gcc main.m -o main -ObjC -framework Foundation -framework CoreLocation
sur mon Mac.
J'ai aussi le SDK iOS installé sur mon mac. Comment puis-je modifier cette commande pour compiler le même code, sur mon ordinateurpour une utilisation sur un (jailbreaké) appareil iOS ?
Je pourrais ensuite transférer le fichier exécutable via ssh et de le signer avec ldid
.
source d'informationauteur Klaus
Vous devez vous connecter pour publier un commentaire.
En supposant que vous n'êtes pas marié à renfermé vieux GCC, délibérément déclenchement des erreurs dans mon projet de façon à obtenir dans une position où Xcode va révéler la ligne de commande utilisée a révélé ce qui suit pour la compilation:
Si vous êtes à la baisse de l'utilisation de Xcode puis-je suppose que vous pouvez couper les choses à propos de l'Interface du Générateur de points de vente, à tout le moins. Et des capacités pour armv6 plutôt que la v7 est probablement une erreur dans mon projet.
Et puis, pour lien:
L' .LinkedFileList fichier qui semble juste pour avoir une liste des fichiers objets, un par ligne. Xcode a mis le chemin complet de chaque en il y, bien que j'avais suppose que des chemins relatifs pour être acceptable.
J'apprécie ce n'est pas une réponse, mais j'espère que cela aide?
Pour de simples cas, cela pourrait être assez bon:
Mise à jour:
Cette commande ne fonctionne pas pour un iOS application en ligne de commande - l'arche doit être réglé correctement. Je n'ai pas d'iOS environnement de dev à la main; probablement l'-mars pavillon de l'aide.
Voir la accepté de répondre.
Pour compiler iOS code sur votre mac, vous devez utiliser le compilateur croisé, c'est à dire un compilateur en cours d'exécution sur une plate-forme Intel et capable de générer des BRAS de code binaire.
Xcode ne fournir un tel compilateur croisé. Il est situé à (en supposant que vous êtes en utilisant Xcode 4.3 distribués à partir de l'App Store)
Pour un simple "hello world" genre de programme, je suis à la compilation à l'aide de
Pourquoi ne pas utiliser
xcodebuild
au lieu d'appeler directementgcc
?