@@ -209,7 +209,7 @@ def main(argv):
209209 ios_framework_dir = os .path .join (sdk_dir , "xcframeworks" )
210210 ios_framework_exist = os .path .isdir (ios_framework_dir )
211211 if not ios_framework_exist and _IOS in platforms :
212- _generate_makefiles_from_repo (sdk_dir )
212+ _generate_makefiles_from_repo (repo_dir )
213213
214214 if update_pod_repo and _IOS in platforms :
215215 _run (["pod" , "repo" , "update" ])
@@ -458,27 +458,29 @@ def _validate_android_environment_variables():
458458 logging .warning ("No NDK env var set. Set one of %s" , ", " .join (ndk_vars ))
459459
460460
461- # If sdk_dir contains no framework, consider it is Github repo, then
462- # generate makefiles for ios frameworks
463- def _generate_makefiles_from_repo (sdk_dir ):
461+ # If sdk_dir contains no xcframework, consider it is Github repo, then
462+ # generate makefiles for ios xcframeworks
463+ # the xcframeworks will be placed at repo_dir/ios_build
464+ def _generate_makefiles_from_repo (repo_dir ):
464465 """Generates cmake makefiles for building iOS frameworks from SDK source."""
465466 ios_framework_builder = os .path .join (
466- sdk_dir , "build_scripts" , "ios" , "build.sh" )
467+ repo_dir , "build_scripts" , "ios" , "build.sh" )
467468
468469 framework_builder_args = [
469470 ios_framework_builder ,
470- "-b" , sdk_dir ,
471- "-s" , sdk_dir ,
471+ "-b" , os . path . join ( repo_dir , "ios_build" ) ,
472+ "-s" , repo_dir ,
472473 "-c" , "false"
473474 ]
474475 _run (framework_builder_args )
475476
476477
477- # build required ios frameworks based on makefiles
478- def _build_ios_framework_from_repo (sdk_dir , api_config ):
478+ # build required ios xcframeworks based on makefiles
479+ # the xcframeworks locates at repo_dir/ios_build
480+ def _build_ios_framework_from_repo (repo_dir , api_config ):
479481 """Builds iOS framework from SDK source."""
480482 ios_framework_builder = os .path .join (
481- sdk_dir , "build_scripts" , "ios" , "build.sh" )
483+ repo_dir , "build_scripts" , "ios" , "build.sh" )
482484
483485 # build only required targets to save time
484486 target = set ()
@@ -492,8 +494,8 @@ def _build_ios_framework_from_repo(sdk_dir, api_config):
492494
493495 framework_builder_args = [
494496 ios_framework_builder ,
495- "-b" , sdk_dir ,
496- "-s" , sdk_dir ,
497+ "-b" , os . path . join ( repo_dir , "ios_build" ) ,
498+ "-s" , repo_dir ,
497499 "-t" , "," .join (target ),
498500 "-g" , "false"
499501 ]
@@ -504,7 +506,9 @@ def _build_ios(
504506 sdk_dir , ios_framework_exist , project_dir , repo_dir , api_config , ios_sdk ):
505507 """Builds an iOS application (.app, .ipa or both)."""
506508 if not ios_framework_exist :
507- _build_ios_framework_from_repo (sdk_dir , api_config )
509+ _build_ios_framework_from_repo (repo_dir , api_config )
510+ sdk_dir = os .path .join (repo_dir , "ios_build" )
511+ logging .info ("iOS xcframework created at: %s" , " " .join (sdk_dir ))
508512
509513 build_dir = os .path .join (project_dir , "ios_build" )
510514 os .makedirs (build_dir )
0 commit comments