Adobe-Runtime-Support
Adobe-Runtime-Support copied to clipboard
IPA building on Windows with AIR 51.2
Hi!
I try lastest AIR 51.2.1.2 to build IPA on Windows. According to https://github.com/airsdk/Adobe-Runtime-Support/issues/3455#issuecomment-2592144359 it is possible now.
I've read AIR manual, downloaded and installed LLVM (https://github.com/llvm/llvm-project/releases/tag/llvmorg-20.1.3) and ios sdk (https://github.com/xybp888/iOS-SDKs/releases/download/iOS18.2.1-18.3SDKs/iPhoneOS18.2.1.sdk.zip). I've set adt.cfg:
iOSPlatformSDK=D:\\SDK\\iPhoneOS18.2.1.sdk
LLVM_HOME=C:\\Program Files\\LLVM
I see in process explorer that LLVM_HOME\bin\ld64.lld.exe have been run. Few seconds later I get errors:
ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libc++.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libobjc.tbd: unhandled file type ld64.lld: error: library not found for -lswiftFoundation ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libsqlite3.0.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: framework not found for -framework WebKit ld64.lld: error: framework not found for -framework JavaScriptCore ld64.lld: error: library not found for -lswiftFoundation ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: framework not found for -framework SafariServices ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libxml2.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libxml2.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libxml2.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libxml2.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libz.tbd: unhandled file type ld64.lld: error: D:\SDK\iPhoneOS18.2.1.sdk/usr/lib\libxml2.tbd: unhandled file type ld64.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors) Compilation failed while executing : ld64
What do I do wrong? What version of LLVM and IOS SDK should I use? Thx!
Odd, I would have thought that should work.
I just checked on my machine, I've got LLD 19.1.6. Are you able to check your linker command-line that's being used (via the AIR SDK Manager "troubleshooting" pane when you're linking)? Mine starts off:
ld64 command line: c:/Program Files (x86)/LLVM/bin/ld64.lld.exe -pie -ObjC -dead_strip -Z -arch arm64 -syslibroot "I:\\Apple\\iPhoneOS.sdk" -L"I:\\Apple\\iPhoneOS.sdk/usr/lib" -F"I:\\Apple\\iPhoneOS.sdk/System/Library/Frameworks" -L"I:\\SDKs\\Betas\\AIRSDK_51.2.0\\lib\\aot/lib"
The obvious difference though is that I've got the 32-bit installation of LLVM .. that shouldn't really matter though I'd have thought!
We can try with that updated version of LLVM, but it seems a bit odd; the main thing is to ensure that you have ld64.lld.exe but that's seemingly correct based on the fact it's definitely executing it..
The only other thing I guess might be if those tbd files got corrupted somehow .. are you able to check that they've got the unix/mac line endings (0x0A) rather than the Windows ones (0x0D0x0A)?
thanks
FYI we used the 64-bit LLVM 20 that you linked to (LLVM-20.1.3-win64.exe) and it worked still:
ld64 command line: c:/Program Files/LLVM/bin/ld64.lld.exe ...
And it worked for us regardless of the dos/unix line endings for the Apple SDK files.
So .. not quite sure what might be happening here?! Maybe worth checking if there's anything obviously wrong in one of the tbd files?
thanks
Where can I download IOS SDK for use it on Windows? What version do you recomend? (18.2 ?) Can ANEs do this problems? Thx!
The best option might be to do some drive mappings or use VMs with shared folders so that you can just have your Windows set-up being able to access the official Apple-deployed SDK that's managed by Xcode. That may also be the only way to do it that conforms to the Apple license terms (though I'm not an expert/lawyer!). Probably just googling can get you more information on how to do this.
I've still got half of a mind to try to switch ADT packaging into a hosted service that would make it a bit simpler for everyone, but am not convinced how performant it would be...
I try different versions of LLVM (v19.x / v20.x, 32bit / 64bit) and IOS SDK (18.2, 18.4, copied from mac). Same result. Does anyone build IPA on Windows with lastest AIR? Do you have any problems?
I try build on other Windows 10 PC and try to build empty ('Hello world") project. Same result. So seems problem is very simple. May be wrong path or similar. I try \ and /
Is it enought to copy /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk form MacOS to Windows and set iOSPlatformSDK to this path? Or where can i get iOSPlatformSDK ?
I don't know what to do(
Now I try manual linking on virtual Mac. Step 4 from documentation says:
Using a terminal window, you will first need to set an environment variable, “AIR_SDK_HOME”, and then run the script that was generated by ADT. For example: export AIR_SDK_HOME=/Users/username/Downloads/AIR_SDK/AIRSDK_51.0.1 ./linkerscript.sh
I can not find linkerscript.sh in created at previous step temp subfolder.
UPD. .sh file appear only after I add 'RemoteLinkMachine' param to adt.cfg (@ajwfrost is it a bug?)
But now I have error on MacOS:
user@Mac-User 1747046070756.tmp % sh linkerscript.sh
Using AIR SDK in /Users/user/Documents/AIRSDK_51.2.1 ~/Downloads/1747046070756.tmp ~/Downloads/1747046070756.tmp Linking for iphoneos, found SDK version 18.4 ld: library 'c++' not found
I've never worked with Mac before( Can anyone help me?
I have to ask for help with the linking on Mac because I have deadline for IOS release.
Step 4. On the macOS computer, run the linker. Using a terminal window, you will first need to set an environment variable, “AIR_SDK_HOME”, and then run the script that was generated by ADT. For example: export AIR_SDK_HOME=/Users/username/Downloads/AIR_SDK/AIRSDK_51.0.1 ./linkerscript.sh
I have a temp folder from previous steps. Can anyone run linkerscript.sh on Mac and send me a result for next steps? 🙏 Thx!
We might be able to do that... are you able to zip up that linker output folder and upload it to the below? We can then post back an executable file (to the email address you use to log into the transfer system, I think, if that's okay? or just publicly ..?) https://transfer.harman.com/requests/kXaStOHKXJ0TBgIDcXn45y
Any particular AIR SDK version that you want to use?
thanks
Thx for help! I send you temp folder for linking (step 4)
-
Do I need to use same AIR SDK version for building on Windows and linking on MacOS?
-
linkerscript.sh file appear only after I add 'RemoteLinkMachine' param to adt.cfg (is it a bug?)
Thanks. Probably don't need to use the exact same AIR SDK version but it de-risks it in case there is some incompatibility or change (mostly in ADT I guess, so perhaps that doesn't apply here..).
The linker script should probably appear if you've set up an IPALinkFolder value, rather than needing the RemoteLinkMachine option too, so yes that's a bug. As is the fact that we're creating this script with the (Windows) path provided as the -platformsdk option (i.e. the thing you were trying earlier when linking on Windows with LLVM) so we had to change that in the linkerscript.sh file (to -L/usr/lib -L/usr/lib/swift) before it would work.
Output file is at the below link, please use the -use-linker-output option at the end of your previous ADT command (this should be given the folder in which this file sits, still called linkerOutput)
https://transfer.harman.com/message/yNIniTpHkq88YrRObvMmzM
thanks
Now I have an error:
Signing options required to package IPA
I use IDEA and add options:
So ADT Command Line is: C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.1\jbr\bin\java.exe -Dapplication.home=D:\SDK\AIRSDK_51.2.1 -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en -Duser.region=en -Xmx2048m -jar D:\SDK\AIRSDK_51.2.1\lib\adt.jar -package -use-linker-output D:\temp\ipa_temp -target ipa-app-store -storetype PKCS12 -keystore D:\Projects\ForestBounty_AIR\cert\2025\vigr2025.p12 -storepass *** -provisioning-profile D:\Projects\ForestBounty_AIR\cert\2025\ForestBounty_2025.mobileprovision ......
That extra option would need to come at the end, or at least, after the signing options... are you able to call it from the command-line and rework the order of things there? (We can also look to see whether we can update ADT to allow the -use-linker-output to come prior to the signing options...)
Another bad luck again...
Compilation failed...
Did you get anything in the adt.log file?
UPD. I add file name to path and it works now) -use-linker-output D:\temp\ipa_temp\linkerOutput Will see how it works in testFlight and pass approve.
Seems we need a bit more information about this process with examples for whom do it first time. And manual for installing all soft on MacOS for linking. I understand that it is simple for Mac users but difficult for Windows users. Seems I install DevTools wrong way(
@ajwfrost May be you can see my mistake why I cant use LLVM on Windows. If I solve this problem I don\t need a Mac for creating .ipa.
ADT log:
ADT 51.2.1.3 called with: -package -target ipa-app-store -storetype PKCS12 -keystore D:\Projects\ForestBounty_AIR\cert\2025\vigr2025.p12 -storepass xxxxxx -provisioning-profile D:\Projects\ForestBounty_AIR\cert\2025\ForestBounty_2025.mobileprovision D:\Projects\ForestBounty_AIR\bin-debug\ForestBounty_IOS.ipa D:\Projects\ForestBounty_AIR\bin-debug\MobileIOS.xml -extdir D:\Projects\ForestBounty_AIR\ane\ios -C D:\Projects\ForestBounty_AIR\bin-debug ForestBounty_IOS.swf -C D:\Projects\ForestBounty_AIR\system\icons_ios icon29.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon40.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon58.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon76.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon80.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon87.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon120.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon152.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon167.png -C D:\Projects\ForestBounty_AIR\system\icons_ios icon180.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Assets.car -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-375w-667h@2x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-414w-736h@3x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-414w-896h@3x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-568h@2x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-812h@3x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-896h@2x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape-414w-736h@3x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape-414w-896h@3x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape-812h@3x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape-896h@2x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape@2x~ipad.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Landscape~ipad.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Portrait.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Portrait@2x~ipad.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default-Portrait~ipad.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default.png -C D:\Projects\ForestBounty_AIR\system\icons_ios [email protected] -C D:\Projects\ForestBounty_AIR\system\icons_ios Default@2x~iphone.png -C D:\Projects\ForestBounty_AIR\system\icons_ios Default~iphone.png -C D:\Projects\ForestBounty_AIR GoogleService-Info.plist -C D:\Projects\ForestBounty_AIR\bin-debug ForestBounty_music.swf
Warning: The path to platform sdk should end with any one of the (iPhoneOSx.x | iPhoneSimulatorx.x | AppleTVSimulatorx.x | AppleTVOSx.x) format to avoid any unintended behavior.
Converting SWF files into ABC
Root SWF = ForestBounty_IOS.swf
Secondary SWF = ForestBounty_music.swf
compile-abc command line: D:\SDK\AIRSDK_51.2.1\lib\aot/bin/compile-abc/compile-abc-64.exe -mtriple=arm64-apple-ios -filetype=obj -sdk D:\SDK\AIRSDK_51.2.1\lib\aot/lib/avmglue.abc -fields D:\SDK\AIRSDK_51.2.1\lib\aot/lib/air-fields.arm64-air.txt -O3 -ane-symbol=IronSourceExtInitializer -ane-symbol=IronSourceExtFinalizer -ane-symbol=CoreExtInitializer -ane-symbol=CoreExtFinalizer -ane-symbol=GameServicesExtInitializer -ane-symbol=GameServicesExtFinalizer -ane-symbol=InAppBillingExtInitializer -ane-symbol=InAppBillingExtFinalizer -ane-symbol=FirebaseCoreExtInitializer -ane-symbol=FirebaseCoreExtFinalizer -ane-symbol=IronSourceAdMobExtInitializer -ane-symbol=IronSourceAdMobExtFinalizer -ane-symbol=ShareExtInitializer -ane-symbol=ShareExtFinalizer -ane-symbol=ApplicationExtInitializer -ane-symbol=ApplicationExtFinalizer -ane-symbol=NetworkInfoExtInitializer -ane-symbol=NetworkInfoExtFinalizer -ane-symbol=PushNotificationsExtInitializer -ane-symbol=PushNotificationsExtFinalizer -ane-symbol=ApplicationRaterExtInitializer -ane-symbol=ApplicationRaterExtFinalizer -ane-symbol=FirebaseExtInitializer -ane-symbol=FirebaseExtFinalizer -abc-file-list=C:\Users\KONSTA~1\AppData\Local\Temp\8efe56b6-7c7f-4cfe-b1b3-2be03a0d5b3c\ABCFilesList.txt
ld64 command line: D:/SDK/LLVM/bin/ld64.lld.exe -pie -ObjC -dead_strip -Z -arch arm64 -syslibroot "D:\\SDK\\iPhoneOS18.4" -L"D:\\SDK\\iPhoneOS18.4/usr/lib" -F"D:\\SDK\\iPhoneOS18.4/System/Library/Frameworks" -L"D:\\SDK\\AIRSDK_51.2.1\\lib\\aot/lib" -o "D:\\Projects\\ForestBounty_AIR\\bin-debug\\aot10788499004356146317.tmp" -x "D:\\SDK\\AIRSDK_51.2.1\\lib\\aot/lib/libRuntimeHMAOT.arm-air.a" "D:\\SDK\\AIRSDK_51.2.1\\lib\\aot/lib/libNotification.arm-air.a" -lc++ -lSystem.B -lz -lobjc -lclang_rt.ios -rpath /usr/lib/swift -lswiftFoundation -lSwiftCompat -lsqlite3.0 -lz -weak_framework AppTrackingTransparency -framework SystemConfiguration -framework AdSupport -framework WebKit -framework JavaScriptCore "-FC:\\Users\\KONSTA~1\\AppData\\Local\\Temp\\8efe56b6-7c7f-4cfe-b1b3-2be03a0d5b3c\\Frameworks" -framework "IronSource" -lclang_rt.ios -ObjC -weak_framework UserNotifications -w -framework "CoreNativeExtension" -weak_framework ReplayKit -framework GameKit -w -framework StoreKit -rpath /usr/lib/swift -lswiftFoundation -lSwiftCompat -lsqlite3 -lz -framework Security -framework CoreTelephony -framework CoreData -framework "FBLPromises" -framework "FirebaseCore" -framework "FirebaseCoreExtension" -framework "FirebaseCoreInternal" -framework "FirebaseInstallations" -framework "GoogleAppMeasurement" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "nanopb" -framework "Promises" -framework "FirebaseSharedSwift" -rpath /usr/lib/swift -lSwiftCompat -framework UIKit -framework SafariServices -framework QuartzCore -framework Network -framework MobileCoreServices -framework MessageUI -framework MediaPlayer -framework MarketplaceKit -framework Foundation -framework CoreVideo -framework CoreMedia -framework CoreGraphics -framework CFNetwork -framework AVFoundation -framework AudioToolbox -lz -lsqlite3 -framework "GoogleMobileAds" -framework "UserMessagingPlatform" -framework "ISAdMobAdapter" -framework Accounts -framework Social -framework ImageIO -w -w -w -framework UserNotifications -framework AddressBook -w -framework "FirebaseAnalytics" -filelist "C:\\Users\\KONSTA~1\\AppData\\Local\\Temp\\8efe56b6-7c7f-4cfe-b1b3-2be03a0d5b3c\\OBJFilesList.txt" -framework CoreFoundation -framework OpenGLES -framework CoreLocation -framework CoreText -framework GameController -framework CoreMotion -framework AssetsLibrary -platform_version ios 12.0 18.4 -exported_symbols_list "C:\\Users\\KONSTA~1\\AppData\\Local\\Temp\\8efe56b6-7c7f-4cfe-b1b3-2be03a0d5b3c\\SYMFilesList.txt"
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libc++.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libobjc.tbd: unhandled file type
ld64.lld: error: library not found for -lswiftFoundation
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libsqlite3.0.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: framework not found for -framework WebKit
ld64.lld: error: framework not found for -framework JavaScriptCore
ld64.lld: error: library not found for -lswiftFoundation
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: framework not found for -framework SafariServices
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libxml2.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libxml2.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libxml2.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libxml2.tbd: unhandled file type
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libz.tbd: unhandled file type
ld64.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
Stack trace:
..java.base/java.lang.Thread.getStackTrace(Thread.java:1610)
..com.adobe.air.DebugFile.printStack(DebugFile.java)
..com.adobe.air.InvalidInputException.<init>(InvalidInputException.java)
..com.adobe.air.ipa.AOTCompiler.generateMachineBinaries(AOTCompiler.java)
..com.adobe.air.ipa.IPAOutputStream.createIosBinary(IPAOutputStream.java)
..com.adobe.air.ipa.IPAOutputStream.access$100(IPAOutputStream.java)
..com.adobe.air.ipa.IPAOutputStream$CompileTask.run(IPAOutputStream.java)
..java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
..java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
..java.base/java.lang.Thread.run(Thread.java:833)
Stack trace:
..java.base/java.lang.Thread.getStackTrace(Thread.java:1610)
..com.adobe.air.DebugFile.printStack(DebugFile.java)
..com.adobe.air.InvalidInputException.<init>(InvalidInputException.java)
..com.adobe.air.ipa.IPAOutputStream$CompileTask.throwAppropriateException(IPAOutputStream.java)
..com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java)
..com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java)
..com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java)
..com.adobe.air.ADT.parseArgsAndGo(ADT.java)
..com.adobe.air.ADT.run(ADT.java)
..com.adobe.air.ADT.main(ADT.java)
Invalid input: Compilation failed while executing : ld64
we had to change that in the linkerscript.sh file (to
-L/usr/lib -L/usr/lib/swift) before it would work.
@ajwfrost Is it a bug of generating linkerscript.sh ?
Yes, that linkerscript needs to be generated to ignore the passed-in SDK and stubs location, and just output the default values per the changes we'd made manually. So 2x bugs in ADT to fix here..
Your Windows LLVM-based link command looks okay, the only thing I can think of is if there is a problems with that SDK location as it seems to just not recognise these files. We can try adding an extra option to the LLVM command-line to output more info as to what might be going wrong (or, are you able to run that LLVM command separately? I'm guessing not as it would refer to temporary files..).
If you look at something like the below:
ld64.lld: error: D:\\SDK\\iPhoneOS18.4/usr/lib\libc++.tbd: unhandled file type
what happens if you open that file in a text editor such as Notepad? It should look like a normal text file and start with something like
--- !tapi-tbd
tbd-version: 4
targets: [ armv7-ios, armv7s-ios, arm64-ios, arm64e-ios ]
install-name: '/usr/lib/libc++.1.dylib'
current-version: 1800.105
thanks
I think it is because of symbol links files, that can not be supported on Windows FS.
So libc++.tbd include one string:
libc++.1.tbd
But there is a file libc++.1.tbd with normal content:
--- !tapi-tbd-v3
archs: [ armv7, armv7s, arm64, arm64e ]
platform: ios
flags: [ flat_namespace ]
install-name: /usr/lib/libc++.1.dylib
current-version: 1900.178
Ah - yes, that definitely sounds like a symbolic link issue. There should be a way of fixing that, depending on how you copied it over. If you zipped it, on a mac machine, then make sure you don't use the -y option that will include symbolic links as the actual links; normal behaviour should be to follow the link and insert the actual file...
Not sure whether there's a way to get Windows to replace these kind of "link documents" with the contents of the link, could be something that the zip program could be asked to do?
thanks
Hello, I managed to prepare a Windows build System using WSL (or a similar Linux machine) with these steps to resolve (duplicating) the symbolic links:
- prepare the folder without downloading every SDK version
mkdir /ios
cd /ios
git clone --filter=blob:none --sparse https://github.com/xybp888/iOS-SDKs.git
- download only the specific version of iOS SDK I needed
cd iOS-SDKs
git sparse-checkout set iPhoneOS18.2.1.sdk
- duplicate the specific iOS SDK resolving the symbolic links by duplicating the content of each file
cp -rL iPhoneOS18.2.1.sdk iPhoneOS18.2.1.sdk-resolved
- copy the resolved directory to my Windows machine and set in adt.cfg the appropriate values
iOSPlatformSDK=C:\\AIR\\iPhoneOS18.2.1.sdk-resolved
LLVM_HOME=C:\\AIR\\LLVM