-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Branch SDK v1.42-1.43.2 causes crash on launch for iOS 10-12 even with LinkPresentation optionally linked #1207
Comments
Sorry for the delay. This was a confusing documentation issue. Basically, the framework should be marked optional in xcode. |
As stated in my original post, I did have the LinkPresentation framework marked optional in Xcode's linking options. This does not prevent the crashing issue. |
@AlexGingell |
Why hasn't this been fixed yet? It has been over a year for a 32 character insertion in 3 targets - aka |
@LeadAssimilator On native iOS, the issue can be worked around by using Swift Package Manager or Cocoapods, so the ticket priority had fallen behind iOS 17 related work. But for Xamarin, we'll likely need to provide a different binary without LinkPresentation. |
What do you mean it doesn't it work? And why? Because it should and does work! Adding Just add the flags as described to the branch project and run the build script. You can confirm the framework is linked as weak by inspecting the output of otool -l for each dylib in the resulting xcframework.
|
Since Xamarin is using 2.1.2, I suggest fixing this in main, backporting the fix to 2.1.2 to make 2.1.3 (even if it just remains internal) and use that build on Xamarin 9.0.0 to make 9.0.1. That way we can get an immediate fix for Xamarin without needing to do any sort of in depth testing/validation since the bits should be identical outside of the linker flags and timestamps. Clearly this issue was never triaged or prioritized properly if it ended up behind new feature work for something that is so trivial to address. Hopefully you will recognize this error and address the problem appropriately in a timely manner this time. |
Also I recommend setting Automatically linking frameworks via imports of their headers is not a good idea. I think Apple only made it Yes by default to reduce their support cases and/or to make it seem easier for new/inexperienced developers to make apps. But it ends up hiding a project's dependencies, makes inspection/audit of dependencies harder and encourages one to forget about linking entirely. All of which probably contributed to this particular bug in the first place. For example, if one had imported LinkPresentation.h with LFA=No, then compile would have initially failed. To make it work an explicit reference to LinkPresentation would have to be added in While it isn't perfect, it is better than the alternative, because you can define standard practices/processes/procedures around the adding of new |
@LeadAssimilator |
Branch SDK v1.42 - 1.43 causes crash on launch for iOS 10-12 with:
Ours is a manual integration. Note that the LinkPresentation framework has been added to Link Binary With Libraries with the 'Optional' status. LinkPresentation is only available from iOS 13.
We note a similar issue here:
fluttercommunity/plus_plugins#222
which was fixed as follows:
fluttercommunity/plus_plugins#224
Is it possible the Branch SDK is strongly requiring a framework which should be weakly required because it is not available on iOS 10-12 ?
We've downgraded to v1.41.0 for now - this works fine. We note that 1.44 now requires iOS 11, and have not tested it as we support iOS 10+.
Steps to reproduce
Expected behavior
The LinkPresentation framework should not be required on iOS 10 - 12 and Branch should launch and operate normally, omitting LinkPresentation functionality gracefully.
SDK Version
1.42.0 - 1.43.2
XCode Version
13.4.1
Device
All
OS
10-12
Additional Information/Context
No response
The text was updated successfully, but these errors were encountered: