Должно работать что-то вроде следующего (взято из созданного мною проекта, который создает приложения с помощью инструмента командной строки xcodebuild):
- (BOOL)createSignedIPA:(NSError **)error
{
[self.delegate builder:self didUpdateStatus:@"creating IPA, please be patient ..."];
NSTask *task = [[NSTask alloc] init];
NSString *path = @"/usr/bin/xcrun";
[task setLaunchPath: path];
NSString *input = [MOB_PROJECT_DIR stringByExpandingTildeInPath];
input = [NSString stringWithFormat:@"%@/build/%@-iphoneos/yourapp.app", input, isDemoApp ? @"Debug" : @"Release"];
NSString *output = [@"~/Desktop" stringByExpandingTildeInPath];
output = [NSString stringWithFormat:@"%@/%@%ld.ipa", output, isDemoApp ? @"demo" : @"app", appIdentifier];
NSString *bundleIdentifier = [self bundleIdentifier];
NSString *profile = [self pathForProfileWithBundleIdentifier:bundleIdentifier error:error];
if (!profile)
if (*error)
return NO;
else
{
NSString *message = [NSString stringWithFormat:@"no profile found for bundle %@", bundleIdentifier];
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:message forKey:NSLocalizedDescriptionKey];
*error = [NSError errorWithDomain:MOB_APP_DOMAIN code:MOB_ERR_PROFILE_NOT_FOUND userInfo:userInfo];
return NO;
}
NSLog(@"%@", profile);
NSArray *arguments = [NSArray arrayWithObjects:
@"-sdk", @"iphoneos5.0",
@"PackageApplication", input,
@"-o", output,
@"--sign", isDemoApp ? @"Wolfgang Schreurs (YK9DVMECC4)" : @"My Company",
@"--embed", profile,
@"-verbose",
nil];
[task setArguments:arguments];
NSString *projectDirectory = [MOB_PROJECT_DIR stringByExpandingTildeInPath];
[task setCurrentDirectoryPath:projectDirectory];
NSPipe *pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
[task setStandardInput:[NSPipe pipe]];
NSFileHandle *file = [pipe fileHandleForReading];
[task launch];
NSData *data = [file readDataToEndOfFile];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
[self.delegate builder:self didUpdateStatus:string];
return YES;
}
В этом фрагменте выше я беру * .app из каталога сборкии создайте подписанный IPA, используя профиль обеспечения из ~/Library/MobileProvisioning
(или что-то в этом роде).