Posts

Sort by:
Post not yet marked as solved
0 Replies
2 Views
Hi, we recently noticed an issue when exporting the localization files from one of our projects. So in the exported .xliff file, there is a string that has been varied into the plural forms of zero, one and other. We had translated them into Japanese. But in the .xliff file, the source element of this string in plural ONE is missing, while the target as well as the others plural strings are showing correct. We've also checked in Xcode (15.3), the content of whether the source or target are there for all the plural forms, as you can see below. The same issue (same string) also exists in Korean and Russian, but not in other languages we support (like German, French, Chinese), which is a bit weird to us. Does anyone have any idea why this is happening and how can we fix it?
Posted
by
Post not yet marked as solved
0 Replies
1 Views
I'm trying to expose my native shazamkit code to the host react native app. The implementation works fine in a separate swift project but it fails when I try to integrate it into a React Native app. Exception 'required condition is false: IsFormatSampleRateAndChannelCountValid(format)' was thrown while invoking exposed on target ShazamIOS with params ( 1682, 1683 ) callstack: ( 0 CoreFoundation 0x00007ff80049b761 __exceptionPreprocess + 242 1 libobjc.A.dylib 0x00007ff800063904 objc_exception_throw + 48 2 CoreFoundation 0x00007ff80049b56b +[NSException raise:format:] + 0 3 AVFAudio 0x00007ff846197929 _Z19AVAE_RaiseExceptionP8NSStringz + 156 4 AVFAudio 0x00007ff8461f2e90 _ZN17AUGraphNodeBaseV318CreateRecordingTapEmjP13AVAudioFormatU13block_pointerFvP16AVAudioPCMBufferP11AVAudioTimeE + 766 5 AVFAudio 0x00007ff84625f703 -[AVAudioNode installTapOnBus:bufferSize:format:block:] + 1456 6 muse 0x000000010a313dd0 $s4muse9ShazamIOSC6record33_35CC2309E4CA22278DC49D01D96C376ALLyyF + 496 7 muse 0x000000010a313210 $s4muse9ShazamIOSC5startyyF + 288 8 muse 0x000000010a312d03 $s4muse9ShazamIOSC7exposed_6rejectyyypSgXE_ySSSg_AGs5Error_pSgtXEtF + 83 9 muse 0x000000010a312e47 $s4muse9ShazamIOSC7exposed_6rejectyyypSgXE_ySSSg_AGs5Error_pSgtXEtFTo + 103 10 CoreFoundation 0x00007ff8004a238c __invoking___ + 140 11 CoreFoundation 0x00007ff80049f6b3 -[NSInvocation invoke] + 302 12 CoreFoundation 0x00007ff80049f923 -[NSInvocation invokeWithTarget:] + 70 13 muse 0x000000010a9210ef -[RCTModuleMethod invokeWithBridge:module:arguments:] + 2495 14 muse 0x000000010a925cb4 _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicEiN12_GLOBAL__N_117SchedulingContextE + 2036 15 muse 0x000000010a925305 _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 133 16 muse 0x000000010a925279 ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 25 17 libdispatch.dylib 0x000000010e577747 _dispatch_call_block_and_release + 12 18 libdispatch.dylib 0x000000010e5789f7 _dispatch_client_callout + 8 19 libdispatch.dylib 0x000000010e5808c9 _dispatch_lane_serial_drain + 1127 20 libdispatch.dylib 0x000000010e581665 _dispatch_lane_invoke + 441 21 libdispatch.dylib 0x000000010e58e76e _dispatch_root_queue_drain_deferred_wlh + 318 22 libdispatch.dylib 0x000000010e58db69 _dispatch_workloop_worker_thread + 590 23 libsystem_pthread.dylib 0x000000010da67b84 _pthread_wqthread + 327 24 libsystem_pthread.dylib 0x000000010da66acf start_wqthread + 15 ) RCTFatal facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&, int, (anonymous namespace)::SchedulingContext) facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_0::operator()() const invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int) This is my swift file, error happens in the record function. import Foundation import ShazamKit @objc(ShazamIOS) class ShazamIOS : NSObject { @Published var matching: Bool = false @Published var mediaItem: SHMatchedMediaItem? @Published var error: Error? { didSet { hasError = error != nil } } @Published var hasError: Bool = false private lazy var audioSession: AVAudioSession = .sharedInstance() private lazy var session: SHSession = .init() private lazy var audioEngine: AVAudioEngine = .init() private lazy var inputNode = self.audioEngine.inputNode private lazy var bus: AVAudioNodeBus = 0 override init() { super.init() session.delegate = self } @objc func exposed(_ resolve:RCTPromiseResolveBlock, reject:RCTPromiseRejectBlock){ start() resolve("ios code executed") } func start() { switch audioSession.recordPermission { case .granted: self.record() case .denied: DispatchQueue.main.async { self.error = ShazamError.recordDenied } case .undetermined: audioSession.requestRecordPermission { granted in DispatchQueue.main.async { if granted { self.record() } else { self.error = ShazamError.recordDenied } } } @unknown default: DispatchQueue.main.async { self.error = ShazamError.unknown } } } private func record() { do { self.matching = true let format = self.inputNode.outputFormat(forBus: bus) self.inputNode.installTap(onBus: bus, bufferSize: 8192, format: format) { [weak self] (buffer, time) in self?.session.matchStreamingBuffer(buffer, at: time) } self.audioEngine.prepare() try self.audioEngine.start() } catch { self.error = error } } func stop() { self.audioEngine.stop() self.inputNode.removeTap(onBus: bus) self.matching = false } @objc static func requiresMainQueueSetup() -> Bool { return true; } } extension ShazamIOS: SHSessionDelegate { func session(_ session: SHSession, didFind match: SHMatch) { DispatchQueue.main.async { [self] in if let mediaItem = match.mediaItems.first { self.mediaItem = mediaItem self.stop() } } } func session(_ session: SHSession, didNotFindMatchFor signature: SHSignature, error: Error?) { DispatchQueue.main.async {[self] in self.error = error self.stop() } } } objC file #import <Foundation/Foundation.h> #import "React/RCTBridgeModule.h" @interface RCT_EXTERN_MODULE(ShazamIOS, NSObject); RCT_EXTERN_METHOD(exposed:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) @end how I consume the exposed function in RN. const {ShazamModule, ShazamIOS} = NativeModules; const onPressIOSButton = () => { ShazamIOS.exposed().then(result => console.log(result)).catch(e => console.log(e.message, e.code)); };
Posted
by
Post not yet marked as solved
0 Replies
9 Views
I'm trying to integrate the option to the player to save their data in the cloud, I integrate the CloudKit, change some stuff to make it work and build in Xcode to my phone. But when I try to integrate the CloudSave, 50 unnasigned symbols jump,like this one: Undefined symbol: _CKContainer_Default I managed to fix them by updating the recommended settings for Xcode. But then 4 more errors appear: Sandbox: il2cpp(12538) deny(1) file-read-data /Users/Username/Test Apple Kit 2022/Build/Il2CppOutputProject/IL2CPP/build/deploy_arm64/il2cpp So, don't let me build and I've looked everywhere but no one seems to had this same error
Posted
by
Post not yet marked as solved
0 Replies
8 Views
Hello, I developed a parental control app, this app has two clients one for the child and one for the parent. I could implement screen time to retrieve the child's screen time data and show it to the child by ActivityReportExtension but I didn't find any document to implement this feature on the parent device. I mean like the Apple screen time, parents can see their children's screen time (in the settings>screen time) I need to implement ActivityReportExtension in the parent client of my app that shows the child's screen time. is it possible or this API is only restricted to Apple itself?
Posted
by
Post not yet marked as solved
0 Replies
10 Views
[Q] What type of profiles are officially reported by the ES_EVENT_TYPE_NOTIFY_PROFILE_ADD and ES_EVENT_TYPE_NOTIFY_PROFILE_REMOVE events? It looks like to be only Configuration Profiles. Which would make sense as the properties of es_profile_t match closely the payload keys of a configuration profile file. Also only addition and removal of configuration profiles are reported when playing with configuration profiles and provisioning profiles.
Post not yet marked as solved
0 Replies
12 Views
Hi, We are currently working on a baby monitor app that utilizes NEAppPushProvider to deliver push notifications since we can't rely on an internet connection. Similar to the example, we are adding and removing the matchSSIDs of NEAppPushManager to start and stop the extension for activating and deactivating notifications during monitoring. It works as expected. However, we now want to detect if the device loses the Wi-Fi connection, and I'm struggling to determine how to distinguish between intentional changes to matchSSIDs and an actual loss of connection. Is there another method to halt the extension? Thanks in advance!
Posted
by
Post not yet marked as solved
1 Replies
19 Views
Trying to install a mobile provision on my iPad from Windows 10 using iTunes. The error message is as above. I've checked and rechecked the mobile provision. The UUID of my device is contained within my mobile provision. I also tried on MacOS with the same error code. I'm not sure what else to try. I tried making a new mobile provision, I tried readding my device (which isn't possible since it's just the same UUID as an already existing device. I updated iTunes to the latest verison, I've upgraded my iPad OS to the latest version (17.5)
Posted
by
Post not yet marked as solved
0 Replies
14 Views
We have an app, under our company IOS account which is a white label software our company started with. We own the app store, they own the back end. We have spent the last 12 months developing our own IP, we are now ready to push it to market. Long story short its a rideshare platform, we do about 1500 rides a day and have roughly 300 drivers active on the system. The driver app is fine, we can created this IOS account separately to host that, but we obviously need to push the update of our client app. I realize without our current developer knowing or playing ball we cant "force the update" and thats a hurdle we are okay with. HOWEVER the 5-10 potential days that we have to submit the final build as an update scares the crap out of me, if our developer takes the news poorly they could crash the back end and 300 drivers are out of work and thousands of clients are without rides to work, doctors, school etc (we operate in towns and cities with no other options) If we set our old developer permissions to only see "old app", we then upload "new app" can we somehow seek approvals, do configurations and then still use the new app as an update over the old app rather than as new software? This would simply help eliminate 90% of the time where the old developer could get upset and disrupt or crash the business. Right now the plan is to lock out the old developer, send them an honest, polite email explaining our choice, as well as a bit of a financial bribe (which to be frank we cant afford so it hurts) but lets say they have sometimes been stubborn and not fun to work with, so I am not confident. Im hoping that is not our only option to go through this one of situation. Key notes: New developer says they need 3-5 days after submitted to the app store for configuration and testing (so far testing is on their apple account/testflgiht) Typically beyond that apple could be another 2-7 days for approval and update Even at this point we have no way to force the update, because we dont have access to the previous back end 300 peoples jobs, 1500 peoples daily transportation depend on us not being down for an extended period of time, which to be blunt our current developer may not care about when considering making the transition easy.
Posted
by
Post not yet marked as solved
0 Replies
17 Views
Hello, our game Nerd Survivors has been identified as spam. The game is based on an original IP and the only games that should share any resemblance with it are from our company. Today we got notified the rejection due to the violation of Guideline 4.3 but there is no reference to the other application or even a contact to the other developer. We do use Unity as our game engine, so some parts of the code might be shared across different games, but i cannot find any other justification of the failure. "Guideline 4.3(a) - Design - Spam We noticed your app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences. Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps."
Posted
by
Post not yet marked as solved
0 Replies
31 Views
Hello, I try to create a product in app purchase with the API calls. I meet a problem during this creation for some products, see the error message : Erreur lors de l'appel d'API Apple : { "errors" : [ { "id" : "89876075-5f2a-44ea-a910-fcbcf95ea641", "status" : "409", "code" : "ENTITY_ERROR.ATTRIBUTE.INVALID.DUPLICATE", "title" : "The provided entity includes an attribute with a value that has already been used", "detail" : "This product ID has already been used", "source" : { "pointer" : "/data/attributes/productId" } } ] } It seems that the productId has already created but when we check in the app we cannot find its. Is it possible that if the productId has already created and deleted after ? And now we cannot created again with the samed productId ? Thank you in advance to help us. Best Regards.
Posted
by
Post not yet marked as solved
0 Replies
16 Views
When user is trying to remove login using "Stop Using Apple Id", it should remove the app and login but in my case, nothing is happening. Its not removing either login or app from the logged in list. App is in Testflight for testing. Ideally, it should remove the login and app from the list as per the following article. https://support.apple.com/en-in/102571 Read few article, which says testflight could be buggy. Anyone knows how it could be fixed?
Posted
by
Post not yet marked as solved
0 Replies
27 Views
I've come to the conclusion that TPP and UDP are just utterly wonky together. This is my relevant code: let host = NWHostEndpoint(hostname: "", port: "0") let udpRule = NENetworkRule(destinationNetwork: host, prefix: 0, protocol: .UDP) let tcpRule = NENetworkRule(destinationNetwork: host, prefix: 0, protocol: .TCP) let settings = NETransparentProxyNetworkSettings(tunnelRemoteAddress:"127.0.0.1") /* * These three lines are a hack and experiment */ let quicHost_1 = NWHostEndpoint(hostname: "", port: "80") let quicHost_2 = NWHostEndpoint(hostname: "", port: "443") let quicRule_1 = NENetworkRule(destinationNetwork: quicHost_1, prefix: 0, protocol: .UDP) let quicRule_2 = NENetworkRule(destinationNetwork: quicHost_2, prefix: 0, protocol: .UDP) settings.includedNetworkRules = [quicRule_1, quicRule_2, tcpRule] settings.excludedNetworkRules = nil Directing UDP through a TPP breaks FaceTime, AirDrop, and a bunch of VPNs Despite the documentation implication that you can't do DNS control with a TPP ("A port string of 53 is not allowed. Use Destination Domain-based rules to match DNS traffic."), if I opt into UDP (settings.includedNetworkRules = [udpRule, tcpRule]), then I see traffic to port 53, and can do things with it. If I use a wild-card network rule (the code above), then the TPP does not seem to get any UDP flows at all. If I use a wild-card exclusion rule (using NWHostEndpoint(hostname: "", port: "53")), then everything starts breaking. If I use NENetworkRule(destinationHost: host, protocol: .UDP), it complains because the prefix must be 32 or less. I've filed feedbacks, and engaged with eskimo (really, thank you), and looked at previous threads, so mostly this is begging: has anyone gotten this to work as expected? I no longer think I'm being obviously wrong with my code, but I would be super delighted to find out I've missed some tricks or angles.
Posted
by
Post not yet marked as solved
0 Replies
23 Views
I have a mind mapping app that has been running well on Android for a few years now. I have been trying to publish it for iOS and MacOS for some time now. On iOS (as an app) and MacOS (in the browser for testing) I have a problem with the export. The app is a project in Angular, Cordova, Typescript. The problem only occurs in the Safari browser, which is also used in the Cordova version for iOS. I was able to test it on my Mac and an iPhone. The error does not occur on the Mac in Chrome. The Problem If I export a mind map that contains images as an image (.png), the images of the nodes are not displayed in the exports. Everything else in the map is exported correctly, only the images are missing. Only when I export the map three times are the images present in the export. If I add a new image and export it again, the image is only visible in the exported image after 3 exports. It is interesting that the export as SVG, which I also offer, contains the images of the nodes. So the SVG string that I create has all the necessary information. The base The mind map consists of various things. HTML and CSS for the frames, lines etc... The images of the nodes are saved as Base64 and each node is in a Foreign Object. Example of the SVG export Mindmap with 2 nodes and the Base64 characters of the node images have been replaced with ***. __ SVG-String.txt Attached because otherwise too long. This is how I export the .png file. I can view all this content in the map view of the app. When exporting to an image, I take this information, turn it into an SVG, have the browser draw it on the canvas and then output it as a graphic. Something must be going wrong at this point. private exportAsImage( mindMap: MindMap, scale?: number, type: string = "png" ): Observable<any> { return new Observable(o => { this.progress.start(this.progress.PROGRESS_MAJOR); this.mmpMap.export(this.mapVizService.getExportClassList(mindMap), (svgStr: string) => { this.exportService.imageFromSVGString(svgStr, type, scale).pipe( switchMap(img => of( Utils.dataURItoFileObject( img.dataUri, `${Utils.sanitizeFilename(mindMap.title)}.${type}` ) ) ), switchMap((fileObject: FileObject) => this.mapsService.saveAsTemp(fileObject, true, { message: this.translate.instant("mdz.mindmap.saveas.message"), // subject: this.translate.instant("mdz.mindmap.saveas.subject"), subject: fileObject.name, url: `www.myURL.com` }, true) ) ).subscribe(() => { this.progress.stop(this.progress.PROGRESS_MAJOR); o.next(); o.complete(); }, err => { this.progress.stop(this.progress.PROGRESS_MAJOR); o.error(err); o.complete(); }); }) }); } What I have already tried. I have already tested various things such as time delays etc..., none of which change anything. It seems to me that it's a combination of the caching and the order or speed at which the images are loaded. Only the speed can't be, because built-in delays don't change anything. My guess But it must have something to do with Safari because on the Mac in Chrome it runs without problems... Maybe it can't handle so many base64 images or it exports faster than it renders? Whereby the SVG export contains all the information and when I open the SVG, all the content is also displayed in the browser in seconds. So something must happen when painting on the canvas and outputting as an image. It doesn't really make sense, I'm really at the end of my ideas. What can you do? I really hope you can help me. A mind mapping app without image export makes little sense. And since the app otherwise works great, I'm really getting desperate. :( Thanks a lot! Rob
Posted
by
Post not yet marked as solved
0 Replies
15 Views
#0 Thread NSInternalInconsistencyException UITableView dataSource is not set 0 CoreFoundation ___exceptionPreprocess + 164 20 UIKitCore ___swift_destroy_boxed_opaque_existential_1Tm + 12004 There is very little information about the call to the stack. Some of our iOS App users are suddenly experiencing a ** "UITableView dataSource is not set"** crash. I don't think it's a coincidence that these users are all 17.4.1 users.
Posted
by
Post not yet marked as solved
0 Replies
16 Views
I am going through the list of ways to check if my app is given Full Disk Access (FDA) or not. Out of which only one method is supported by apple. @note The only supported way to check if an application is properly TCC authorized for Full Disk Access * is to call es_new_client and handling ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED in a way appropriate * to your application. I have implemented this method using EndpointSecurity and calling it from a root process as required. But when I disable System Integrity Protection (SIP) and call it, it succeeds without FDA. No error is thrown. Then I tested, in our app both EndpointSecurity and protected folder access (like Documents folder) functionalities are working fine even without FDA when SIP is disabled. Now my questions are When SIP disabled, does every app has FDA access by default?. Is there any use case that still needs FDA access when SIP is off?. Is there any way to check for FDA permission given or not whenever SIP is off, since above method won't work in that case?.
Posted
by
Post not yet marked as solved
0 Replies
12 Views
Hello, I am using CAMetalDisplayLink to render my metal layer and i am trying to calculate timestamp for next render to compare with current timestamp. I did notice that timestamp from display link Update is not like Date timestamp. Looks like it depends on some kind of phone boot or another kernel process start. I did try func bootTime() -> TimeInterval? { var tv = timeval() var tvSize = MemoryLayout<timeval>.size let err = sysctlbyname("kern.boottime", &tv, &tvSize, nil, 0); guard err == 0, tvSize == MemoryLayout<timeval>.size else { return nil } return Double(tv.tv_sec) + Double(tv.tv_usec) / 1_000_000.0 } And i got calc 1715680889.6883893 real 1715680878.01257 It's close but still 10 seconds different so probably it's not kern.boottime but something similar. Anybody knows what should i use to get correct timestamp?
Posted
by
lzk

TestFlight Public Links

Get Started

Pinned Posts

Categories

See all