; --------------------------------------------------------------------------------------------; Copyright (c) Fantaisie Software. All rights reserved.; Dual licensed under the GPL and Fantaisie Software licenses.; See LICENSE and LICENSE-FANTAISIE in the project root for license information.; --------------------------------------------------------------------------------------------Global *CurrentAppTarget.CompileTarget, CurrentAppTab, CurrentAppIsProjectProcedure UpdateCreateAppWindow()IsDisabled = Bool(Not GetGadgetState(#GADGET_WebApp_EnableResourceDirectory))DisableGadget(#GADGET_WebApp_ResourceDirectory, IsDisabled)DisableGadget(#GADGET_WebApp_SelectResourceDirectory, IsDisabled)IsDisabled = Bool(Not GetGadgetState(#GADGET_iOSApp_EnableResourceDirectory))DisableGadget(#GADGET_iOSApp_ResourceDirectory, IsDisabled)DisableGadget(#GADGET_iOSApp_SelectResourceDirectory, IsDisabled)IsDisabled = Bool(Not GetGadgetState(#GADGET_AndroidApp_EnableResourceDirectory))DisableGadget(#GADGET_AndroidApp_ResourceDirectory, IsDisabled)DisableGadget(#GADGET_AndroidApp_SelectResourceDirectory, IsDisabled)IsDebugger = GetGadgetState(#GADGET_AndroidApp_EnableDebugger)If IsDebugger = 0SetGadgetState(#GADGET_AndroidApp_AutoUpload, 0)EndIfDisableGadget(#GADGET_AndroidApp_AutoUpload, Bool(Not IsDebugger))EndProcedureProcedure UpdateCreateAppStartupColor(Color$); Recreate the image with the right background colorColor = RGB(Val("$"+Mid(Color,ドル 2, 2)), Val("$"+Mid(Color,ドル 4, 2)), Val("$"+Mid(Color,ドル 6, 2)))CreateImage(#IMAGE_CreateApp_StartupColor, 30, 30, 24, Color)SetGadgetAttribute(#GADGET_AndroidApp_SelectStartupColor, #PB_Button_Image, ImageID(#IMAGE_CreateApp_StartupColor))SetGadgetText(#GADGET_AndroidApp_StartupColor, Color$)EndProcedureProcedure OpenCreateAppWindow(*Target.CompileTarget, IsProject)If IsWindow(#WINDOW_CreateApp) = 0; Reuse the Options_CurrentBasePath$ from CompilerOption to have our path relative to the source or to the project file;If *ActiveSource = *ProjectInfo Or *ActiveSource\ProjectFileOptions_CurrentBasePath$ = GetPathPart(ProjectFile$)ElseIf *ActiveSource\Filename$ ; already savedOptions_CurrentBasePath$ = GetPathPart(*ActiveSource\Filename$)ElseOptions_CurrentBasePath$ = "" ; use full paths thenEndIfEndIf; Default value if not set;If *Target\AndroidAppStartupColor$ = ""*Target\AndroidAppStartupColor$ = "#FFFFFF" ; white background by defaultEndIfIf *Target\AndroidAppCode = 0*Target\AndroidAppCode = 1 ; can't be zero, so avoid a wrong valueEndIfCreateAppWindowDialog = OpenDialog(?Dialog_CreateApp, WindowID(#WINDOW_Main), @CreateAppWindowPosition)If CreateAppWindowDialogEnsureWindowOnDesktop(#WINDOW_CreateApp)*CurrentAppTarget = *TargetCurrentAppIsProject = IsProjectSetGadgetText(#GADGET_WebApp_Name , *Target\WebAppName$)SetGadgetText(#GADGET_WebApp_Icon , *Target\WebAppIcon$)SetGadgetText(#GADGET_WebApp_HtmlFilename , *Target\HtmlFilename$)SetGadgetText(#GADGET_WebApp_JavaScriptFilename , *Target\JavaScriptFilename$)SetGadgetText(#GADGET_WebApp_JavaScriptPath , *Target\JavaScriptPath$)SetGadgetState(#GADGET_WebApp_CopyJavaScriptLibrary , *Target\CopyJavaScriptLibrary)SetGadgetText(#GADGET_WebApp_ExportCommandLine , *Target\ExportCommandLine$)SetGadgetText(#GADGET_WebApp_ExportArguments , *Target\ExportArguments$)SetGadgetState(#GADGET_WebApp_EnableResourceDirectory, *Target\EnableResourceDirectory)SetGadgetText(#GADGET_WebApp_ResourceDirectory , *Target\ResourceDirectory$)SetGadgetState(#GADGET_WebApp_EnableDebugger , *Target\WebAppEnableDebugger)SetGadgetText(#GADGET_iOSApp_Name , *Target\iOSAppName$)SetGadgetText(#GADGET_iOSApp_Icon , *Target\iOSAppIcon$)SetGadgetText(#GADGET_iOSApp_Version , *Target\iOSAppVersion$)SetGadgetText(#GADGET_iOSApp_PackageID , *Target\iOSAppPackageID$)SetGadgetText(#GADGET_iOSApp_StartupImage , *Target\iOSAppStartupImage$)SetGadgetText(#GADGET_iOSApp_Output , *Target\iOSAppOutput$)SetGadgetText(#GADGET_iOSApp_ResourceDirectory, *Target\iOSAppResourceDirectory$)SetGadgetState(#GADGET_iOSApp_Orientation , *Target\iOSAppOrientation)SetGadgetState(#GADGET_iOSApp_FullScreen , *Target\iOSAppFullScreen)SetGadgetState(#GADGET_iOSApp_AutoUpload , *Target\iOSAppAutoUpload)SetGadgetState(#GADGET_iOSApp_EnableResourceDirectory, *Target\iOSAppEnableResourceDirectory)SetGadgetState(#GADGET_iOSApp_EnableDebugger, *Target\iOSAppEnableDebugger)SetGadgetState(#GADGET_iOSApp_KeepAppDirectory, *Target\iOSAppKeepAppDirectory)SetGadgetText(#GADGET_AndroidApp_Name , *Target\AndroidAppName$)SetGadgetText(#GADGET_AndroidApp_Icon , *Target\AndroidAppIcon$)SetGadgetText(#GADGET_AndroidApp_Version , *Target\AndroidAppVersion$)SetGadgetText(#GADGET_AndroidApp_Code , Str(*Target\AndroidAppCode))SetGadgetText(#GADGET_AndroidApp_PackageID , *Target\AndroidAppPackageID$)SetGadgetText(#GADGET_AndroidApp_IAPKey , *Target\AndroidAppIAPKey$)SetGadgetText(#GADGET_AndroidApp_StartupImage , *Target\AndroidAppStartupImage$)SetGadgetText(#GADGET_AndroidApp_Output , *Target\AndroidAppOutput$)SetGadgetText(#GADGET_AndroidApp_ResourceDirectory, *Target\AndroidAppResourceDirectory$)SetGadgetState(#GADGET_AndroidApp_Orientation , *Target\AndroidAppOrientation)SetGadgetState(#GADGET_AndroidApp_FullScreen , *Target\AndroidAppFullScreen)SetGadgetState(#GADGET_AndroidApp_AutoUpload , *Target\AndroidAppAutoUpload)SetGadgetState(#GADGET_AndroidApp_EnableResourceDirectory, *Target\AndroidAppEnableResourceDirectory)SetGadgetState(#GADGET_AndroidApp_EnableDebugger, *Target\AndroidAppEnableDebugger)SetGadgetState(#GADGET_AndroidApp_KeepAppDirectory, *Target\AndroidAppKeepAppDirectory)SetGadgetState(#GADGET_AndroidApp_InsecureFileMode, *Target\AndroidAppInsecureFileMode)UpdateCreateAppStartupColor(*Target\AndroidAppStartupColor$)UpdateCreateAppWindow()SetGadgetState(#GADGET_App_Panel, CurrentAppTab)HideWindow(#WINDOW_CreateApp, #False)EndIfElseSetWindowForeground(#WINDOW_CreateApp)EndIfEndProcedureProcedure AppWindowChanged()If *CurrentAppTarget\WebAppName$ <> GetGadgetText(#GADGET_WebApp_Name) : Changed = #True : EndIfIf *CurrentAppTarget\WebAppIcon$ <> GetGadgetText(#GADGET_WebApp_Icon) : Changed = #True : EndIfIf *CurrentAppTarget\HtmlFilename$ <> GetGadgetText(#GADGET_WebApp_HtmlFilename) : Changed = #True : EndIfIf *CurrentAppTarget\JavaScriptFilename$ <> GetGadgetText(#GADGET_WebApp_JavaScriptFilename) : Changed = #True : EndIfIf *CurrentAppTarget\JavaScriptPath$ <> GetGadgetText(#GADGET_WebApp_JavaScriptPath) : Changed = #True : EndIfIf *CurrentAppTarget\CopyJavaScriptLibrary <> GetGadgetState(#GADGET_WebApp_CopyJavaScriptLibrary) : Changed = #True : EndIfIf *CurrentAppTarget\ExportCommandLine$ <> GetGadgetText(#GADGET_WebApp_ExportCommandLine) : Changed = #True : EndIfIf *CurrentAppTarget\ExportArguments$ <> GetGadgetText(#GADGET_WebApp_ExportArguments) : Changed = #True : EndIfIf *CurrentAppTarget\EnableResourceDirectory<> GetGadgetState(#GADGET_WebApp_EnableResourceDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\ResourceDirectory$ <> GetGadgetText(#GADGET_WebApp_ResourceDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\WebAppEnableDebugger <> GetGadgetState(#GADGET_WebApp_EnableDebugger) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppName$ <> GetGadgetText(#GADGET_iOSApp_Name) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppIcon$ <> GetGadgetText(#GADGET_iOSApp_Icon) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppVersion$ <> GetGadgetText(#GADGET_iOSApp_Version) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppPackageID$ <> GetGadgetText(#GADGET_iOSApp_PackageID) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppStartupImage$ <> GetGadgetText(#GADGET_iOSApp_StartupImage) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppOutput$ <> GetGadgetText(#GADGET_iOSApp_Output) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppOrientation <> GetGadgetState(#GADGET_iOSApp_Orientation) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppFullScreen <> GetGadgetState(#GADGET_iOSApp_FullScreen) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppAutoUpload <> GetGadgetState(#GADGET_iOSApp_AutoUpload) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppEnableResourceDirectory<> GetGadgetState(#GADGET_iOSApp_EnableResourceDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppResourceDirectory$ <> GetGadgetText(#GADGET_iOSApp_ResourceDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppEnableDebugger <> GetGadgetState(#GADGET_iOSApp_EnableDebugger) : Changed = #True : EndIfIf *CurrentAppTarget\iOSAppKeepAppDirectory <> GetGadgetState(#GADGET_iOSApp_KeepAppDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppName$ <> GetGadgetText(#GADGET_AndroidApp_Name) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppIcon$ <> GetGadgetText(#GADGET_AndroidApp_Icon) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppVersion$ <> GetGadgetText(#GADGET_AndroidApp_Version) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppCode <> Val(GetGadgetText(#GADGET_AndroidApp_Code)) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppPackageID$ <> GetGadgetText(#GADGET_AndroidApp_PackageID) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppIAPKey$ <> GetGadgetText(#GADGET_AndroidApp_IAPKey) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppStartupImage$ <> GetGadgetText(#GADGET_AndroidApp_StartupImage) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppStartupColor$ <> GetGadgetText(#GADGET_AndroidApp_StartupColor) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppOutput$ <> GetGadgetText(#GADGET_AndroidApp_Output) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppOrientation <> GetGadgetState(#GADGET_AndroidApp_Orientation) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppFullScreen <> GetGadgetState(#GADGET_AndroidApp_FullScreen) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppAutoUpload <> GetGadgetState(#GADGET_AndroidApp_AutoUpload) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppEnableResourceDirectory<> GetGadgetState(#GADGET_AndroidApp_EnableResourceDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppResourceDirectory$ <> GetGadgetText(#GADGET_AndroidApp_ResourceDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppEnableDebugger<> GetGadgetState(#GADGET_AndroidApp_EnableDebugger) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppKeepAppDirectory<> GetGadgetState(#GADGET_AndroidApp_KeepAppDirectory) : Changed = #True : EndIfIf *CurrentAppTarget\AndroidAppInsecureFileMode<> GetGadgetState(#GADGET_AndroidApp_InsecureFileMode) : Changed = #True : EndIfProcedureReturn ChangedEndProcedureProcedure RelativeFilenameRequester(Gadget, Title,ドル Filter$)File$ = ResolveRelativePath(Options_CurrentBasePath,ドル GetGadgetText(Gadget))If Trim(File$) = ""File$ = Options_CurrentBasePath$EndIfFile$ = OpenFileRequester(Title,ドル File,ドル Filter,ドル 0)If File$SetGadgetText(Gadget, CreateRelativePath(Options_CurrentBasePath,ドル File$))EndIfEndProcedureProcedure RelativePathRequester(Gadget, Title$)File$ = ResolveRelativePath(Options_CurrentBasePath,ドル GetGadgetText(Gadget))If Trim(File$) = ""File$ = Options_CurrentBasePath$EndIfFile$ = PathRequester(Title,ドル File$)If File$SetGadgetText(Gadget, CreateRelativePath(Options_CurrentBasePath,ドル File$))EndIfEndProcedureProcedure UpdateCreateAppSettings()If AppWindowChanged()UpdateSourceStatus(1) ; set the changed flagEndIf*CurrentAppTarget\WebAppName$ = GetGadgetText(#GADGET_WebApp_Name)*CurrentAppTarget\WebAppIcon$ = GetGadgetText(#GADGET_WebApp_Icon)*CurrentAppTarget\HtmlFilename$ = GetGadgetText(#GADGET_WebApp_HtmlFilename)*CurrentAppTarget\JavaScriptFilename$ = GetGadgetText(#GADGET_WebApp_JavaScriptFilename)*CurrentAppTarget\JavaScriptPath$ = GetGadgetText(#GADGET_WebApp_JavaScriptPath)*CurrentAppTarget\CopyJavaScriptLibrary = GetGadgetState(#GADGET_WebApp_CopyJavaScriptLibrary)*CurrentAppTarget\ExportCommandLine$ = GetGadgetText(#GADGET_WebApp_ExportCommandLine)*CurrentAppTarget\ExportArguments$ = GetGadgetText(#GADGET_WebApp_ExportArguments)*CurrentAppTarget\EnableResourceDirectory= GetGadgetState(#GADGET_WebApp_EnableResourceDirectory)*CurrentAppTarget\ResourceDirectory$ = GetGadgetText(#GADGET_WebApp_ResourceDirectory)*CurrentAppTarget\WebAppEnableDebugger = GetGadgetState(#GADGET_WebApp_EnableDebugger)*CurrentAppTarget\iOSAppName$ = GetGadgetText(#GADGET_iOSApp_Name)*CurrentAppTarget\iOSAppIcon$ = GetGadgetText(#GADGET_iOSApp_Icon)*CurrentAppTarget\iOSAppVersion$ = GetGadgetText(#GADGET_iOSApp_Version)*CurrentAppTarget\iOSAppPackageID$ = GetGadgetText(#GADGET_iOSApp_PackageID)*CurrentAppTarget\iOSAppStartupImage$ = GetGadgetText(#GADGET_iOSApp_StartupImage)*CurrentAppTarget\iOSAppOutput$ = GetGadgetText(#GADGET_iOSApp_Output)*CurrentAppTarget\iOSAppResourceDirectory$ = GetGadgetText(#GADGET_iOSApp_ResourceDirectory)*CurrentAppTarget\iOSAppEnableResourceDirectory= GetGadgetState(#GADGET_iOSApp_EnableResourceDirectory)*CurrentAppTarget\iOSAppOrientation = GetGadgetState(#GADGET_iOSApp_Orientation)*CurrentAppTarget\iOSAppFullScreen = GetGadgetState(#GADGET_iOSApp_FullScreen)*CurrentAppTarget\iOSAppAutoUpload = GetGadgetState(#GADGET_iOSApp_AutoUpload)*CurrentAppTarget\iOSAppEnableDebugger= GetGadgetState(#GADGET_iOSApp_EnableDebugger)*CurrentAppTarget\iOSAppKeepAppDirectory= GetGadgetState(#GADGET_iOSApp_KeepAppDirectory)*CurrentAppTarget\AndroidAppName$ = GetGadgetText(#GADGET_AndroidApp_Name)*CurrentAppTarget\AndroidAppIcon$ = GetGadgetText(#GADGET_AndroidApp_Icon)*CurrentAppTarget\AndroidAppVersion$ = GetGadgetText(#GADGET_AndroidApp_Version)*CurrentAppTarget\AndroidAppCode = Val(GetGadgetText(#GADGET_AndroidApp_Code))*CurrentAppTarget\AndroidAppPackageID$ = GetGadgetText(#GADGET_AndroidApp_PackageID)*CurrentAppTarget\AndroidAppIAPKey$ = GetGadgetText(#GADGET_AndroidApp_IAPKey)*CurrentAppTarget\AndroidAppStartupImage$ = GetGadgetText(#GADGET_AndroidApp_StartupImage)*CurrentAppTarget\AndroidAppStartupColor$ = GetGadgetText(#GADGET_AndroidApp_StartupColor)*CurrentAppTarget\AndroidAppOutput$ = GetGadgetText(#GADGET_AndroidApp_Output)*CurrentAppTarget\AndroidAppResourceDirectory$ = GetGadgetText(#GADGET_AndroidApp_ResourceDirectory)*CurrentAppTarget\AndroidAppEnableResourceDirectory = GetGadgetState(#GADGET_AndroidApp_EnableResourceDirectory)*CurrentAppTarget\AndroidAppOrientation = GetGadgetState(#GADGET_AndroidApp_Orientation)*CurrentAppTarget\AndroidAppFullScreen = GetGadgetState(#GADGET_AndroidApp_FullScreen)*CurrentAppTarget\AndroidAppAutoUpload = GetGadgetState(#GADGET_AndroidApp_AutoUpload)*CurrentAppTarget\AndroidAppEnableDebugger= GetGadgetState(#GADGET_AndroidApp_EnableDebugger)*CurrentAppTarget\AndroidAppKeepAppDirectory= GetGadgetState(#GADGET_AndroidApp_KeepAppDirectory)*CurrentAppTarget\AndroidAppInsecureFileMode= GetGadgetState(#GADGET_AndroidApp_InsecureFileMode)EndProcedureProcedure CloseCreateAppWindow()If CreateAppWindowDialogCurrentAppTab = GetGadgetState(#GADGET_App_Panel)If MemorizeWindowCreateAppWindowDialog\Close(@CreateAppWindowPosition)ElseCreateAppWindowDialog\Close()EndIfEndIfEndProcedure; Our own package id validator to avoid criptic message from the app creation tool;Procedure CheckAndroidPackageID(ID$)If ID$NbDots = CountString(ID,ドル ".")If NbDots >= 2 ; At least 2 dots needed, as it's in the form com.spiderbasic.yourapp (NOTE: it can also be: com.spiderbasic.yourapp.suboption.suboption2)For k = 1 To NbDots+1Field$ = StringField(ID,ドル k, ".")If Asc(Field$) < 'a' Or Asc(Field$) > 'z' ; a field has to start with a lowercase ASCII charProcedureReturn 0 ; FailEndIf; now check it's only ascii chars for the whole field;For i = 1 To Len(Field$)Char$ = LCase(Mid(Field,ドル i, 1))If (Char$ < "a" Or Char$ > "z") And (Char$ < "0" Or Char$ > "9") And Char$ <> "_" ; a field can only contains ascii chars and numbersProcedureReturn 0EndIfNextNextProcedureReturn 1 ; SuccessEndIfEndIfProcedureReturn 0EndProcedureProcedure LaunchAppBuild(OutputFilename$)If CurrentAppIsProjectProcedureReturn CreateExecutableProject()ElseProcedureReturn StartInternalBuild(*CurrentAppTarget\FileName,ドル OutputFilename$)EndIfEndProcedureProcedure CreateAppWindowEvents(EventID)If EventID = #PB_Event_Menu ; Little wrapper to map the shortcut events (identified as menu)EventID = #PB_Event_Gadget ; to normal gadget events...GadgetID = EventMenu()ElseGadgetID = EventGadget()EndIfSelect EventIDCase #PB_Event_CloseWindowCloseCreateAppWindow()Case #PB_Event_GadgetSelect GadgetID; Web;Case #GADGET_WebApp_SelectIconRelativeFilenameRequester(#GADGET_WebApp_Icon, Language("App", "SelectIcon"), "PNG images|*.png")Case #GADGET_WebApp_SelectHtmlFilenameRelativeFilenameRequester(#GADGET_WebApp_HtmlFilename, Language("WebApp", "SelectHtmlFile"), "HTML files|*.html")Case #GADGET_WebApp_SelectResourceDirectoryRelativePathRequester(#GADGET_WebApp_ResourceDirectory, Language("App", "SelectResourceDirectory")); iOS;Case #GADGET_iOSApp_SelectIconRelativeFilenameRequester(#GADGET_iOSApp_Icon, Language("App","SelectIcon"), "PNG images|*.png")Case #GADGET_iOSApp_SelectStartupImageRelativeFilenameRequester(#GADGET_iOSApp_StartupImage, Language("App", "SelectStartupImage"), "PNG images|*.png")Case #GADGET_iOSApp_SelectOutputRelativeFilenameRequester(#GADGET_iOSApp_Output, Language("iOS", "SelectOutput"), "IPA files|*.ipa")Case #GADGET_iOSApp_SelectResourceDirectoryRelativePathRequester(#GADGET_iOSApp_ResourceDirectory, Language("App", "SelectResourceDirectory")); Android;Case #GADGET_AndroidApp_SelectIconRelativeFilenameRequester(#GADGET_AndroidApp_Icon, Language("App","SelectIcon"), "PNG images|*.png")Case #GADGET_AndroidApp_SelectStartupImageRelativeFilenameRequester(#GADGET_AndroidApp_StartupImage, Language("App", "SelectStartupImage"), "PNG images|*.png")Case #GADGET_AndroidApp_SelectStartupColorColor = ColorRequester(0, WindowID(#WINDOW_CreateApp))If Color <> -1UpdateCreateAppStartupColor("#"+RSet(Hex(Red(Color)) , 2, "0") +RSet(Hex(Green(Color)), 2, "0") +RSet(Hex(Blue(Color)), 2, "0"))EndIfCase #GADGET_AndroidApp_SelectOutputRelativeFilenameRequester(#GADGET_AndroidApp_Output, Language("Android", "SelectOutput"), "APK files|*.apk")Case #GADGET_AndroidApp_SelectResourceDirectoryRelativePathRequester(#GADGET_AndroidApp_ResourceDirectory, Language("App", "SelectResourceDirectory"))Case #GADGET_WebApp_EnableResourceDirectory,#GADGET_AndroidApp_EnableResourceDirectory,#GADGET_iOSApp_EnableResourceDirectory,#GADGET_AndroidApp_EnableDebuggerUpdateCreateAppWindow()Case #GADGET_AndroidApp_CheckInstallIf MessageRequester(#ProductName,ドル Language("AndroidApp","DoCheckInstall"), #FLAG_Info | #PB_MessageRequester_YesNo) = #PB_MessageRequester_YesRunProgram("open", "-a Terminal.app " + #DQUOTE$ + PureBasicPath$ + "install-cordova.sh" + #DQUOTE,ドル "", #PB_Program_Wait)EndIfCase #GADGET_iOSApp_CheckInstallIf MessageRequester(#ProductName,ドル Language("iOSApp","DoCheckInstall"), #FLAG_Info | #PB_MessageRequester_YesNo) = #PB_MessageRequester_YesRunProgram("open", "-a Terminal.app " + #DQUOTE$ + PureBasicPath$ + "install-cordova.sh" + #DQUOTE,ドル "", #PB_Program_Wait)EndIfCase #GADGET_App_OKUpdateCreateAppSettings()CloseCreateAppWindow()Case #GADGET_App_CreateUpdateCreateAppSettings()Select GetGadgetState(#GADGET_App_Panel)Case 0 ; Web App*CurrentAppTarget\AppFormat = #AppFormatWebIf *CurrentAppTarget\HtmlFileName$CloseCreateAppWindow()If LaunchAppBuild(*CurrentAppTarget\HtmlFilename$); *ActiveSource = *InitialActiveSource ; Restore the active source only if the compilation has succeededDebugger_AddLog_BySource(*ActiveSource, LanguagePattern("Compiler", "ExportSuccess", "%target%", *CurrentAppTarget\HtmlFileName$), Date())If *CurrentAppTarget\ExportCommandLine$If RunProgram(*CurrentAppTarget\ExportCommandLine,ドル *CurrentAppTarget\ExportArguments,ドル GetPathPart(*CurrentAppTarget\FileName$))Debugger_AddLog_BySource(*ActiveSource, LanguagePattern("Compiler", "ExportCommandLineSuccess", "%commandline%", *CurrentAppTarget\ExportCommandLine$), Date())ElseMessageRequester(#ProductName,ドル LanguagePattern("Compiler", "ExportCommandLineError", "%commandline%", *CurrentAppTarget\ExportCommandLine$), #FLAG_ERROR)EndIfEndIfEndIfElseMessageRequester(#ProductName,ドル Language("Compiler","ExportHtmlMissingError"), #FLAG_ERROR)EndIfCase 1 ; iOSCompilerIf #CompileMac*CurrentAppTarget\AppFormat = #AppFormatiOSIf *CurrentAppTarget\iOSAppOutput$ = ""MessageRequester(#ProductName,ドル Language("App","NoAppOutput"), #FLAG_ERROR)ElseIf UCase(GetExtensionPart(*CurrentAppTarget\iOSAppOutput$)) <> "IPA"MessageRequester(#ProductName,ドル Language("iOSApp","WrongOutputExtension"), #FLAG_ERROR)ElseIf OptionAppleTeamID$ = ""MessageRequester(#ProductName,ドル Language("iOSApp","NoAppleTeamID"), #FLAG_ERROR)ElseIf FileSize("/usr/local/bin/cordova") = -1If MessageRequester(#ProductName,ドル Language("iOSApp","NoCordova"), #FLAG_Error | #PB_MessageRequester_YesNo) = #PB_MessageRequester_YesRunProgram("open", "-a Terminal.app " + #DQUOTE$ + PureBasicPath$ + "install-cordova.sh" + #DQUOTE,ドル "", #PB_Program_Wait)EndIfElseCloseCreateAppWindow()If LaunchAppBuild(*CurrentAppTarget\iOSAppOutput$);*ActiveSource = *InitialActiveSource ; Restore the active source only if the compilation has succeededDebugger_AddLog_BySource(*ActiveSource, LanguagePattern("Compiler", "ExportSuccess", "%target%", *CurrentAppTarget\iOSAppOutput$), Date())EndIfEndIfCompilerElseMessageRequester(#ProductName,ドル Language("App","iOSMacOnly"), #FLAG_ERROR)CompilerEndIfCase 2 ; Android*CurrentAppTarget\AppFormat = #AppFormatAndroidIf *CurrentAppTarget\AndroidAppOutput$ = ""MessageRequester(#ProductName,ドル Language("App","NoAppOutput"), #FLAG_ERROR)ElseIf UCase(GetExtensionPart(*CurrentAppTarget\AndroidAppOutput$)) <> "APK"MessageRequester(#ProductName,ドル Language("AndroidApp","WrongOutputExtension"), #FLAG_ERROR); The JAVA check is a Windows only issue as it works with OpenJDK on Ubuntu;CompilerIf #CompileWindowsElseIf OptionJDK$ = ""MessageRequester(#ProductName,ドル Language("AndroidApp","NoJDK"), #FLAG_ERROR)ElseIf FileSize(OptionJDK$ + "\include") <> -2 ; Check the include dir is here, so it's not a JREMessageRequester(#ProductName,ドル Language("AndroidApp","InvalidJDK"), #FLAG_ERROR)CompilerEndIfElseIf CheckAndroidPackageID(*CurrentAppTarget\AndroidAppPackageID$) = 0MessageRequester(#ProductName,ドル Language("AndroidApp","InvalidPackageID"), #FLAG_ERROR)SetActiveGadget(#GADGET_AndroidApp_PackageID)ElseCloseCreateAppWindow()If LaunchAppBuild(*CurrentAppTarget\AndroidAppOutput$);*ActiveSource = *InitialActiveSource ; Restore the active source only if the compilation has succeededDebugger_AddLog_BySource(*ActiveSource, LanguagePattern("Compiler", "ExportSuccess", "%target%", *CurrentAppTarget\AndroidAppOutput$), Date()); An AAB is also automatically generated in release modeIf *CurrentAppTarget\AndroidAppEnableDebugger = #FalseDebugger_AddLog_BySource(*ActiveSource, LanguagePattern("Compiler", "ExportSuccess", "%target%", ReplaceString(*CurrentAppTarget\AndroidAppOutput,ドル ".apk", ".aab")), Date())EndIfEndIfEndIfEndSelectCase #GADGET_App_CancelCloseCreateAppWindow()EndSelectEndSelectEndProcedure
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。