facebook / facebook-ios-sdk

Used to integrate the Facebook Platform with your iOS & tvOS apps.
https://developers.facebook.com/docs/ios
Other
7.78k stars 3.54k forks source link

Xcode 15 warnings #2248

Open kattouf opened 1 year ago

kattouf commented 1 year ago

Checklist before submitting a bug report

Xcode version

Xcode 15.0 Beta 6 (15A5219j)

Facebook iOS SDK version

16.1.3

Dependency Manager

CocoaPods

SDK Framework

Login

Goals

Warning-free compilation

Expected results

Compilation completes without warnings

Actual results

Compilation competes with following warnings:

ld: warning: duplicate LC_RPATH are deprecated ('@executable_path/Frameworks')
ld: warning: duplicate LC_RPATH are deprecated ('@loader_path/Frameworks')

Steps to reproduce

  1. Integrate FBSDKLoginKit to iOS project via CocoaPods
  2. Compile project with Xcode 15 Beta 6
  3. After compilation completes get warnings in compile target linking step image

Initially Xcode doesn't specify which binary generates this warning, to find out it I copy target linking command from Xcode's build log and run it directly in the terminal, adding argument for additional linker logging: -t Logs each file (object, archive, or dylib) the linker loads. Useful for debugging problems with search paths where the wrong library is loaded.

 /Applications/Xcode-15.0.0-Beta.6.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Xlinker -t ....very long args list....

Output:

...
/Users/kattouf/Library/Developer/Xcode/DerivedData/MyApp-cwrffmwjdlzeiyarzpcebcovosub/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/FBAEMKit/FBAEMKit.framework/FBAEMKit
ld: warning: duplicate LC_RPATH are deprecated ('@executable_path/Frameworks')
ld: warning: duplicate LC_RPATH are deprecated ('@loader_path/Frameworks')
...
/Users/kattouf/Library/Developer/Xcode/DerivedData/MyApp-cwrffmwjdlzeiyarzpcebcovosub/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/FBSDKCoreKit/FBSDKCoreKit.framework/FBSDKCoreKit
ld: warning: duplicate LC_RPATH are deprecated ('@executable_path/Frameworks')
ld: warning: duplicate LC_RPATH are deprecated ('@loader_path/Frameworks')
...
/Users/kattouf/Library/Developer/Xcode/DerivedData/MyApp-cwrffmwjdlzeiyarzpcebcovosub/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/FBSDKCoreKit_Basics/FBSDKCoreKit_Basics.framework/FBSDKCoreKit_Basics
ld: warning: duplicate LC_RPATH are deprecated ('@executable_path/Frameworks')
ld: warning: duplicate LC_RPATH are deprecated ('@loader_path/Frameworks')
...
/Users/kattouf/Library/Developer/Xcode/DerivedData/MyApp-cwrffmwjdlzeiyarzpcebcovosub/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/FBSDKLoginKit/FBSDKLoginKit.framework/FBSDKLoginKit
ld: warning: duplicate LC_RPATH are deprecated ('@executable_path/Frameworks')
ld: warning: duplicate LC_RPATH are deprecated ('@loader_path/Frameworks')
...

Then I manually checked one of arm64 binary to confirm the warning by printing load commands:

otool -arch arm64 -l Pods/FBSDKLoginKit/XCFrameworks/FBSDKLoginKit.xcframework/ios-arm64/FBSDKLoginKit.framework/FBSDKLoginKit   | rg -A 2 -B 1 LC_RPATH

And got output, where we see that @executable_path/Frameworks and @loader_path/Frameworks are defined twice:

Load command 36
          cmd LC_RPATH
      cmdsize 32
         path /usr/lib/swift (offset 12)
Load command 37
          cmd LC_RPATH
      cmdsize 40
         path @executable_path/Frameworks (offset 12)
Load command 38
          cmd LC_RPATH
      cmdsize 40
         path @loader_path/Frameworks (offset 12)
Load command 39
          cmd LC_RPATH
      cmdsize 40
         path @executable_path/Frameworks (offset 12)
Load command 40
          cmd LC_RPATH
      cmdsize 40
         path @loader_path/Frameworks (offset 12)

Code samples & details

No response

kattouf commented 1 year ago

Hello! Xcode 15 Release is coming soon, do you have any updates?

chwo commented 1 year ago

Now that Xcode 15 is officially released can you give an ETA when this will be fixed?

omarzl commented 12 months ago

+1

FurkanEmiroglu commented 12 months ago

Any updates ?

kattouf commented 10 months ago

bump