1

I have a multidevice application developped with Rad Studio in Delphi, all work with Android, but when I want to execute the project on iOS, I have this error.

This is the output :

Build started 08/10/2020 15:14:20.


Project "E:\Code\APELMOBILE\APEL_MOBILE_CLIENT.dproj" (Make target(s)): Target _PasCoreCompile:

    c:\program files (x86)\embarcadero\studio\21.0\bin\dccios32.exe -$D0 -$L- -$Y- --no-config -M -Q -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults -DRELEASE;AMC -E.\iOSSimulator\Release -I"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSSimulator\Release" -LEC:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\iOSSimulator -LNC:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\iOSSimulator -NU.\iOSSimulator\Release -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSSimulator\Release" -R"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSSimulator\Release" -U"c:\program files (x86)\embarcadero\studio\21.0\lib\iOSSimulator\Release" --ios-version-min:10.0 -NBC:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\iOSSimulator -NO.\iOSSimulator\Release --sdk-version:14.0  APEL_MOBILE_CLIENT.dpr   
    E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: F2613 Unit 'FMX.WebBrowser.Delegate.Cocoa' not found.
    E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser.Delegate.Cocoa' is used by 'FMX.WebBrowser.Delegate.iOS'
    E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser.Delegate.iOS' is used by 'FMX.WebBrowser.Cocoa'
    E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser.Cocoa' is used by 'FMX.WebBrowser'
    E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser' is used by 'FMX.TabControl'
Done building target "_PasCoreCompile" in project "APEL_MOBILE_CLIENT.dproj" -- FAILED.
Done building project "APEL_MOBILE_CLIENT.dproj" -- FAILED.
Build FAILED.
E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: F2613 Unit 'FMX.WebBrowser.Delegate.Cocoa' not found.
E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser.Delegate.Cocoa' is used by 'FMX.WebBrowser.Delegate.iOS'
E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser.Delegate.iOS' is used by 'FMX.WebBrowser.Cocoa'
E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser.Cocoa' is used by 'FMX.WebBrowser'
E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser' is used by 'FMX.TabControl'
    0 Warning(s)
    5 Error(s)
Time Elapsed 00:00:01.45
  • Maybe have a look at this: https://community.idera.com/developer-tools/platforms/f/ios-platform/72522/delphi-10-4---ios---twebbrowser-fails-at-app-start – fpiette Oct 08 '20 at 13:46
  • Thanks, but the issue seem to be related to tabcontrol, I have created a new project, and when I add a tabcontrol, this error appear – Guillaume MARCHAL Oct 08 '20 at 13:53
  • I don't understand how a TabControl could generate error message about FMX.WebBrowser. Maybe you've added the unit of WebBrowser or have somehow a reference to it. – fpiette Oct 08 '20 at 14:36
  • No reference to it, TabControl FMX is mentioned above : `E:\Code\APELMOBILE\Accueil.pas(9,92): error F2613: Unit 'FMX.WebBrowser' is used by 'FMX.TabControl` – Guillaume MARCHAL Oct 08 '20 at 15:33
  • Doh! I checked and you are right: FMX.TabControl.pas has FMX.WebBrowser in the implementation uses clause. – fpiette Oct 08 '20 at 19:14
  • I re-read the reference I gave in my first comment. Someone has the same issue and fixed it. Please read Yaroslav Brovin answer and try it. – fpiette Oct 08 '20 at 19:16

3 Answers3

1

Dears, I have the same problem. From my research I see that there are already precompiled versions (.dcu) of the units for each target OS. However, for the unit FMX.WebBrowser.Delegate.Cocoa, the .dcu files are only provided for 4 target OS - iOS6X (debug/release) and osx64 (debug/release). the versions for iossimulator (debug/release) are missing.

the compiler will only compile the files that are included in the project definition; it will use the precompiled version for the other ones.

while we have the source code of the unit, it will only generate the .dcu file if we include the file in the project definition. Just like hyto did.

so... I'm adding the file and can continue working :)

Nicolas
  • 11
  • 1
0

Did you found a solution for this?

Mine was to add to the project the missing unit source file, which in my case is at: C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\FMX.WebBrowser.Delegate.Cocoa.pas

hyto
  • 21
  • 2
0

Jut Add C:\Program Files (x86)\Embarcadero\Studio\21.0\source\fmx\ to library path

  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Mar 05 '22 at 03:42