Skip to content
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

[build] iOS build #34

Closed
lovegaoshi opened this issue May 19, 2023 · 10 comments
Closed

[build] iOS build #34

lovegaoshi opened this issue May 19, 2023 · 10 comments
Labels
documentation Improvements or additions to documentation

Comments

@lovegaoshi
Copy link
Owner

lovegaoshi commented May 19, 2023

  1. react-native-video v6.x alpha fails. v5.3 seems ok
  2. replace all IPHONEOS_DEPLOYMENT_TARGET = XX.X thats less than 12.4 to 12.4
  3. need to figure out ios notch vs layout (LOL)

ipa files are now added to releases. no clue if it works though.

@lovegaoshi lovegaoshi added the documentation Improvements or additions to documentation label May 19, 2023
@lovegaoshi lovegaoshi pinned this issue May 22, 2023
@lovegaoshi
Copy link
Owner Author

lovegaoshi commented May 23, 2023

ios react-navigation.drawer behavior is different than android. the drawer does not overlay on top of screen, but slides the entire screen when drawn. this makes the AIMP like UI very awkward on ios.
nvm im stupid for not reading the doc. see https://reactnavigation.org/docs/drawer-navigator/#drawertype. need to set drawertype to top.

issues specific for iOS buiids:

  • left drawer may need to be overlayed instead of scroll.
  • left drawer does not detect top notch.
  • bottom (playercontrol) clashes with home button? or whatever its called
  • random freezes with emulator?
  • my custom menu label in stacks.header looks very out of place and ugly
  • activityIndicator looks weird

good news is functionality wise it seems to work at the most basic level.
Screenshot 2023-06-14 at 4 46 58 PM

@lovegaoshi
Copy link
Owner Author

lovegaoshi commented Jun 4, 2023

android build:

如果有不能编译的问题(比如react-native-blob-helper卡cmake18 ninja dirty),这一定不是代码的问题,而是你的编译环境出了问题。
安卓release编译需要签名文件。请参考react nativeandroid/gradle.properties内的

MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****

是故意缺失的,您手动编译时需要加入。新建签名文件请参考google,并将文件名和alias设置为

MYAPP_UPLOAD_STORE_FILE=noxupload.jks
MYAPP_UPLOAD_KEY_ALIAS=noxupload

release buiids in android studio 22 (Flamingo) may have errors syncing to dropbox (immediate fail) and uploading to personal cloud (406 unprocessable entity). This may be fixed by running android/gradlew assembleRelease or bundleRelease? The github action's assembled or bundled release does not have this problem.

@lovegaoshi
Copy link
Owner Author

expo migration:

RN 0.71 + expo 49 might trigger facebook/react-native#35664 (comment)

which we have to replace
#import <ReactCommon/LongLivedObject.h>
to
#import <react/bridging/LongLivedObject.h>
in
node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModule.mm

and
#include <ReactCommon/LongLivedObject.h>
to
#include <react/bridging/LongLivedObject.h>
in

ios/Pods/Headers/Public/ReactCommon/ReactCommon/TurboModuleBinding.h
ios/Pods/Headers/Private/ReactCommon/ReactCommon/TurboModuleBinding.h
node_modules/react-native/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp

and maybe
node_modules/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.h?

@lovegaoshi
Copy link
Owner Author

project.pbxproj 爆炸了,这玩意儿怎么来的

/* Begin PBXCopyFilesBuildPhase section */
		AA9F058C2AB48946005FA2C6 /* Embed Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				AA9F058F2AB489B1005FA2C6 /* libavutil.xcframework in Embed Frameworks */,
				AA9F058B2AB48946005FA2C6 /* libavfilter.xcframework in Embed Frameworks */,
			);
			name = "Embed Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

@lovegaoshi
Copy link
Owner Author

为什么ios的Flashlist in playlistlist.tsx 最后一个entry在下面出界了?

@lovegaoshi
Copy link
Owner Author

要把所有screen的自定义headers在ios里删掉,用原生;
安卓左上的回退按钮太小,就得自定义 headers

@lovegaoshi
Copy link
Owner Author

with SafeAreaView the notch area doesnt have the black/white mask covering it and looks mighty weird; either we not use the masking at all or move masking up, wherever it is

@lovegaoshi
Copy link
Owner Author

ios searchbar multiline:
callstack/react-native-paper#2398

@lovegaoshi
Copy link
Owner Author

debugging future ios playback problems:
if safari doesnt play it, ios probably wont either.
pay attention to container? eg. ogg is not supported
for yt urls, resolve only mp4a ones
why is duration doubled though?

@lovegaoshi
Copy link
Owner Author

Screenshot 2023-09-21 at 12 17 59 PM

@lovegaoshi lovegaoshi unpinned this issue Nov 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant