Ошибка неопределенные символы для архитектуры x86_64:

Я работаю в проекте с Map framework, и все это нормально, пока я не начинаю с push-уведомлений и писать @property bool push;в моем AppDelegate.h. У меня есть это в моем AppDelegate.м

(void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{

NSString *key =[[NSUserDefaults standardUserDefaults] stringForKey:@"token"];

if ( key== nil || [key isEqual:@""])
{
    _push=true;
    NSString* token = [[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""] stringByReplacingOccurrencesOfString: @">" withString: @""] stringByReplacingOccurrencesOfString: @" " withString: @""] ;
    NSLog(@"=== Device token: %@", token);
    NSUserDefaults *userdefault = [NSUserDefaults standardUserDefaults];
    [userdefault setObject:token forKey:@"token"];

    NSString *jsonPostBody = [NSString stringWithFormat:@"{"token":"
                              ""%@""
                              ","type":"
                              ""ios""
                              "}",
                              [token stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    NSData *postData = [jsonPostBody dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];

    NSURL *url = [NSURL URLWithString:@"http://www.turismolapalmadelcondado.es/es/api/push_notifications"];

    NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url
                                                           cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                                       timeoutInterval:180.0];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:postData];
    NSString* postDataLengthString = [[NSString alloc]initWithFormat: @"%d", [postData length]];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:postDataLengthString forHTTPHeaderField:@"Content-Length"];

    NSURLResponse *response = nil;
    NSError *error = nil;
    NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    NSHTTPURLResponse *httpResponse = response;
    NSLog(@"response text: %@",[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding] );
    NSLog(@"response status code: %ld", (long)[httpResponse statusCode]);
}

}

Дело в том, что если я не определяю push, у меня есть ошибка в AppDelegate.m но если я это сделаю, у 93 с той же ошибкой в рамках.
У меня не было никаких проблем раньше, и я почти перепробовал все решения, которые я нашел здесь.

Неопределенные символы для архитектуры x86_64:
«BingMapsLayer::BingMapsLayer(СТД::__1::элементах, с std::__1::распределитель > с const&, с std::__1::элементах, с std::__1::распределитель > с const&, TimeInterval как const&, bool и, Инт, инт, флоат, LayerCondition как const* и std::__1::вектор >)», ссылка из:
G3MScenarioDEMDemoScene:: rawActivate(g3mcontext const
) в G3MScenarioDEMDemoScene.o
G3MVectorialDemoScene:: rawActivate(g3mcontext const*) в G3MVectorialDemoScene.o
G3MPointCloudDemoScene:: rawActivate(g3mcontext const*) в G3MPointCloudDemoScene.o
G3MAnimatedMarksDemoScene:: rawActivate(G3MContext const*) в G3MAnimatedMarksDemoScene.o
G3MStereoDemoScene:: rawActivate(g3mcontext const*) в G3MStereoDemoScene.o
G3MVectorStreaming2DemoScene:: rawActivate(g3mcontext const*) в G3MVectorStreaming2DemoScene.o
G3MStreamingPointCloud2DemoScene:: rawActivate(g3mcontext const*) в G3MStreamingPointCloud2DemoScene.o

«GEOVectorLayer:: GEOVectorLayer(int, int, int, int, float, LayerCondition const*, std::_ _ 1:: vector >) «, ссылается на:
G3MVectorialDemoScene:: rawActivate(g3mcontext const
) в G3MVectorialDemoScene.o
G3M3DSymbologyDemoScene:: rawActivate(g3mcontext const*) в G3M3DSymbologyDemoScene.o
«Mark::Mark(std::_ _ 1:: basic_string, std::_ _ 1:: allocator > const&, URL const&, Geodetic3D const&, AltitudeMode, double, bool, float, Color const*, Color const*, int, MarkUserData*, bool, MarkTouchListener*, bool)», referenced from:
G3MMarksDemoScene_BufferDownloadlistener:: onDownload(URL const&, IByteBuffer*, bool) в G3MMarksDemoScene.o
«Layer::setTitle(std::_ _ 1:: basic_string, std::_ _ 1:: allocator > const&)», referenced from:
— [ParkingViewController createLayerSet] в ParkingViewController.o
G3MRasterLayersDemoScene:: createLayerSet(LayerSet*) в G3MRasterLayersDemoScene.o
«std:: string:: erase (__gnu_cxx:: _ normal_iterator, _ _ gnu_cxx::_normal _ iterator)», referenced from:
StringUtils_iOS::ltrim(std:: string const&) const в libG3MiOSSDK.a (StringUtils_iOS.o)
StringUtils_iOS::rtrim(std:: string const&) const в libG3MiOSSDK.a (StringUtils_iOS.o)
«std:: string:: erase (unsigned long, unsigned long)», referenced from:
StringUtils_iOS::replaceAll(std::string const&, std::string const&, std:: string const&) const в libG3MiOSSDK.a (StringUtils_iOS.o)
«std:: basic_ostream > & std::operator><< > (std:: basic_ostream < >>&, char const*)», ссылка из:
StringBuilder_iOS:: addBool(bool) в libG3MiOSSDK.a (G3MWidget_iOS.o)
IntBuffer_iOS:: description() const в libG3MiOSSDK.a (IntBuffer_iOS.o)
FloatBuffer_iOS:: description() const в libG3MiOSSDK.a (FloatBuffer_iOS.o)
ShortBuffer_iOS:: description() const в libG3MiOSSDK.a (ShortBuffer_iOS.o)
«std:: basic_ostream > & std::operator><<, std:: allocator > (std:: basic_ostream <, std:: allocator >>&, std:: basic_string, std::allocator<, std:: allocator > > > const&)», ссылка из:
StringBuilder_iOS::addString(std:: string const&) в libG3MiOSSDK.a (G3MWidget_iOS.o)
StringUtils_iOS::parseHexInt(std:: string const&) const в libG3MiOSSDK.a (StringUtils_iOS.o)
ld: символы не найдены для архитектуры x86_64
clang: error: ошибка команды компоновщика с кодом выхода 1 (Используйте -v, чтобы увидеть вызов)
Отображение только первых 200 уведомлений

Если вам нужно что-то больше информации, пожалуйста скажите мне.

Спасибо.

1 ответ

  1. Наконец, я смог исправить ошибку. У меня была ошибка в определенной структуре, но, возможно, я могу помочь кому-то. Это действительно был проект ошибки конфигурации, если вы используете в качестве меня opensource framework внимательно прочитайте документацию к требованиям, в моем случае было две вещи, которые мне нужно, чтобы заставить его работать, и я не мог найти, я не знал, кто waslooking, пока я не увидел некоторые файлы, которые нужны и не имеют. Кроме этого, версия ios framework или вещи, такие как включение или не Bitcode или arc, в моем случае я должен был включить Bitcode в отладке, но не в выпуске. Чтобы узнать это, просто глядя на настройки framework an patiente. I hope mi experience can hepl someone.