iOS Question [Solved] B4I v10.0 and FireBase Issue

aminoacid

Active Member
Licensed User
Longtime User
I am working on a very simple App that uses Firebase Notifications and the code is pretty much the same as in the B4I FirebaseNotifications Tutorial except that I am using the APN authentication Key Method instead of the APN certificate. It has been compiling and running fine with B4I v8.90 but when I try to compile it with v10.0, I get the following error (full log attached). - error: 'iCore.h' file not found

1763746009064.png


And here are the Libraries I am using:

1763746116736.png



Does the Firebase code or libraries need to be updated for v10.0?

Edit Nov 22, 2025 - Attached the correct compile log.
 

Attachments

  • CoompileLog2.txt
    91.8 KB · Views: 8
Last edited:
Solution

Yes, that did it! Thanks.

For the benefit of others who may experience the same issue, I'll include the details here and mark this as the solution:

The issue had nothing to do with FireBase as I may have presumed. My App also made use of Background Fetch (see Erel's link above) and for compatibility with B4I v10.0, a small change needs to be made in the import line of the /files/special/main.m file as follows:

#import <iCore/iCore.h>

aminoacid

Active Member
Licensed User
Longtime User
It looks like you are using a custom main.m file. Post its code.

Yes, I did add some test code. I did not think it could be the reason because it compiled and ran fine in B4I v8.90. Here is the complete main.m .....

main.m:
#import <UIKit/UIKit.h>

#import "iCore.h"

@interface B4IMyDelegate : B4IAppDelegate
    
@end

@implementation B4IMyDelegate {
void (^completeFetch)(UIBackgroundFetchResult);
}

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
    NSLog(@"performFetchWithCompletionHandler");
    self->completeFetch = completionHandler;
    B4I* bi = [self valueForKey:@"bi"];
    [bi raiseUIEvent:nil event:@"application_fetchdownload" params:nil];
}

- (void)completeFetch:(int)result {
    self->completeFetch((UIBackgroundFetchResult) result);
}
@end


int main(int argc, char * argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([B4IMyDelegate class]));
    }

}
 
Last edited:
Upvote 0

aminoacid

Active Member
Licensed User
Longtime User

Yes, that did it! Thanks.

For the benefit of others who may experience the same issue, I'll include the details here and mark this as the solution:

The issue had nothing to do with FireBase as I may have presumed. My App also made use of Background Fetch (see Erel's link above) and for compatibility with B4I v10.0, a small change needs to be made in the import line of the /files/special/main.m file as follows:

#import <iCore/iCore.h>
 
Last edited:
Upvote 0
Solution
Top