Skip to content
This repository has been archived by the owner on Mar 15, 2024. It is now read-only.

Not working for UIKitMac on macOS Catelina #164

Closed
jefhai opened this issue Jun 4, 2019 · 49 comments
Closed

Not working for UIKitMac on macOS Catelina #164

jefhai opened this issue Jun 4, 2019 · 49 comments

Comments

@jefhai
Copy link

jefhai commented Jun 4, 2019

Ld /Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Products/Debug-uikitformac/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Versions/A/Flurry_iOS_SDK normal x86_64 (in target: Flurry-iOS-SDK)
    cd /Users/jefhai/Documents/git/Proj-iOS/Pods
    /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-ios13.0-macabi -dynamiclib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -L/Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Products/Debug-uikitformac/Flurry-iOS-SDK -L/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/iOSSupport/usr/lib -L/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/uikitformac -L/Users/jefhai/Documents/git/Proj-iOS/Pods/Flurry-iOS-SDK/Flurry -L/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/iOSSupport/usr/lib -L/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/uikitformac -F/Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Products/Debug-uikitformac/Flurry-iOS-SDK -iframework /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/iOSSupport/System/Library/Frameworks -iframework /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/iOSSupport/System/Library/Frameworks -filelist /Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Intermediates.noindex/Pods.build/Debug-uikitformac/Flurry-iOS-SDK.build/Objects-normal/x86_64/Flurry_iOS_SDK.LinkFileList -install_name @rpath/Flurry_iOS_SDK.framework/Versions/A/Flurry_iOS_SDK -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -Xlinker -object_path_lto -Xlinker /Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Intermediates.noindex/Pods.build/Debug-uikitformac/Flurry-iOS-SDK.build/Objects-normal/x86_64/Flurry_iOS_SDK_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -lFlurry_9.3.1 -framework Foundation -framework Security -framework SystemConfiguration -framework UIKit -framework Foundation -framework Security -framework SystemConfiguration -framework UIKit -compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Intermediates.noindex/Pods.build/Debug-uikitformac/Flurry-iOS-SDK.build/Objects-normal/x86_64/Flurry_iOS_SDK_dependency_info.dat -o /Users/jefhai/Library/Developer/Xcode/DerivedData/ss_ws-ghkuqnoshpqwkkfpwyogwlgfpvnn/Build/Products/Debug-uikitformac/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Versions/A/Flurry_iOS_SDK

ld: in /Users/jefhai/Documents/git/Proj-iOS/Pods/Flurry-iOS-SDK/Flurry/libFlurry_9.3.1.a(libFlurry.a-x86_64-master.o), building for UIKitForMac, but linking in object file built for iOS Simulator,
clang: error: linker command failed with exit code 1 (use -v to see invocation)
@jefhai jefhai changed the title Not working for UIKitMac Not working for UIKitMac on macOS Catelina Jun 4, 2019
@jefhai
Copy link
Author

jefhai commented Jun 4, 2019

@flurrydev any chance you're looking into this? I don't want to cut out flurry- but I would if there's no plans to support Mac OS / iPad apps on Mac OS

@xnth97
Copy link

xnth97 commented Jun 4, 2019

Hi @jefhai ,

Thank you for using Flurry SDK! We do plan to support Project Catalyst and we are working hard on this, so please stay tuned!

@jefhai
Copy link
Author

jefhai commented Jun 5, 2019 via email

@jefhai
Copy link
Author

jefhai commented Jun 11, 2019

@xnth97 how's the progress on supporting project catalyst going?

@xnth97
Copy link

xnth97 commented Jun 11, 2019

Hi @jefhai ,

Thank you for your support! We are sorry for any inconvenience this may cause, but please understand that there are lots of compatibility issues that we need to think about when adapting for new OS versions and platforms. We can't just click macOS support option and build it 😀 so please stay tuned and we'll definitely let you know once we have a usable beta version.

@jefhai
Copy link
Author

jefhai commented Aug 26, 2019

@xnth97 How we doing on catalyst support?

@emreberge
Copy link

Hi @xnth97 do you have any update on your progress? I understand it's a complex issue.

@jefhai
Copy link
Author

jefhai commented Oct 2, 2019

They just don't seem to develop Flurry..... I'm going to abandon it and roll my own.

@emreberge
Copy link

They just don't seem to develop Flurry..... I'm going to abandon it and roll my own.

It's not a light undertaking to support catalyst, so I do understand that it's taking time. Wouldn't mind a little bit insight on the progress tho :)

@rajkaur01
Copy link
Contributor

@jefhai @emreberge Thank you for your patience while we work on supporting UIKItMac. Supporting UIKitMac requires not only supporting this new platform in the SDK but also surfacing the analytics on our developer portal and providing this seamless support is in no ways trivial. We are publishing a beta release of our SDK with UIKitMac support on macOS today and will share the link once it is published. The beta release will provide support for UIKitMac at the SDK level but analytics for apps built on UIKitMac may not surface correctly in our flurry portal. Again, thank you for your patience while we continue to add end to end support for UIKitMac on macOS Catelina.

@rajkaur01
Copy link
Contributor

@jefhai @emreberge You can download the beta build of Flurry SDK with catalyst support from the link below. Again thank you for your patience as we build out full end to end support for catalyst.

https://flurrysdk-mbst-pub-ue1.s3.amazonaws.com/sdks/iPhone/671/flurry_iPhone_sdk.zip

@emreberge
Copy link

emreberge commented Oct 3, 2019

@rajkaur01 thank you for the update, this is great news! Just a quick question (and I have not yet tested the SDK)

built on UIKitMac may not surface correctly in our flurry portal

Does that mean that we might not see the data yet, or that it might be mixed with or labeled incorrectly as being an iPad/iPhone device? And do you think it would be a good idea to manually separate the devices with a separate API Key to begin with?

@rajkaur01
Copy link
Contributor

@emreberge You will definitely see the data in our flurry portal but as you eluded to already, in some instances the data may be labeled incorrectly/mixed. You do the have the option of manually separating the two platforms with a different API Key for now so that you can inspect catalyst analytics without the noise of the iOS app. Once this feature goes GA, the separation of API keys would not be required as the flurry portal will be able to correctly identify the source of data across all currently supported metrics. Let me know if you have any other questions and thank you for using Flurry!

@umairxiq
Copy link

Is there any POD for Flurry SDK with catalyst support?

@yubo-vz
Copy link
Contributor

yubo-vz commented Oct 10, 2019

Hi @umairxiq Thank you for using Flurry. We will release a pod once CocoaPods adds support for MacCatalyst and/or XCFramework.

@cocoatoucher
Copy link

@jefhai @emreberge You can download the beta build of Flurry SDK with catalyst support from the link below. Again thank you for your patience as we build out full end to end support for catalyst.

https://flurrysdk-mbst-pub-ue1.s3.amazonaws.com/sdks/iPhone/671/flurry_iPhone_sdk.zip

Hello!
I downloaded the file in your link and imported the Flurry.xcframework into my project as instructed here: https://developer.apple.com/videos/play/wwdc2019/416/?time=247
However, it seems Xcode doesn't recognize the Swift module inside the framework and it is not possible to do import Flurry after import. Do you have a working version or some instructions to make this work?

@rajkaur01
Copy link
Contributor

@cocoatoucher Thank you for using Flurry Analytics. We will look into this issue and get back to you soon.

@flurrydev
Copy link
Contributor

flurrydev commented Dec 11, 2019

@cocoatoucher

To use the Flurry's Catalyst beta sdk with Swift follow our standard instructions here for a manual installation(substitute Flurry.xcframework for the static libraries).

https://developer.yahoo.com/flurry/docs/integrateflurry/ios-manual/#swift-sdk-integration.

Briefly the steps are:

  1. Add the Flurry.xcframework, Security.framework, SystemConfiguration.framework
    CoreLocation.framework (CoreLocation is optional)
  2. Create a bridging header, modify build settings to register the bridging header, import Flurry.h in the bridging header.
  3. Initialize Flurry in the AppDelegate.

Note the Flurry Catalyst SDK is a beta product. We are actively working on how the data is presented in the Flurry UI.

@cocoatoucher
Copy link

cocoatoucher commented Dec 11, 2019

Hey @flurrydev ! Thanks for the reply.

The project is building after integrating the SDK via following the instructions.

However, once I attempt to initialize Flurry in my AppDelegate using:

Flurry.startSession( "appid", with: FlurrySessionBuilder() .withCrashReporting(true) .withLogLevel(FlurryLogLevelAll))

I get the following compiler error:
and that happens in all targets including macCatalyst and iOS, both simulator and device

Undefined symbols for architecture x86_64: "_SCNetworkReachabilityCreateWithAddress", referenced from: +[FlurryReachability flurryReachabilityWithAddress:] in libFlurryMacCatalyst.a(FlurryReachability.o) "_SCNetworkReachabilityCreateWithName", referenced from: +[FlurryReachability flurryReachabilityWithHostName:] in libFlurryMacCatalyst.a(FlurryReachability.o) "_SCNetworkReachabilityGetFlags", referenced from: -[FlurryReachability flurryCurrentReachabilityStatus] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability isFlurryReachable] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability isFlurryConnectionRequired] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability isFlurryConnectionOnDemand] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability isFlurryUserInterventionRequired] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability isFlurryReachableViaWWAN] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability isFlurryReachableViaWiFi] in libFlurryMacCatalyst.a(FlurryReachability.o) ... "_SCNetworkReachabilitySetCallback", referenced from: -[FlurryReachability flurryStartNotifier] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability flurryStopNotifier] in libFlurryMacCatalyst.a(FlurryReachability.o) "_SCNetworkReachabilitySetDispatchQueue", referenced from: -[FlurryReachability flurryStartNotifier] in libFlurryMacCatalyst.a(FlurryReachability.o) -[FlurryReachability flurryStopNotifier] in libFlurryMacCatalyst.a(FlurryReachability.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

@flurrydev
Copy link
Contributor

@cocoatoucher Hello, those are errors I would expect if SystemConfiguration.framework is not included, andI was able to reproduce the errors by removing SystemConfiguration from my project.

I posted a bare bones project here of my integration:
https://github.com/flurrydev/MacCatalyst

@cocoatoucher
Copy link

Sorry for totally missing that one, it works after adding the SystemConfiguration.framework
I appreciate the help! 🙌

@alexcurylo
Copy link

Now that SE-0272 Package Manager Binary Dependencies is officially accepted I for one am perfectly happy with manual integration into my Catalyst apps - Which went perfectly smoothly, nice work Flurry! 👍 - until implementation makes its way into Xcode. As I would optimistically expect that to arrive expeditiously.

@gabors
Copy link

gabors commented Dec 22, 2019

Thanks very much for making the macCatalyst beta available.
I've followed the integration instructions and I can access Flurry classes from the app target fine, but I'm having hard time making flurry available inside my own shared framework that is part of my app. I've added the Flurry.xcframework to my framework's target Frameworks and Libraries section, picked Embed & Sign, but my framework code cannot compile any of the Flurry classes.

@gabors
Copy link

gabors commented Dec 22, 2019

To add more context... when I try to include
#import "Flurry.h"
inside MyOwnFramework.h file

I get this error compiling:
Include of non-modular header inside framework module

@rajkaur01
Copy link
Contributor

@gabors Thank you for using Flurry. Apologies for the late response due to the holidays. We will investigate this issue and get back to you shortly.

@gabors
Copy link

gabors commented Jan 9, 2020

@rajkaur01 any updates on this?

@flurrydev
Copy link
Contributor

@gabors We are still investigating the feasibility of this, and also preparing a new release of the MacCatalyst beta.

I have reproduced the issue you describe, and I will follow up as soon as possible.

@flurrydev
Copy link
Contributor

A new version of the Flurry MacCatalyst SDK is available here:
http://flurrysdk-mbst-pub-ue1.s3.amazonaws.com/sdks/iPhone/694/flurry_iPhone_sdk.zip

-We now expect all data to display on the developer portal (dev.flurry.com).
-Mac's running a Catalyst app will have their model display as "MacCatalyst".
-Adds FlurryUserProperties and FlurryCCPA classes.

Please feel free to reach out to report issues or if you need assistance implementing the SDK. Their is a bare-bones sample project available here:
https://github.com/flurrydev/MacCatalyst

@gabors
Copy link

gabors commented Jan 17, 2020

@flurrydev does this resolve the issue above of trying to reference Flurry inside my own framework? I'm still seeing the same compilation error: Include of non-modular header inside framework module

@flurrydev
Copy link
Contributor

@gabor We are still working on a solution for your use case. It won't be possible to support both iOS emulator and Catalyst in the same .framework, but I may be able to give you a custom build. Please open a support ticket by writing to support@flurry.com, and we can have a more in depth discussion on this.

@gabors
Copy link

gabors commented Jan 17, 2020

@flurrydev thank you very much.
Basically my use case is for a shared framework that is used by multiple targets in the project. iOS, tvOS, macCatalyst which is the same as the iOS target. As well as an app extension target.

@umairxiq
Copy link

Still manual integration after more than six months? Although Pod has support for MACCatalyst and XCFrameWork. What's the timeline? or should we abandoned flurry for future use and recommend others?

@JaxMyers
Copy link

Any updates on catalyst support? I'm eagerly awaiting this feature.

@JaxMyers
Copy link

Just checking in after waiting another month... Any updates?

@hunterhays
Copy link
Contributor

@JaxMyers @umairxiq
Flurry is waiting for the following fix to be made available by the Cocoapods team in their next beta release: CocoaPods/CocoaPods#9528

Once the fix is available in the Cocoapods pre-release build we will release a podspec.

@pavermakov
Copy link

Any updates on this?

@umairxiq
Copy link

CocoaPods/CocoaPods#9528 is closed. Any update now for cocoapods?

@ToshMeston
Copy link

What's the latest on the Flurry SDK cocoapod supporting Mac Catalyst?

@jefhai
Copy link
Author

jefhai commented Sep 28, 2020

@ToshMeston I would just switch to Microsoft’s app analytics or something device agnostic if it’s feasible..

@flurrydev
Copy link
Contributor

@ToshMeston We are blocked by the following issue on Cocoapods: CocoaPods/CocoaPods#9843

They are aware of the issue and working on this.

@ToshMeston
Copy link

@jefhai Thanks.

@carlo-
Copy link

carlo- commented Sep 29, 2020

@flurrydev could you at least update the XCFramework for manual installation (updated 9 months ago at this point)? Many don't use Cocoapods, and the tools to build for Catalyst have been available for more than one year now. I find it very frustrating that Flurry still doesn't have a way to provide XCFrameworks for each release. This will likely force us to move to another analytics service.

@ToshMeston
Copy link

Any update @flurrydev ?

@JaxMyers
Copy link

JaxMyers commented Nov 3, 2020

Should it theoretically be possible for my app which uses Flurry for iOS to compile using for Mac by simply excluding Flurry calls when built for mac? I've tried this but I have never been able to get over the many errors that Xcode generates and given up, thinking that I need to wait for Flurry to be updated. So now I am wondering if I need to keep waiting for Flurry to be updated or if I can simply exclude it from my Mac binary.

@JaxMyers
Copy link

JaxMyers commented Apr 8, 2021

Am I safe to assume this will never be fixed?

@flurrydev
Copy link
Contributor

We are currently testing a new xcframework build of Flurry that supports MacCatalyst (including M1 support). It will be available in the next week.

@flurrydev
Copy link
Contributor

We have released a Catalyst compatible version of Flurry here: https://github.com/flurrydev/Flurry-Catalyst-Beta

This will allow you to run Flurry on Catalyst apps and includes M1 mac support.

@jefhai
Copy link
Author

jefhai commented Apr 28, 2021

About time! But to voice my opinion real quick… adopting flurry was a mistake and a loss for those waiting around for this.

@ToshMeston
Copy link

@flurrydev Sweet!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests