I'm getting an error when trying to build a project on the newly-released Xcode 12 beta 4:
Incompatible block pointer types sending 'void (^)(ParseClientConfiguration *__strong)' to parameter of type 'void (^ _Nonnull)(id
The error doesn't happen with beta 3 or earlier. I have the SDK integrated via CocoaPods.
I can confirm this issue.
clang got a bit stricter in checking for qualified id block parameters I guess: https://github.com/llvm/llvm-project/commit/73152a2ec20766ac45673a129bf1f5fc97ca9bbe
The error occurs at this line:
https://github.com/parse-community/Parse-SDK-iOS-OSX/blob/1ede703d5119a6a673e2654195e87c7f7f82ecf6/Parse/Parse/ParseClientConfiguration.m#L129
One possible solution could be to not use the -[ParseClientConfiguration configurationWithBlock:] in copyWithZone.
For example:
- (instancetype)copyWithZone:(NSZone *)zone {
ParseClientConfiguration *const configuration = [[ParseClientConfiguration alloc] initEmpty];
if (!configuration) return nil;
// Use direct assignment to skip over all of the assertions that may fail if we're not fully initialized yet.
configuration->_applicationId = [self->_applicationId copy];
configuration->_clientKey = [self->_clientKey copy];
configuration->_server = [self.server copy];
configuration->_fileUploadController = self->_fileUploadController;
configuration->_localDatastoreEnabled = self->_localDatastoreEnabled;
configuration->_applicationGroupIdentifier = [self->_applicationGroupIdentifier copy];
configuration->_containingApplicationBundleIdentifier = [self->_containingApplicationBundleIdentifier copy];
configuration->_networkRetryAttempts = self->_networkRetryAttempts;
configuration->_URLSessionConfiguration = self->_URLSessionConfiguration;
return configuration;
}
Will this be fixed on CocoaPods anytime soon or will we have to use our own build?
I have the same issue. I can't run my app anymore. Waiting for a fix soon
This issue is blocking us currently. Is there any timeframe for when a fix will be merged and publicly released?
@JoeSzymanski I just merged @HeEAaD's PR to this fix. So assuming our tests pass, you should be good with current master. Not sure on the timeframe for a release. ASAP.
@drdaz Thanks for the quick update. We can likely make use of master directly, though obviously a full public release would be better if we can manage it
I'm still getting this error on the master branch?
I can confirm the fix on master fixes the build issue on Xcode 12 beta 4.
@bcbeta Please double check if you actually use the code on master in your project.
I am using
pod 'Parse', :git => 'https://github.com/parse-community/Parse-SDK-iOS-OSX.git', :branch => 'master'
and I ran pod repo update but it is still not pulling in the change. Must be a problem on my end.
Any idea why I am not getting the most recent master update? Sign in with Apple isn't there either. Here is my podfile-
`platform :ios, '12.0'
use_modular_headers!
def parse_utilities
pod 'Parse/UI', :git => 'https://github.com/parse-community/Parse-SDK-iOS-OSX.git', :branch => 'master'
pod 'Parse/FacebookUtils', :git => 'https://github.com/parse-community/Parse-SDK-iOS-OSX.git', :branch => 'master'
end
def parse_framework
pod 'Parse', :git => 'https://github.com/parse-community/Parse-SDK-iOS-OSX.git', :branch => 'master'
end
target 'BackcountrySkiTracker' do
parse_framework
parse_utilities
pod 'INTULocationManager'
pod 'DKImagePickerController'
pod 'UIImageView-Letters'
end
target 'BCWeatherWidgetExtension' do
parse_framework
end
`
For reference above query has been posted on Stack Overflow.
After deintegrating and reinstalling about two dozen times, I was finally able to pull from the master 🤷🏻♂️
When I use the master branch, I get an error in ParseModule.h saying "Module Bolts not found". When I switch between the release and master branches, it looks like "@import Bolts" was added to the top of this file. Anyone else having this issue or know how to fix?
Btw 1.19.0 has now been published to Cocoapods with the fix for this issue.
Most helpful comment
clang got a bit stricter in checking for qualified id block parameters I guess: https://github.com/llvm/llvm-project/commit/73152a2ec20766ac45673a129bf1f5fc97ca9bbe
The error occurs at this line:
https://github.com/parse-community/Parse-SDK-iOS-OSX/blob/1ede703d5119a6a673e2654195e87c7f7f82ecf6/Parse/Parse/ParseClientConfiguration.m#L129
One possible solution could be to not use the
-[ParseClientConfiguration configurationWithBlock:]in copyWithZone.For example: