Using the same framework in Watchkit extension and app generates warning - ios

I've created a framework, and Im noticing that if I use the same framework within the watchkit and the main app, I recieve the following error messages.
objc[86669]: Class BasicHTTPServer_ObjC is implemented in both /Users/currentUser/Library/Developer/Xcode/DerivedData/myProj-egxerbveipszypdazxgpuyifbwcr/Build/Products/Debug-iphonesimulator/DataKit.framework/DataKit and /Users/currentUser/Library/Developer/CoreSimulator/Devices/F0661376-772D-4B5A-8427-0EF7A55326F2/data/Containers/Bundle/Application/05F0BD13-2736-4180-89E5-39CF64167218/myApp.app/PlugIns/MyApp WatchKit Extension.appex/nyApp WatchKit Extension. One of the two will be used. Which one is undefined.
This error is repeated also for other classes SocketServer_Objc, SSDPDB_ObjC, SSDPDBDevice_ObjC, MediaServer1ItemRes, TelephonyServer1Device, TelephonyClient1Device, SoapActionsMessaging1, SoapActionsMediaManagement1.
Currently, there is only a warning, and by looking at these kind of error messages I have encountered situations in which crashes occur over these kind of issues.

Related

iOS swiftUI app warning RSABSSATokenBlinder is implemented in two locations

objc[68450]: Class RSABSSATokenBlinder is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitPrivate.framework/CryptoKitPrivate (0x15e118328) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitCBridging.framework/CryptoKitCBridging (0x15b244400). One of the two will be used. Which one is undefined.
objc[68450]: Class RSABSSATokenWaitingActivation is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitPrivate.framework/CryptoKitPrivate (0x15e118350) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitCBridging.framework/CryptoKitCBridging (0x15b244428). One of the two will be used. Which one is undefined.
objc[68450]: Class RSABSSATokenReady is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitPrivate.framework/CryptoKitPrivate (0x15e1183a0) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitCBridging.framework/CryptoKitCBridging (0x15b244478). One of the two will be used. Which one is undefined.
objc[68450]: Class RSABSSATokenIssuer is implemented in both /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitPrivate.framework/CryptoKitPrivate (0x15e118418) and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/CryptoKitCBridging.framework/CryptoKitCBridging (0x15b2444f0). One of the two will be used. Which one is undefined.
I am building a basic SwiftUI app with CoreData. This warning shows up in console on Xcode 13.2.1. I have reinstalled Xcode, used App Store version as well as Xcode from apple developer website.
To reproduce this, create a new Xcode project for an iOS app. Run the app in an iPhone simulator.
I had the same problem running on the simulator. These 'warnings' disappeared when I ran on a device.

Error "Class VCWeakObjectHolder is implemented in both..." is crashing debug sessions

I am getting following error all the time in my iOS app:
objc[56232]: Class VCWeakObjectHolder is implemented in both
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AVConference.framework/Frameworks/ViceroyTrace.framework/ViceroyTrace
(0x12fe564d0) and
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/AVConference.framework/AVConference
(0x12ef82e38). One of the two will be used. Which one is undefined.
The app itself runs fine but the debugger will not attach to the device process. The simulator does attach but the app crashes immediately after a breakpoint is hit.
I am running out of ideas on how to deal with it. Any help would be greatly appreciated.
Simulator -> Hardware -> Erase all content and Settings...Works for me.
I submitted bug #43377301 to https://bugreport.apple.com/
Debug messages should be off in Apple frameworks (Class VCWeakObjectHolder)
I'm currently fixing bugs in an old code base and I have no idea what this internal Apple "warning" means.
It shouldn't be displayed to the 3rd party developer. I'm using CoreBluetooth and Objective-C.

"[Crashlytics:Crash] Reporting is disabled"

