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

aminoacid

Well-Known 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

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>
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 .....

Code: Copy
#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

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
Back
Top