problem when i create ipa

Hi all

I have integrated the sdk, and I have tried to create a archive, but receive this error:

Apple Mach-O Linker (ld) Error Group
"_OBJC_CLASS_$_UANotificationContent", referenced from:

"_OBJC_CLASS_$_UANotificationResponse", referenced from:

"_OBJC_CLASS_$_UAConfig", referenced from:

"_OBJC_CLASS_$_UAirship", referenced from:

clang: error: linker command failed with exit code 1 (use -v to see invocation)

The push works, any idea why i get this error?

Thanks a lots

Didn't find what you were looking for?

New post

Comments

9 comments

  • Hi f.benedetti.

    Getting an error like that when archiving the project generally indicates a problem with the linking of frameworks and/or libraries in your app, regardless of whether or not they work in Development.

    It would be helpful to know what steps you ran through to integrate the SDK into your app. From there, we should be able to pinpoint where the issue is.

    Comment actions Permalink
    0
  • Thanks Michael

    I follow this steps:

    I downloaded liv vs 8.1.1


    I have  AirshipAppExtensions and AirshipKit into my root folder

    General tab
    on "Embedded Binaries" i have AirshipAppExtensions.framework and AirshipKit.framework and Service Extension
    so i see the AirshipKit.framework in "Linked Frameworks and Libraries"

    on "Target Dependencies" i have AirshipAppExtensions.framework, AirshipKit.framework and Servcie extension 

    on "Link Binary" I have AirshipKit.framework

    on "Embed app Extension" i have the service extension

    on "Copy files" i have AirshipAppExtensions.framework, AirshipKit.framework

     

    But if i run the application i don't have problem, only if a try to create and archive. in the plist i dont have the product keys because in this moment i don't need.

    thanks

    Comment actions Permalink
    0
  • f.benedetti,

    Do you also have the Airship folder in your root folder?

    Additionally, only AirshipKit and your service extension should be under the target dependencies section.

    You may also choose to archive the project by choosing "Generic iOS Device" when choosing which devices to deploy to. Try changing it to that before archiving the project.

    Comment actions Permalink
    0
  • Do you also have the Airship folder in your root folder?

    No i Don't

    Additionally, only AirshipKit and your service extension should be under the target dependencies section.

    Do you mean on tab "Build Phases" on the "Target Dependencies"?

    If I put on "Build active architetture only" yes in debug and release, I can create an archive, but the application crash when start.

    In my appconfig.plist i don't have product credential, it is important also per developer version?

    Thanks a lot

     

     

    Comment actions Permalink
    0
  • f.benedetti,

    It doesn't sound like you have followed the necessary SDK setup steps if you don't have Airship in the right areas in your app.

    For reference for a proper setup of the SDK, you may look at the Sample app that is located within the SDK itself.

    Finally, you will need to provide the Production credentials in the plist if you are archiving the app to be deployed to the App Store. Failure to do so may result in errors from Apple when uploading to the store, or when sending a push to your live audience.

    If you are not yet deploying to the App Store, you don't need to be concerned with it for now.

    Comment actions Permalink
    0
  • Yes i missing some step, now i have the airship and airshipkit in the root project folder, the same place where i have my .xcodeproj.

    I need to create archive for send a version for a testflight.
    if i change in Archive --> Build configuration, and set debug instead of  release, the making of Archive works

    also if i set: 

    TARGETS > Architectures > Build Active Architecture Only
    Debug YES
    Release YES

    I don't understand what the problem

    Undefined symbols for architecture armv7:

      "_OBJC_CLASS_$_UANotificationContent", referenced from:

          objc-class-ref in PushManager.o

      "_OBJC_CLASS_$_UANotificationResponse", referenced from:

          objc-class-ref in PushManager.o

      "_OBJC_CLASS_$_UAConfig", referenced from:

          objc-class-ref in AppDelegate.o

      "_OBJC_CLASS_$_UAirship", referenced from:

          objc-class-ref in AppDelegate.o

    ld: symbol(s) not found for architecture armv7

    clang: error: linker command failed with exit code 1 (use -v to see invocation)

     

    Comment actions Permalink
    0
  • f.benedetti,

    There might be some steps that have been left out.

    Would you be able to upload a sample project of your configuration? I think that might be easier to look through and troubleshoot. From there, we should be able to have a better perspective on whats going on with the project.

    Comment actions Permalink
    0
  • Thanks Michael,

    Sorry but I can't because it isn't owner for this code.

    But I thinks I found the problem, correct me if i wrong

    in AirshipKit.xcodeproj on Build Settings --> Build active architetture only is yes for debug and release,

    in my project is is yes for debug and no for release

     

    and

    in architetture is archs standard in my project but in AirshipKit.xcodeproj is archs standard+armv7s

    How should be this value in AirshipKit?

     

    The steps for integration i follow it several time, so i think it is correct 

    Comment actions Permalink
    0
  • f.benedetti,

    AirshipKit has "Build Active Architecture Only" set as "Yes" for both Debug and Release, and valid architectures are "arm64,armv7,armv7s,x86_64, and i386" for both the project and AirshipKit

    Comment actions Permalink
    0

Please sign in to leave a comment.