I am getting the following error messages when our production iOS app initializes:
[Crashlytics] Version 3.8.4 (121)
[Crashlytics] Running on iOS Simulator (iPhone), 10.3.0 (16E195)
[Crashlytics:Crash] Reporting is disabled
[Crashlytics] Crash reporting could not be initialized
[Answers] Initialized
[Fabric] Initialized with kit versions: {
"com.twitter.answers.ios" = "1.3.4";
"com.twitter.crashlytics.ios" = "3.8.4";
"io.fabric.sdk.ios" = "1.6.11";
}
Every subsequent call to log an event gets the following error:
[Crashlytics:Crash] WARNING: CLSLog has been used before (or concurrently with)
Crashlytics initialization and cannot be recorded. The message was: ...
The non-production versions of the app work fine running the exact same code but with different bundleIDs. Normally when the app initializes for the first time, then I see the app populate in the Fabric dashboard, but in this case the app is not showing up.
We have an Android and an iOS version of the app, and they both use the same bundleID, so I am wondering if there is a conflict because of that? I see the Android version of the app in the dashboard, and it seems to be working properly. This is an app that originally was a Xamarin app that compiled to both platforms, neither of which incorporated Fabric/Crashlytics. We have now written native apps on each platform, and both are using Fabric/Crashlytics.
Since this is a pre-existing app in both stores, we do not have the option of changing either app’s bundleID.
Make sure you initialize Crashlytics with Fabric before calling any Crashlytics methods:
Fabric.with([Crashlytics.self])
One step I routinely miss is to make sure you've added the build phase on your target:
"${PODS_ROOT}/Fabric/run" ${FABRIC_API_KEY} ${FABRIC_BUILD_SECRET}
and either replace ${FABRIC_API_KEY} and ${FABRIC_BUILD_SECRET} with your key and secret or add custom build settings for each.
There are apparently cases where Crashlytics does not auto-activate new apps so that they show up under your list of apps, even though everything is coded correctly and data is going to their servers. In this case, send an email to Crashlytics support (support#fabric.io) that contains a copy of the info.plist entries for the app in question and they will activate it for you. I have had to do this several times, especially with app extensions.
When I finally traced it down in my situation, the error was entirely correct, but not obvious.
I saw these errors in various testing targets where the code we tested was using a custom logging wrapper which called CLSNSLogv(), but the test didn't actually go through the AppDelegate and therefore did NOT initialize Crashlytics. After trying a few things I was convinced that it worked when executed as an app, but in our configuration it was not working under the unit test configuration.
I'll likely alter our custom wrapper to bypass CLSNSLogv() during testing anyway. The biggest benefit of using that is when crashes occur on devices, so we won't be missing anything.

Running Haxe from iOS app – hxRunLibrary() error

For a client I've developed an iOS + Android app using Cordova (PhoneGap) for the user interface. Now, as an update to this app, I'm am attempting to add a game that was written in Haxe. Originally the game was written for the Flash target, but I've updated it to work with the C++ targets for Android and iOS.
On Android it was easy to integrate this with the Cordova app using activities (the Haxe part runs as a separate activity), but I am having some trouble achieving a similar result on iOS.
So far I have tried to include all hxcpp generated code in my project (in the same way that NME sets up the XCode project when you do "nme build ios"), and I'm calling hxRunLibrary() from my code when I want the game to run.
The problem is that hxRunLibrary() seems to want to create its own UIApplication instance, which fails with the following error, since my main app is already running an instance:
*** Assertion failure in void UIApplicationInstantiateSingleton(Class)(), /SourceCache/UIKit_Sim/UIKit-2380.17/UIApplication.m:2037
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'There can only be one UIApplication instance.'
I think it might have something to do with SDL, which Haxe uses for graphics. From what I understand SDL needs to run from the main function of the app, which created a conflict with Cocoa that also needs to run from the main function.
Is there any easy way around this? I've looked in the hxcpp sources, but been unable to find the UIApplication related code, or any entry code for SDL.
Perhaps someone could point me in the right direction. Thanks!
Well ,I have googled some information about Haxe . what i understood is that The Haxe will prouduce a completed application for you .that mean it include the main Function . That's why the error is happend .
And you can simulate the problem by invoke UIApplicationMain Function twice .
In my opinion , you have to remove the code about UIApplicationMain from the souce code file produced by Haxe.
cordova has the ability to be integrated as part of a bigger application
ran into the same issue.
http://devgirl.org/2012/11/15/embed-cordovaphonegap-in-your-native-ios-app/
this article will help
you dont actually create a new project instead you embed it in a webview via the ios webview and cordova acts a subview.

Titanium Mobile iOS application breaks on actual device

I am developing an application using titanium mobile. On the simulator, the app works flawlessly. On the actual device, this is not the case. The app does not crash, it just refuses to process a callback function I have created.
I receive no errors or crash logs except for the following build error. This error only shows up when building for the device.
osascript[72110:f07] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find:
/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers.
Any help would be greatly appreciated. On a side note, would it have something to do with the Basic vs. Premium APIs?
Cleaning the application and re-building seemed to do the trick.

Resources