Jump to content

Francisco

Members
  • Content Count

    24
  • Joined

  • Last visited

Posts posted by Francisco


  1. On 10/12/2021 at 9:59 AM, Vince Bartlett said:

    Got the same issue.

    image.png.ffd057927f81478ab9ca75c0f9461319.png

    This is what the customer sees.

     

    The weird thing for me is my phone updated to iOS 15 and the app still ran.

    Did you solve the problem?


  2. Hi:

     

    I have several apps in the Apple store working well with iOS 15.

     

    However one of them is not running, saying that the developer has to update the app.

     

    We received an email from Apple saying;:

     

    However, if you’ve added UIRequiresFullScreen=YES to your app’s Info.plist in order to keep your app full screen during multitasking, you’ll need to recompile with Xcode 13 and the SDK for iPadOS 15 to take advantage of the full screen size. Test and submit your updated app in App Store Connect today.

     

    I have removed UIRequiresFullScreen=YES. However, tha app is still not working in iOS 15.

     

    I have Dephi 10.4 last version

    MacOS Catalina 10.15.7

    Xcode 11.4.1

     

    I only want to recompile, it seems I have to install Xcode 13 or 13.1. But then I have to upgrade MAcOS 11.3 or posterior. Monterrey is available as upgrade.

     

     

    Several doubts:

     

    1) So as removing UIRequiresFullScreen=YES is not working, is this the problem or not? is the problem solved recompiling with Xcode 13.1?

     

    2) On a thread I can read Monterrey is not suported. OK? Shoukd I update to Big Sur to use Xcode 13.1?

     

    3) Can I follow with Delphi 10.4 last version?

     

    Thankds in advance.

     

     

     

     

     


  3. More news:

     

    I sent an ipa file to TestFlight, and when it was available I installed it in my iPad.

     

    Aafter removing previous version, rebooting , and installing from TestFlight, still with no splash screen.

     

    So probably my final version will be rejected. 😞


  4. Version 10.4.1 with the last patch.

     

    Suddenly I cannot obtain the ipa file.

     

    During "Compiling Asset catalogue" this error is shown:

     

    [PAClient Error] Error: E6665 Cannot open file "/Users/faparisi/PAServer/scratch-dir/Paco-miniMac/XXXXCX.app/Info.plist". No such file or directory

     

    This happens some times, and I have to use a previous backup, loosing my last work. I did nothing special, just writing some new code.

     

    Going back to a previous back solves the problem. But I cannot use my last work.

     

    Why this happens?

     

    Is this related to the problem of the splash scree  (blank screen)? How to solve it?

     

    Please, help. This is very frustrating.


  5. Hi:

     

    I am compiling a project that works perfectly in Delphi 10.3.2.

     

    When I compile it in 10.4 I have to remove the following lines of the AndroidManifast.templete:

     

    <provider
                android:name="android.support.v4.content.FileProvider"
                android:authorities="com.FJAG.XXXXX.fileprovider"
                android:grantUriPermissions="true"
                android:exported="false">
                <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/filepaths" />
        </provider>

     

    To be honest I remember that I had to include that code some long time ago, but I d not remember the reason to add it. And if I do not remove it,  IDE shows an error at: @xml/filepaths.

    After removing that code then I can obtain the apk. But the app cannot finish the start, splash image is there forever. But probably this is due to another problem.

     

    Any help?

     

    Thanks in advance.


  6. 49 minutes ago, Cristian Peța said:

    Too little details. Stock TLabel component doesn't work with right to left languages.

    I don't understand how it works on Android but if it does maybe on iOS is font related.

    Yes... good idea. I will try different fonts.

     

    What I am doing is using google translator. I just copy the translation from the google page and I paste in the label text. It seems to work...


  7. to be more clear, in iOS no text in shown in the app when runnning.

     

    in Android and Window the text is shown correctly.

     

    I think it is related to iOS, no to FMX. Ir is only showing text, no text input needed.


  8. 1 minute ago, David Heffernan said:

    Firemonkey doesn't support right to left languages. Delphi is the wrong tool for you I am afraid. 

    As I commented, it works in Android and Windows. Only problems in iOS


  9. Hi:

     

    I am translating my app to several languages.

     

    Arab works in Android and Windows.  However, it is not possible to see any Arab text in iOS.

     

    Any idea?

     

    Thanks in advance.


  10. Hi:

     

    My App has a very wide TComboBox, because the text in the Items' String is large.

     

    In Android and Windows this is not a problem when the user select one of the Items. The user can see all the text of the Items.

     

    However, in iOS the selector, the windows to select the Item, is narrow, and many text is not visible.

     

    Is there any way to increase the width of this selector windows in iOS?

     

    Thanks in advance.


  11. It works now!!!

     

    Tested in Android 7 and 9

     

    I added:

    Intent.setType(StringToJString('vnd.android.cursor.dir/email'));

     

    Therefore, I would like to share a procedure that permits to send an email with attachment (any type of file) in Android. Do not forget to modify the AndroidManifest file and to create the xml file, as commented before.

     

     

    procedure CreateEmail(const Recipient, Subject, Content, Attachment: string);
    
    
    var
    
      JRecipient: TJavaObjectArray<JString>;
      Intent: JIntent;
      Uri, data: Jnet_Uri;
      AttachmentFile: JFile;
    
    begin
    
    
     JRecipient := TJavaObjectArray<JString>.Create(1);
      JRecipient.Items[0] := StringToJString(Recipient);
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
      Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, JRecipient);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(Subject));
      Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(Content));
    
      if TJBuild_VERSION.JavaClass.SDK_INT >= TJBuild_VERSION_CODES.JavaClass.N then
      begin
        AttachmentFile := TJFile.JavaClass.init(StringToJString(Attachment));
        Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
        Data := TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context,
          StringToJString('com.FJAG.StatSuite.fileprovider'), AttachmentFile);
      end
      else
        Data := TJnet_Uri.JavaClass.parse(StringToJString('file://' + Attachment));
    
    
        Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap((Data as ILocalObject).GetObjectID));
    
        Intent.setType(StringToJString('vnd.android.cursor.dir/email'));
    
        TAndroidHelper.Activity.startActivity(Intent);
    
    
    end;

     

     

    Thanks a lot to Remy and Dave!!

     

     


  12. Remy, I modified that line to:

     

    Intent.addFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);

     

    And I am still obtaining the same error:

     

    android.content.ActivityNotFoundException: No activity found to handle Intent {act=android.intent.action.SEND flg=0x1 launchParam=MultiScreenLaunchParams {mDisplayld=0

    mFlags=0} clip={null T:A StatSuite file is attached} (has extras)}

     

     

     

     


  13. Thanks Remy.

     

    This seems tricky.

     

    The first thing I have done is including in the manifest file the following code:

     

    <provider
                android:name="android.support.v4.content.FileProvider"
                android:authorities="com.FJAG.StatSuite.fileprovider"
                android:grantUriPermissions="true"
                android:exported="false">
                <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/filepaths" />
     </provider>

     

     

     

    Then I create a file with name filepaths.xml with the following content:

     

    <?xml version="1.0" encoding="utf-8"?>
    <paths>
        <external-path
            name="external_files" path="." />
    </paths>

     

    In RAD Studio, deployment, I add this file with remote path: res\xml\

     

     

    My procedure to send the email with an attachmet is:

     

    procedure CreateEmail(const Recipient, Subject, Content, Attachment: string);
    
    
    var
    
      JRecipient: TJavaObjectArray<JString>;
      Intent: JIntent;
      Uri, data: Jnet_Uri;
      AttachmentFile: JFile;
    
    
    begin
    
    
     JRecipient := TJavaObjectArray<JString>.Create(1);
      JRecipient.Items[0] := StringToJString(Recipient);
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
      Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, JRecipient);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(Subject));
      Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(Content));
    
      if TJBuild_VERSION.JavaClass.SDK_INT >= TJBuild_VERSION_CODES.JavaClass.N then
      begin
        AttachmentFile := TJFile.JavaClass.init(StringToJString(Attachment));
        Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
        Data := TJFileProvider.JavaClass.getUriForFile(TAndroidHelper.Context,
          StringToJString('com.FJAG.StatSuite.fileprovider'), AttachmentFile);
      end
      else
        Data := TJnet_Uri.JavaClass.parse(StringToJString('file://' + Attachment));
    
    
        Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap((Data as ILocalObject).GetObjectID));
    
        TAndroidHelper.Activity.startActivity(Intent);
    
    
    end;

     

    The error when calling this procedure is:

     

    android.content.ActivityNotFoundException: No activity found to handle Intent {act=android.intent.action.SEND flg=0x1 launchParam=MultiScreenLaunchParams {mDisplayld=0

    mFlags=0} clip={null T:A StatSuite file is attached} (has extras)}

     

     

     

    "A StatSuite file is attached" is the subject of the email

     

     

    Please, a couple of questions:

     

    1.- Must I activate "Secure File Sharing" in the Entitlement List? (it is activated now)

     

    2.- What am I doing wrong?

     

    Thanks in advance


  14. When targeting newer Android SDK for uploading an app to Google's store I obtain an error when sending a file as an attachment:

     

    android.os.FileUriExposedException: file:///storage/emulated/0/Documents/filename.jpg exposed beyond app through ClipData.Item.getUri()

     

    The code was working fine in Tokyo.

     

    procedure CreateEmail(const Recipient, Subject, Content, Attachment: string);
    
    
    var
    
      JRecipient: TJavaObjectArray<JString>;
      Intent: JIntent;
      Uri: Jnet_Uri;
      AttachmentFile: JFile;
    
    
    begin
    
    
     
    
      JRecipient := TJavaObjectArray<JString>.Create(1);
      JRecipient.Items[0] := StringToJString(Recipient);
      Intent := TJIntent.Create;
      Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
      Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_EMAIL, JRecipient);
      Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(Subject));
      Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(Content));
    
      if Attachment <> '' then
      begin
        AttachmentFile := TJFile.JavaClass.init(StringToJString(Attachment));
        Uri := TJnet_Uri.JavaClass.fromFile(AttachmentFile);
        Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap((Uri as ILocalObject).GetObjectID));
      end;
    
       Intent.setType(StringToJString('vnd.android.cursor.dir/email'));
    
    
    TandroidHelper.Activity.startActivity(Intent);
       
    end;

     

    I have tried different codes I found over there. No one works.

     

    I have activated "Secure File Sharing" in Project Options.

     

    I have tried a code using DW.Androidapi.JNI.FileProvider.pas

     

    But I cannot get one working.

     

    Thanks in advance.


  15. 19 hours ago, Dave Nottage said:

    You'll need to show the code that's linking to the MessageUI framework. I expect it's attempting to link to MessageUI.tbd when it should be just MessageUI (i.e. no extension), and/or you've added the framework incorrectly to the SDK.

    Dave, thanks for taking your time.

     

    The same code is working for SDK 11.2. So I think the problems is not in the code.

     

    Anyway, I obtained the code from this post:

    https://www.woll2woll.com/single-post/2017/04/24/Send-an-Email-with-an-Attachment-FireMonkey

     

    Here is the link to the pas file:

    https://github.com/roywoll/wwEmailWithAttachment_FMX/blob/master/wwEmailWithAttachment.pas

     

    where we can read:

    const

    libMessageUI = '/System/Library/Frameworks/MessageUI.framework/MessageUI';

     

    I changed to:

    libMessageUI = '/System/Library/Frameworks/MessageUI.framework/MessageUI.tdb'; 

     

    Same error message.

     

    However, it is true that I have problems to import the sdk from the Mac. When I click "Update Local File Cache" I can check that in the PC SDK directory list the MessageUI.framework directory is not copied from the Mac.

    I do not know what I am doing wrong, because it seems quite easy to do. No error message is shown after clicking on "Update Local File Cache" . A picture follows showing the SDK manager of RAD Studio.

     

    https://ibb.co/CnKLCQn

     

     

    What I am doing to solve this issue is copying form MAC Xcode the directory to the PC SDK directory.  I think (not 100% sure) that I had to do the same for Tokyo (copying from the MAC). But it seems that now it does not work.


  16. I have a project that compiles for iOS 64 bits perfectly when SDK is 11.2

     

    When compiling for SDK 12.1 I obtain this error:

     

    [DCC Error] E2597 NYI lto::archName

      ld: file was built for  which is not the architecture being linked (arm64): C:\Users\Paco\Documents\Embarcadero\Studio\SDKs\iPhoneOS12.1.sdk/System/Library/Frameworks/MessageUI.framework/MessageUI.tbd for architecture arm64

     

    I have been reading the same problem in other forums, but, honestly, I cannot understand how to solve it for the Embarcadero compiler.

     

    I am using Rio 10.3.2

     

    Any help?

     

    Thanks in advance.

×