Skip to content

iOS app can't link to extern "Swift" code in Release mode #166

Description

@bes

When I run my iOS application in Debug mode, everything is working correctly and the code is linking properly.

But when I build my iOS app in Release mode, for App Store release, I am greeted with the following errors:

Undefined symbols for architecture arm64:
  "___swift_bridge__$OfflineReceiver$_free", referenced from:
      core::ptr::drop_in_place$LT$myproj_ios..myproj_offline..ffi..OfflineReceiver$GT$::hb5a4651c8752da54 in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$OfflineReceiver$on_manifest", referenced from:
      offline::progress::run_actor::_$u7b$$u7b$closure$u7d$$u7d$::hd5afb0205e5abf69 in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$OfflineReceiver$on_offline_done", referenced from:
      myproj_ios::myproj_offline::download_variant::_$u7b$$u7b$closure$u7d$$u7d$::h17a6945056206be1 in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$OfflineReceiver$on_progress", referenced from:
      myproj_ios::myproj_offline::ffi::OfflineReceiver::on_progress::h80e7a91a8a0acb74 in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$get_api_url", referenced from:
      myproj_ios::myproj_offline::ffi::get_api_url::h8098cba097ff8c42 in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$get_authentication_token", referenced from:
      myproj_ios::api::authorization_header::h3cb62deba6add7c5 in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$get_web_url", referenced from:
      myproj_ios::myproj_offline::ffi::get_web_url::h428b19a7e304204c in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
  "___swift_bridge__$log_to_swift", referenced from:
      myproj_ios::logging::ffi_log_to_swift::h7bb085a9a47d98bc in libmyproj_ios.a(myproj_ios-d575b7966d7d1c3d.myproj_ios.45588441-cgu.0.rcgu.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Basically it can't link against anything that is declared extern "Swift". I've tried a few things before reaching out, but I can't figure out what is going wrong.

Please help 🙏

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions