Skip to content

feat(app):添加移动端对iOS及iPadOS的支持 - #1908

Open
LouisLu010 wants to merge 105 commits into
ClassIsland:develop/v2/misha-alphafrom
LouisLu010:develop/v2/ios
Open

LouisLu010 wants to merge 105 commits into
ClassIsland:develop/v2/misha-alphafrom
LouisLu010:develop/v2/ios

Conversation

@LouisLu010

Copy link
Copy Markdown

这个 Pull Request 做了什么?

基于/develop/v2/android分支,移植了iOS版本,上下课时有系统通知,代码通过 ClassIsland.Platforms.Abstraction 提供的纯 C# API 调用实时活动与灵动岛。
同时,在Github Action中添加“Build iOS”,用来构建未签名的ipa,实际安装仍需用户自行签名

检查清单

  • 我已经在本地测试过这个 PR,确保欲实现的功能或修复的问题能正常工作。

Copilot AI review requested due to automatic review settings July 13, 2026 08:35
@LouisLu010
LouisLu010 requested review from a team, Doctor-yoi, DryIce-cc and HelloWRC as code owners July 13, 2026 08:35

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 864a83f841

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ClassIsland/App.axaml.cs
PhonyRootWindow.Show();
PlatformServices.WindowPlatformService.SetWindowFeature(PhonyRootWindow, WindowFeatures.ToolWindow | WindowFeatures.SkipManagement | WindowFeatures.Transparent, true);
UriSource = new Uri(args[0]),
ShowAsMonochrome = args.Length >= 2 && bool.TryParse(args[2], out var r1) && r1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use the second bitmap argument for monochrome parsing

When a bitmap icon expression supplies the optional monochrome flag as the second argument, e.g. bitmap(uri,true), args.Length is 2 but this indexes args[2], causing the handler to throw and IconExpressionHelper.TryParse to return false. In that scenario the icon expression silently fails instead of applying the flag; this should read the second argument (args[1]).

Useful? React with 👍 / 👎.

Comment thread ClassIsland/App.Services.xaml.cs Outdated
VerticalSafeAreaPx = 20
});
// 教程
if (System.OperatingSystem.IsWindows() || System.OperatingSystem.IsMacOS() && System.OperatingSystem.IsLinux())

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Register tutorials on non-Windows desktop platforms

On macOS and Linux this condition can never pass, because a process cannot be both IsMacOS() and IsLinux(). As a result the built-in getting-started tutorial group is only registered on Windows, so desktop users on macOS/Linux lose the tutorial despite the surrounding platform checks elsewhere treating all three as desktop platforms.

Useful? React with 👍 / 👎.

<ApplicationTitle>ClassIsland</ApplicationTitle>
</PropertyGroup>
<PropertyGroup Condition="'$(BrandType)' == 'Beta'">
<ApplicationId>cn.classisland.android,beta</ApplicationId>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Replace the comma in the Android beta application ID

When building the Android project with BrandType=Beta, this sets the application ID to cn.classisland.android,beta; Android application/package IDs cannot contain commas, so beta APK packaging/manifest validation will fail or produce an unusable package for that build flavor. This looks like the production/dev pattern intended cn.classisland.android.beta.

Useful? React with 👍 / 👎.

@HelloWRC
HelloWRC changed the base branch from develop/v2/platform/osx to develop/v2/misha-alpha July 13, 2026 08:44
@HelloWRC

Copy link
Copy Markdown
Member

@codex review

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants