Довольно простой вопрос,
независимо от того, что я делаю, приложение вылетает при попытке вызвать open (), ниже приведена часть кода, которая имеет отношение к делу. filename не является мусорным значением и содержит абсолютный путь к файлу. Это терпит неудачу на устройстве и симуляторе.
printf имени файла возвращает:
/ Пользователи / programmingstation7 / Библиотека / Поддержка приложений / iPhone
Simulator / 4.3 / Применения / E2BD16DB-FFBA-45D2-B425-96C981380B85 / Документы / issue2.zip
соответствующая обратная трассировка:
#0 0x002132dc in open ()
#1 0x000ddcec in -[ExternalZipInstaller
unzipTheFile] (self=0x68a8d60, _cmd=0x1483f3) at
ExternalZipInstaller.mm:261
Код:
#include <stdio.h> /* Standard input/output definitions */
#include <string.h> /* String function definitions */
#include <unistd.h> /* UNIX standard function definitions */
#include <fcntl.h> /* File control definitions */
#include <errno.h> /* Error number definitions */
#include <termios.h> /* POSIX terminal control definitions */
#ifndef O_BINARY
#define O_BINARY 0
#endif
- (void) unzipTheFile
{
BOOL success = YES;
const char* filename = [self.zipName UTF8String];
open(filename, O_RDONLY | O_BINARY);