What does all this mean - Got when compiling for iOS

I received this error when trying to compile my app for iOS. I just converted everything to the Mobile Framework. It’s also a new laptop. So not sure what causes this. I filed a bug report as requested by the Xojo IDE.

Linking Executable
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CoreText.framework/CoreText.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//Foundation.framework/Foundation.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CoreGraphics.framework/CoreGraphics.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//AVKit.framework/AVKit.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//UIKit.framework/UIKit.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//AVFoundation.framework/AVFoundation.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CFNetwork.framework/CFNetwork.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CoreLocation.framework/CoreLocation.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//ImageIO.framework/ImageIO.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CoreMotion.framework/CoreMotion.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//Security.framework/Security.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//MapKit.framework/MapKit.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//AVFAudio.framework/AVFAudio.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//WebKit.framework/WebKit.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CoreMedia.framework/CoreMedia.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libiconv.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libobjc.A.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libc++.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libobjc.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//LocalAuthentication.framework/LocalAuthentication.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//QuartzCore.framework/QuartzCore.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libSystem.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//UserNotifications.framework/UserNotifications.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//SafariServices.framework/SafariServices.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in dylib file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/Frameworks/iOSFrameworkSimulator.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libSystem.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/AVFCapture.framework/AVFCapture) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/AVFCore.framework/AVFCore) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/System/Library/Frameworks//FileProvider.framework/FileProvider.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/DocumentManager.framework/DocumentManager) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/ShareSheet.framework/ShareSheet) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/WebKitLegacy.framework/WebKitLegacy) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libcache.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libcommonCrypto.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libcompiler_rt.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libcopyfile.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libcorecrypto.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libdispatch.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libdyld.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libmacho.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libremovefile.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_asl.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_blocks.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_c.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_collections.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_configuration.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_containermanager.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_coreservices.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_darwin.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_dnssd.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_featureflags.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_info.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_m.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_malloc.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_networkextension.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_notify.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_product_info_filter.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sandbox.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sim_kernel.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sim_platform.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sim_pthread.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_trace.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libunwind.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libxpc.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libc++abi.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/Applications/Xojo 2021 Release 3/Xojo.app/Contents/Resources/SDKStubs/iphonesimulator15.0/usr/lib/libcharset.1.tbd) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/System/Library/PrivateFrameworks/UIFoundation.framework/UIFoundation) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sim_kernel_host.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sim_platform_host.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_sim_pthread_host.dylib) built for iOS Simulator
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_kernel.dylib) built for macOS
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_platform.dylib) built for macOS
ld: warning: building for iOS, but linking in .tbd file (/usr/lib/system/libsystem_pthread.dylib) built for macOS
Undefined symbols for architecture arm64:
  "_CGContextDrawPicture", referenced from:
      _ImagePushView.ImagePushView.RotatePicture90Degrees%o<Picture>%o<ImagePushView.ImagePushView>o<Picture> in ImagePushView.o
ld: symbol(s) not found for architecture arm64

That last bit usually means that you are using a declare that’s not quite right.

Could you show the code that’s in RotatePicture90Degrees?

Hi Greg,

I saw that at the end but wasn’t sure if that was the cause or not. Here’s the method. It’s worked previously. I thought perhaps that previously it was set up for iOSImage but it wasn’t. I pulled up my release version of code prior to converting to the Mobile Framework and I used picture there too. So not sure…

Public Function RotatePicture90Degrees(pic as Picture) As Picture
  
  
  //Source: https://stackoverflow.com/a/6176601/1240982
  
  Const M_PI = 3.141592653589793
  Declare Function CGImage Lib "UIKit.framework" selector "UIImage" (obj_id As ptr) As ptr
  Dim CGImageRef As ptr = CGImage(pic.Handle)
  dim UIImageRef as ptr = pic.Handle
  
  declare function size lib "UIKit.framework" selector "size" (obj_id as ptr) as xcCGSize
  dim sz as xcCGSize = size(UIImageRef)
  
  Dim rotatedSize As xcCGSize
  rotatedSize.width = sz.height
  rotatedSize.height = sz.width
  
  'System.DebugLog("Old size: " + sz.width.ToString + ":" + sz.height.ToString)
  
  declare sub UIGraphicsBeginImageContext lib "UIKit.framework" (mSize as xcCGSize)
  UIGraphicsBeginImageContext(rotatedSize)
  
  declare function UIGraphicsGetCurrentContext lib "UIKit.framework" () as ptr
  dim CGContextRef as ptr = UIGraphicsGetCurrentContext
  
  
  
  // Move the origin to the middle of the image so we will rotate and scale around the center.
  declare sub CGContextTranslateCTM lib "UIKit.framework" (contextRef as ptr, tx as CGFloat, ty as CGFloat)
  CGContextTranslateCTM(CGContextRef, rotatedSize.width/2.0, rotatedSize.height/2.0)
  
  // Rotate the image context
  declare sub CGContextRotateCTM lib "UIKit.framework" (contextRef as ptr, radians as CGFloat)
  CGContextRotateCTM (CGContextRef, 90 * M_PI/180.0)
  
  // Now, draw the rotated/scaled image into the context
  declare sub CGContextScaleCTM lib "UIKit.framework" (contextRef as ptr, sx as CGFloat, sy as CGFloat)
  Declare sub CGContextDrawPicture lib "UIKit.framework" (contextRef as ptr, rect as xcCGRect, cgimg as ptr)
  CGContextScaleCTM(CGContextRef, 1.0, -1.0)
  CGContextDrawPicture(CGContextRef, CGRectMake(-sz.width / 2.0, -sz.height / 2.0, sz.width, sz.height), CGImageRef)
  
  
  
  declare function UIGraphicsGetImageFromCurrentImageContext lib "UIKit.framework" () as ptr
  dim newUIImage as Ptr = UIGraphicsGetImageFromCurrentImageContext
  
  declare sub UIGraphicsEndImageContext lib "UIKit.framework" ()
  UIGraphicsEndImageContext
  
  'sz = size(newUIImage)
  'System.DebugLog("New size: " + sz.width.ToString + ":" + sz.height.ToString)
  
  
  
  Return Picture.FromHandle(newUIImage)
  
  
End Function

Well, doing a search for CGContextDrawPicture returns no results on Apple’s docs. I’m guessing that’s where your problem is.

Looks like it’s supposed to be

CGContextDrawImage

https://developer.apple.com/documentation/coregraphics/1454845-cgcontextdrawimage/

Oh duh. Thanks, Greg.

Since the old iOSGraphics used graphics.DrawImage, I did a replace all of DrawImage with DrawPicture. That’s what must have happened. Usually I look to make sure there’s nothing changing in a Declare but this one I must have missed.

I owe you a beer! :smiley: