iOS Question TextRecognition and libsqlite3.a

fbritop

Well-Known Member
Licensed User
Longtime User
Hi
Is there any special requierments, other that the specified on the libs requierments. When I compile with Hosted Builder, it throws this error regarding sqlLite


Using B4i 8.80 Beta
JDK 19
#Region MLKit is included
iCC, MediaChooser SimpleMediaManager and iLocationlibs tick

B4X:
error: Build input file cannot be found: '/Users/administrator/Documents/UploadedProjects/<user id>/../../Libs/libsqlite3.a'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'B4iProject' from project 'B4iProject')

Thanks
 

Alexander Stolte

Expert
Licensed User
Longtime User
Off toppic: When I see how many library updates are available, then my wish makes sense again:
AS_Chips V1.05
 
Upvote 0

fbritop

Well-Known Member
Licensed User
Longtime User
I get the same error. Something with the swift SDK causes a conflict. What is this framework doing? You will probably need to remove it.
It is for phone validation (international formats).


B4X:
Sub IsNumberValid (Number As String, DefaultRegion As String) As Boolean
    Try
        If extractNumbers(Number)="56912345678" Then Return True
        #if b4a
        Dim pv As PhoneValidator
        Return pv.Validate("+" & extractNumbers(Number), Null)
        #end if
        Number="+" & extractNumbers(Number)
        #if b4i
        Dim nme As NativeObject = Me
        Dim NumberUtil As NativeObject
        NumberUtil = NumberUtil.Initialize("NBPhoneNumberUtil").RunMethod("sharedInstance", Null)
        Dim p As NativeObject = nme.RunMethod("Parse::", Array(Number, DefaultRegion))
        If p.IsInitialized = False Then Return False
        Return NumberUtil.RunMethod("isValidNumber:", Array(p)).AsBoolean
        #End If
    Catch
        logd(LastException)
    End Try
    Return True
End Sub


#if OBJC
#import <libPhoneNumberiOS/libPhoneNumberiOS.h>
- (NSObject*) Parse:(NSString*)Number :(NSString*)DefaultRegion {
    NSError* e;
    NBPhoneNumber* p = [[NBPhoneNumberUtil sharedInstance] parse:Number defaultRegion:DefaultRegion error:&e];
    if (e != nil) {
        NSLog(@"Error: %@", e);
        return nil;
    }
    else
        return p;
}

- (NSString*) PhoneInternational: (NSString*) Number : (NSString*) DefaultRegion
   {
   NBPhoneNumberUtil *phoneUtil = [[NBPhoneNumberUtil alloc] init];
   NSError *anError = nil;
   NSString *answer = nil;
   NBPhoneNumber *myNumber = [phoneUtil parse: Number defaultRegion: DefaultRegion  error: &anError];
   if (anError == nil) { answer = [phoneUtil format: myNumber numberFormat: NBEPhoneNumberFormatINTERNATIONAL error: &anError]; };
   if (anError != nil) { answer = [anError localizedDescription]; };
   return answer;
  }
#End If
 
Upvote 0

fbritop

Well-Known Member
Licensed User
Longtime User
Thanks Erel, but it still not working here.
iLottie lib is also based on Swift framework I think
I put all together in a small proyect, all the libs I use in mi project, and if I exclude iLottie it compiles, if not, gives the same libsqllite error.

iLottie XML header:

B4X:
  <doclet-version-NOT-library-version>1.00</doclet-version-NOT-library-version>
  <b4x_version>6.30</b4x_version>
  <dependsOn>icore</dependsOn>
  <dependsOn>avfoundation.framework</dependsOn>
  <dependsOn>Lottie.framework.swift.3</dependsOn>

Thanks
FBP
 
Last edited:
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…