Check if App is in Review or Live on App Store programatically?
I want to change app domain if app is in review to avoid some breaking functionalities,is there any way i can know it?
1 answer
-
answered 2020-11-25 07:24
Jeroen
What you could do -—if your app is set to "Manual Release"—- is to make your change once you click Release this app (or when you see the app has been approved).
Another, more automated way; you might have a look at the App Store Connect API, that's your best bet. If you for example take a look at 'Read App Information', there is a lot of information available there.
It's up to you to check where your information is listed (and how to get it). i'm guessing
fields[appStoreVersions]
might be a good place to start, specifically the fieldsappStoreState
,appStoreReviewDetail
, etc.On a side note: if there are breaking functionalities in your app, you should not only avoid this from reaching the Apple Review Team, but also your users in general.
Also, you might risk being removed from the Apple Developer Program with these practices. From the Review Guidelines:
2.3.1 Don’t include any hidden, dormant, or undocumented features in your app; your app’s functionality should be clear to end users and App Review. All new features, functionality, and product changes must be described with specificity in the Notes for Review section of App Store Connect (generic descriptions will be rejected) and accessible for review. Similarly, you should not market your app on the App Store or offline as including content or services that it does not actually offer (e.g. iOS-based virus and malware scanners). Egregious or repeated behavior is grounds for removal from the Developer Program. We work hard to make the App Store a trustworthy ecosystem and expect our app developers to follow suit; if you’re dishonest, we don’t want to do business with you.
See also questions close to this topic
-
CALayer: create broken ellipse with round edges?
Here is my code to add an elliptic
CALayer
to aUIView
:let circleLayer = CAShapeLayer() circleLayer.path = UIBezierPath(arcCenter: CGPoint(x: frame.size.width / 2, y: frame.size.height / 2), radius: frame.size.width / 2, startAngle: -.pi / 2, endAngle: .pi / 6, clockwise: false).cgPath circleLayer.lineWidth = 8.0 circleLayer.cornerRadius = 4.0 circleLayer.strokeColor = UIColor.black.cgColor circleLayer.fillColor = UIColor.clear.cgColor circleLayer.lineJoin = .round squareView.layer.backgroundColor = UIColor.clear.cgColor squareView.layer.addSublayer(circleLayer)
The result I get :
However, I would like to get this result instead:
Could you help me getting this?
Thank you for your help!
-
Simulator not showing in Spotlight search - Big Sur
Hopefully a straight forward one here, but my Simulator app (Xcode IOS Simulator) is not being found through Spotlight search on Mac. I recently upgraded to Big Sur and I am currently using 11.1.
Just wondering if anyone is having the same problem. I am able to access Simulator through other methods but it just doesn't seem to be indexed in the Spotlight search. Cheers
-
Flutter app is quitting on physical iOS device
Recently upgraded to flutter version 1.22.5 & testing my flutter app on my IOS device (14.3).
The app launched perfectly on the IOS simulator but not on my physical device.
Whenever im launching the app I get :
Error connecting to the service protocol: failed to connect to http://127.0.0.1:59046/wJX8XWG3jDg=/
I implemented :
The solution of unchecking "Disable unless needed" in the System Preferences as suggested by https://github.com/flutter/flutter/issues/46705#issuecomment-566813481
I tried to disable my firewall & to restart my device
I tried to unplug-plug my device cable again and to turn on-off the wifi (its private) as suggested by some
I deleted derived data from Xcode and cleaned the build folder
None of these solutions worked.
This is my flutter doctor -v response:
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.6 19G2021 darwin-x64, locale en-LB) • Flutter version 1.22.5 at /Users/mac/FlutterSDK/flutter • Framework revision 7891006299 (6 weeks ago), 2020-12-10 11:54:40 -0800 • Engine revision ae90085a84 • Dart version 2.10.4 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2) • Android SDK at /Users/mac/Library/Android/sdk • Platform android-30, build-tools 30.0.2 • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 12.1) • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.1, Build version 12A7403 • CocoaPods version 1.10.0 [✓] Android Studio (version 4.1) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin installed • Dart plugin version 201.9317 • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495) [!] VS Code (version 1.51.1) • VS Code at /Applications/Visual Studio Code.app/Contents ✗ Flutter extension not installed; install from https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [✓] Connected device (2 available) • iPhone (mobile) • 6c0132c487f1e05eadb519904911b8033debc9ba • ios • iOS 14.3 • iPhone 11 Pro Max (mobile) • B01DE645-7151-49F5-A445-21A9C0073E9D • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-1 (simulator) ! Doctor found issues in 1 category.
and this what
flutter run --verbose
ends with:[ ] Starting debug of 6c0132c487f1e05eadb519904911b8033debc9ba (D221AP, iPhone X, iphoneos, arm64) a.k.a. 'iPhone' connected through USB... [ +163 ms] [ 0%] Looking up developer disk image [ +13 ms] [ 95%] Developer disk image mounted successfully [ +985 ms] [100%] Connecting to remote debug server [ ] ------------------------- [ +615 ms] (lldb) command source -s 0 '/tmp/F0A6301B-AE37-40D0-9169-6B4B25988D2C/fruitstrap-lldb-prep-cmds-6c0132c487f1e05eadb519904911b8033debc9ba' [ ] Executing commands in '/tmp/F0A6301B-AE37-40D0-9169-6B4B25988D2C/fruitstrap-lldb-prep-cmds-6c0132c487f1e05eadb519904911b8033debc9ba'. [ ] (lldb) platform select remote-ios --sysroot '/Users/mac/Library/Developer/Xcode/iOS DeviceSupport/14.3 (18C66)/Symbols' [ ] Platform: remote-ios [ ] Connected: no [ ] SDK Path: "/Users/mac/Library/Developer/Xcode/iOS DeviceSupport/14.3 (18C66)/Symbols" [ ] (lldb) target create "/Users/mac/Desktop/AuxiPI/PI_Flutter_App/build/ios/iphoneos/Runner.app" [+2077 ms] Current executable set to '/Users/mac/Desktop/AuxiPI/PI_Flutter_App/build/ios/iphoneos/Runner.app' (arm64). [ ] (lldb) script fruitstrap_device_app="/private/var/containers/Bundle/Application/41BF75B2-FAB0-472E-B50A-B7AC6A77493A/Runner.app" [ +9 ms] (lldb) script fruitstrap_connect_url="connect://127.0.0.1:49950" [ +3 ms] (lldb) script fruitstrap_output_path="" [ +1 ms] (lldb) script fruitstrap_error_path="" [ +3 ms] (lldb) target modules search-paths add /usr "/Users/mac/Library/Developer/Xcode/iOS DeviceSupport/14.3 (18C66)/Symbols/usr" /System "/Users/mac/Library/Developer/Xcode/iOS DeviceSupport/14.3 (18C66)/Symbols/System" "/private/var/containers/Bundle/Application/41BF75B2-FAB0-472E-B50A-B7AC6A77493A" "/Users/mac/Desktop/AuxiPI/PI_Flutter_App/build/ios/iphoneos" "/var/containers/Bundle/Application/41BF75B2-FAB0-472E-B50A-B7AC6A77493A" "/Users/mac/Desktop/AuxiPI/PI_Flutter_App/build/ios/iphoneos" /Developer "/Users/mac/Library/Developer/Xcode/iOS DeviceSupport/14.3 (18C66)/Symbols/Developer" [ +79 ms] (lldb) command script import "/tmp/F0A6301B-AE37-40D0-9169-6B4B25988D2C/fruitstrap_6c0132c487f1e05eadb519904911b8033debc9ba.py" [ +6 ms] (lldb) command script add -f fruitstrap_6c0132c487f1e05eadb519904911b8033debc9ba.connect_command connect [ ] (lldb) command script add -s asynchronous -f fruitstrap_6c0132c487f1e05eadb519904911b8033debc9ba.run_command run [ ] (lldb) command script add -s asynchronous -f fruitstrap_6c0132c487f1e05eadb519904911b8033debc9ba.autoexit_command autoexit [ ] (lldb) command script add -s asynchronous -f fruitstrap_6c0132c487f1e05eadb519904911b8033debc9ba.safequit_command safequit [ ] (lldb) connect [ +47 ms] (lldb) run [ +337 ms] success [ ] (lldb) safequit [ +132 ms] Process 978 detached [ +19 ms] Application launched on the device. Waiting for observatory port. [ +25 ms] Attempting to forward device port 57290 to host port 49957 [ +1 ms] executing: /Users/mac/FlutterSDK/flutter/bin/cache/artifacts/usbmuxd/iproxy 49957:57290 --udid 6c0132c487f1e05eadb519904911b8033debc9ba [+1011 ms] Forwarded port ForwardedPort HOST:49957 to DEVICE:57290 [+2224 ms] HttpException: , uri = http://localhost:49957/ws [+2012 ms] HttpException: , uri = http://localhost:49957/ws [+2006 ms] HttpException: , uri = http://localhost:49957/ws [+2014 ms] HttpException: , uri = http://localhost:49957/ws [+2008 ms] Failed to connect directly, falling back to mDNS [ +11 ms] Checking for advertised Dart observatories... [+5039 ms] Checking for available port on com.auxi.ai._dartobservatory._tcp.local [ +2 ms] Checking for authentication code for com.auxi.ai._dartobservatory._tcp.local [ +4 ms] Attempting to forward device port 55983 to host port 49989 [ ] executing: /Users/mac/FlutterSDK/flutter/bin/cache/artifacts/usbmuxd/iproxy 49989:55983 --udid 6c0132c487f1e05eadb519904911b8033debc9ba [+1005 ms] Forwarded port ForwardedPort HOST:49989 to DEVICE:55983 [ +2 ms] Installing and launching... (completed in 45.2s) [ +1 ms] Caching compiled dill [ +239 ms] Connecting to service protocol: http://127.0.0.1:49989/wJX8XWG3jDg=/ [ +1 ms] DDS is currently disabled due to https://github.com/flutter/flutter/issues/62507 [ +12 ms] Fail to connect to service protocol: http://127.0.0.1:49989/wJX8XWG3jDg=/: HttpException: , uri = http://127.0.0.1:49989/wJX8XWG3jDg=/ws [ +1 ms] Error connecting to the service protocol: failed to connect to http://127.0.0.1:49989/wJX8XWG3jDg=/ [ +4 ms] "flutter run" took 295,502ms. [ +6 ms] #0 throwToolExit (package:flutter_tools/src/base/common.dart:14:3) #1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:607:7) <asynchronous suspension> #2 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:977:18) #3 _rootRunUnary (dart:async/zone.dart:1198:47) #4 _CustomZone.runUnary (dart:async/zone.dart:1100:19) #5 _FutureListener.handleValue (dart:async/future_impl.dart:143:18) #6 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45) #7 Future._propagateToListeners (dart:async/future_impl.dart:725:32) #8 Future._completeWithValue (dart:async/future_impl.dart:529:5) #9 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15) #10 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13) #11 RunCommand.usageValues (package:flutter_tools/src/commands/run.dart) #12 _rootRunUnary (dart:async/zone.dart:1198:47) #13 _CustomZone.runUnary (dart:async/zone.dart:1100:19) #14 _FutureListener.handleValue (dart:async/future_impl.dart:143:18) #15 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45) #16 Future._propagateToListeners (dart:async/future_impl.dart:725:32) #17 Future._completeWithValue (dart:async/future_impl.dart:529:5) #18 Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7) #19 _rootRun (dart:async/zone.dart:1190:13) #20 _CustomZone.run (dart:async/zone.dart:1093:19) #21 _CustomZone.runGuarded (dart:async/zone.dart:997:7) #22 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23) #23 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) #24 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) #25 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13) #26 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5) [ +306 ms] ensureAnalyticsSent: 253ms [ +2 ms] Running shutdown hooks [ +1 ms] Shutdown hook priority 4 [ +8 ms] Shutdown hooks complete [ ] exiting with code 2
-
ARKit – Adding box to anchor?
I wanted to create a simple object (box) and display it at a position, but everything I can find is about using the
renderer()
method.Is there a simpler way to just use an anchor? And just add the anchor to my
SCNBox
object?let rect = SCNBox(width: 10.0, height: 10.0, length: 10.0, chamferRadius: 0) rect.firstMaterial?.diffuse.contents = UIImage(named: "test.png") let anchor = ARWorldAnchor( /* ... created with 4 columns */ ) // here how to add the rect object to the anchor ? session.add(anchor: anchor)
-
SwiftUI macOS view starts lagging when displaying multiple charts
I am displaying multiple charts in a view.
The charts are just paths in a frame and data comes from an csv file (not bigger than 400mb).
Those charts are displayed inside of a LazyVGrid and the whole view is inside a scroll view.Loading the view takes about 10 - 20 seconds, but when I start scrolling through the charts, it becomes very laggy.
To solve this I tried to attach .drawingGroup() to the chart views, but there where nearly no performance change.the code looks something like this:
import SwiftUI struct GroupView: View { @State var chartData = [CGFloat]() let columns = [ GridItem(.adaptive(minimum: 720)) ] var body: some View { VStack{ ScrollView { LazyVGrid(columns: columns){ CSVChart(data: chartData, chartName: String, x-yaxisName: [String](), lineColor: CGColor) .frame(width: 700, height: 300, alignment: .center) .drawingGroup() // there is as well no performance change when .drawingGroup() is inside the chart view } } }.onAppear{ chartData = // get csv data logic } } }
I know that the csv file is quite large, and that this will cause the slow behaviour, but I thought that other apps aren't that laggy when working with large files so this might be fixable.
It would be great if someone could help me with this problem. -
XCFramework's .swiftinterface breaks compile when imported with Swift Package Manager
Created a Swift Package (// swift-tools-version:5.3.0) for an XCFramework. The package has dependencies on 4 other Swift packages (2 of them using swift-tools-version < 5 and 2 are >= 5.0). It builds and runs in the project's Demo app target. The generated XCFramework copied into a Swift Package repo and hosted on GitHub.
I then create a new project and the Swift Package can be successfully imported into it thru SPM. The dependencies are also imported.
When building the new project, my framework fails to compile due to an error in my framework's generated .swiftinterface file, 'XMLIndexerDeserializable' is not a member type of 'SWXMLHash':
Can anyone shed some light on this failure? Not sure if it an issue with my packaged framework, a config issue with the new project that imports it, or an error due to the difference in the Swift tools version of the dependencies.
Some Background Details On My Config and Process
My Swift Package config:
// swift-tools-version:5.3.0 import PackageDescription let package = Package( name: "MyPackage", platforms: [ .iOS(.v9) ], products: [ .library( name: "MyPackage", targets: ["MyPackage"]) ], dependencies: [ .package(name: "CryptoSwift", url: "https://github.com/krzyzanowskim/CryptoSwift", .upToNextMinor(from: "1.2.0")), .package(name: "Alamofire", url: "https://github.com/Alamofire/Alamofire", .upToNextMinor(from: "4.8.2")), .package(name: "AEXML", url: "https://github.com/tadija/AEXML", .upToNextMinor(from: "4.4.0")), .package(name: "SWXMLHash", url: "https://github.com/drmohundro/SWXMLHash", .upToNextMinor(from: "4.9.0")) ], targets: [ .binaryTarget( name: "MyPackage", path: "MyPackage.xcframework") ] )
Watched the WWDC 2019 and 2020 sessions on building XCFrameworks/binaries for SPM, along with other various tutorials. Used the following sh script to build the XCFramework that would be used for my hosted Swift Package:
xcodebuild archive \ -scheme MyPackage \ -sdk iphoneos \ -archivePath "./XCFrameworkArchives/ios_devices.xcarchive" \ BUILD_LIBRARY_FOR_DISTRIBUTION=YES \ SKIP_INSTALL=NO xcodebuild archive \ -scheme MyPackage \ -sdk iphonesimulator \ -archivePath "./XCFrameworkArchives/ios_simulators.xcarchive" \ BUILD_LIBRARY_FOR_DISTRIBUTION=YES \ SKIP_INSTALL=NO xcodebuild -create-xcframework \ -framework ./XCFrameworkArchives/ios_devices.xcarchive/Products/Library/Frameworks/MyPackage.framework \ -framework ./XCFrameworkArchives/ios_simulators.xcarchive/Products/Library/Frameworks/MyPackage.framework \ -output ./XCFrameworkArchives/MyPackage.xcframework
The XCFramework is copied into my Swift Package repo, pushed up to GitHub and tagged.
I then created a new project, used SPM to add a dependency and pulled in MyPackage along with it's dependencies.
Add code to import MyPackage and make use of it. Attempt to build the project throws the compile error that lead me to ask for help. If you can help and need more info, happy clarify and provide more info if I can.